Heim >Web-Frontend >uni-app >So implementieren Sie die iOS-Benachrichtigung in Uniapp

So implementieren Sie die iOS-Benachrichtigung in Uniapp

PHPz
PHPzOriginal
2023-04-20 13:50:011038Durchsuche

Mit der Beliebtheit von Smartphones haben mobile Anwendungen nach und nach zugenommen. Um Benutzer in Echtzeit daran zu erinnern, bietet das Betriebssystem eine Nachrichtenbenachrichtigungsfunktion. Unter ihnen hat iOS einen wichtigen Anteil am weltweiten Smartphone-Markt und seine Benachrichtigungsfunktion hat viel Aufmerksamkeit erregt. Wie implementiert man die iOS-Benachrichtigungsfunktion im Uniapp-Framework?

1. Grundkenntnisse über iOS-Benachrichtigungen

Benachrichtigung bezieht sich auf eine Aufforderungsmeldung, die auf Systemebene angezeigt wird, wenn die Anwendung geöffnet oder geschlossen wird. iOS-Benachrichtigungen werden in zwei Typen unterteilt: lokale Benachrichtigungen und Remote-Benachrichtigungen. Lokale Benachrichtigungen werden direkt von der Anwendung ausgelöst, während Remote-Benachrichtigungen vom Server an APNs (Apple Push Notification Service) gesendet werden.

Lokale Benachrichtigungen können durch Aufrufen der Add-Methode der UNUserNotificationCenter-Klasse hinzugefügt werden und werden während der Ausführung der Anwendung angezeigt. Sie umfassen hauptsächlich die folgenden Methoden:

// 配置通知内容
const content = {
  title: '通知标题',
  body: '通知内容',
  userInfo: {"key": "value"} // 附加数据
};

// 创建通知
const notification = {
  identifier: 'local-notification', // 首次显示时的标识符
  content: content,
  trigger: {
    repeats: false // 只显示一次
  }
};

// 添加通知
uni.addLocalNotification(notification);

Remote-Benachrichtigungen basieren hauptsächlich auf APNs. Die Erstellung und Übertragung von Benachrichtigungsinhalten werden serverseitig abgeschlossen.

2. uniapp implementiert lokale iOS-Benachrichtigungen

uniapp kapselt eine einheitliche API, die für jede Plattform geeignet ist. Wenn Sie lokale Benachrichtigungen auf iOS implementieren möchten, müssen Sie die Add-Methode der UNUserNotificationCenter-Klasse aufrufen, um Benachrichtigungen zu veröffentlichen. Im Uniapp-Projekt können Sie die Methode uni.addLocalNotification direkt aufrufen, um lokale Benachrichtigungen zu implementieren.

Wenn Sie die Methode uni.addLocalNotification aufrufen, müssen Sie ein Objekt übergeben, das den Benachrichtigungsinhalt und die Auslösezeit enthält. Der Benachrichtigungsinhalt muss unter anderem Titel, Inhalt und optionale Zusatzinformationen enthalten. Das Trigger-Timing ist in drei Methoden unterteilt: Zeit, Ort und Netzwerkstatus. Unter anderem erfordert die Zeitauslösung das Festlegen des Wiederholungsattributs, um zu steuern, ob die Benachrichtigung in einer Schleife erfolgt.

Während des Implementierungsprozesses müssen Sie auf folgende Punkte achten:

  1. iOS-Benachrichtigungen werden standardmäßig nicht angezeigt, wenn die APP ausgeführt wird. Sie müssen daher darauf achten, festzustellen, ob die aktuelle APP im Vordergrund steht .
  2. Der Zeitpunkt, zu dem die Benachrichtigung ausgelöst wird, muss die aktuelle Zeitzone berücksichtigen.

Hier ist ein Beispiel:

/**
 * 在指定时间触发通知,如果应用在前台则不展示
 */
function setNewLocalNotification() {
  const now = new Date();
  const nowStr = now.toLocaleTimeString();
  console.log(`当前时间:${nowStr}`);
  const hour = now.getHours() + 1;
  console.log(`下小时:${hour}`);
  const alarmTime = new Date();
  alarmTime.setHours(hour, 0, 0); // 设置下个小时整点触发
  console.log(`触发时间:${alarmTime.toLocaleTimeString()}`);
  let id = 1;
  uni.addLocalNotification({
    title: 'uniapp',
    body: '时间到了',
    userInfo: {"key": "value"}, // 可附加数据
    trigger: {
      date: alarmTime,
      repeats: false
    },
    identifier: `${id++}`,  
  });
  console.log('添加闹钟成功');
}

3. Importieren Sie die Bridge-Datei

Bei der Implementierung lokaler Benachrichtigungen müssen Sie einige Konfigurationen an der Info.plist der Anwendung vornehmen. Die Implementierung dieses Teils erfordert den Import der Bridge-Datei, daher müssen die folgenden Vorgänge ausgeführt werden:

1 Öffnen Sie das Uniapp-Projekt in Xcode und wählen Sie „Build Phases->Copy Bundle Resources“ aus.

2. Apple. Ziehen Sie die Datei UNNotificationFramework.framework in den Anwendungs-Explorer von Nut Cloud.

3. Fügen Sie die Beschreibungsinformationen der Benachrichtigungsautorisierungsanforderung zur Info.plist-Datei hinzu. Der Inhalt lautet wie folgt:

<key>NSUserNotificationAlertStyle</key>
<string>alert</string>
<key>NSUserNotificationEnabled</key>
<string>YES</string>
<key>NSUserNotificationCenterAlertsEnabled</key>
<string>YES</string>
<key>UIBackgroundModes</key>
<array>
    <string>fetch</string>
    <string>remote-notification</string>
</array>
<key>UNNotificationsUsageDescription</key>
<string>请允许我们发送通知</string>

4. Zusammenfassung

In diesem Artikel wird die Methode zur Verwendung von Uniapp zum Implementieren lokaler iOS-Benachrichtigungen vorgestellt. Durch das Hinzufügen lokaler Benachrichtigungen können Sie Push-Nachrichten an Benutzer senden, auch wenn Ihre Anwendung nicht ausgeführt wird. Während des Implementierungsprozesses muss besonderes Augenmerk auf die Einholung von Berechtigungen und den Import von Bridge-Dateien gelegt werden.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die iOS-Benachrichtigung in Uniapp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn