Maison  >  Article  >  interface Web  >  Comment implémenter la notification iOS dans Uniapp

Comment implémenter la notification iOS dans Uniapp

PHPz
PHPzoriginal
2023-04-20 13:50:01923parcourir

Avec la popularité des smartphones, les applications mobiles se sont progressivement développées. Afin de rappeler les utilisateurs en temps réel, le système d'exploitation propose une fonction de notification de messages. Parmi eux, iOS détient une part importante du marché mondial des smartphones et sa fonction de notification a beaucoup attiré l'attention. Comment implémenter la fonction de notification iOS sous le framework uniapp ?

1. Connaissance de base des notifications iOS

La notification fait référence à un message d'invite qui apparaît au niveau du système lorsque l'application est ouverte ou fermée. Les notifications iOS sont divisées en deux types : les notifications locales et les notifications à distance. Les notifications locales sont déclenchées directement par l'application, tandis que les notifications à distance sont envoyées par le serveur aux APN (service Apple Push Notification).

Les notifications locales peuvent être ajoutées en appelant la méthode add de la classe UNUserNotificationCenter et sont affichées lors du fonctionnement de l'application. Elles impliquent principalement les méthodes suivantes :

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

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

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

Les notifications à distance reposent principalement sur les APN. La construction et le push du contenu des notifications. sont terminés côté serveur.

2. uniapp implémente les notifications locales iOS

uniapp encapsule une API unifiée adaptée à chaque plateforme. Si vous souhaitez implémenter des notifications locales sur iOS, vous devez appeler la méthode add de la classe UNUserNotificationCenter pour publier les notifications. Dans le projet uniapp, vous pouvez appeler directement la méthode uni.addLocalNotification pour implémenter les notifications locales.

Lors de l'appel de la méthode uni.addLocalNotification, vous devez transmettre un objet contenant le contenu de la notification et l'heure de déclenchement. Parmi eux, le contenu de la notification doit inclure le titre, le contenu et des informations supplémentaires facultatives. La synchronisation du déclenchement est divisée en trois méthodes : l'heure, l'emplacement et l'état du réseau. Parmi eux, le déclenchement temporel nécessite de définir l'attribut répétitions pour contrôler si la notification est en boucle.

Pendant le processus de mise en œuvre, vous devez faire attention aux problèmes suivants :

  1. Les notifications iOS ne seront pas affichées par défaut lorsque l'application est en cours d'exécution, vous devez donc faire attention pour déterminer si l'application actuelle est au premier plan .
  2. L'heure de déclenchement de la notification doit tenir compte du fuseau horaire actuel.

Voici un exemple :

/**
 * 在指定时间触发通知,如果应用在前台则不展示
 */
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. Importez le fichier pont

Lors de la mise en œuvre des notifications locales, vous devez effectuer certaines configurations dans l'Info.plist de l'application. L'implémentation de cette partie nécessite l'importation du fichier pont, les opérations suivantes doivent donc être effectuées :

1. Ouvrez le projet uniapp dans Xcode et sélectionnez Build Phases->Copier les ressources du bundle.

2. apple. Faites glisser le fichier UNNotificationFramework.framework dans l'explorateur d'applications de Nut Cloud.

3. Ajoutez les informations de description de la demande d'autorisation de notification au fichier Info.plist, le contenu est le suivant :

<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. Résumé

Cet article présente la méthode d'utilisation d'uniapp pour implémenter les notifications locales iOS. En ajoutant des notifications locales, vous pouvez envoyer des messages push aux utilisateurs même lorsque votre application n'est pas en cours d'exécution. Pendant le processus de mise en œuvre, une attention particulière doit être accordée à l’obtention des autorisations et à l’importation de fichiers pont.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn