Activités en direct Introduction et configuration – Partie 2

Introduction
Dans Partie 1 Nous avons appris comment mettre en place des activités en direct à partir de zéro. Nous avons appris comment configurer, concevoir et mettre en œuvre des activités en direct pour différents modes de l’iPhone, y compris l’écran de verrouillage et l’île dynamique. Nous avons appris le cycle de vie de l’activité de l’application. Comment démarrer, mettre à jour et mettre fin à une activité à partir de l’application uniquement. Mais le véritable pouvoir des activités en direct survient lorsqu’il fonctionne avec une notification push backend lorsque l’application est dans un état tué. Pour mettre à jour les utilisateurs sur les nouvelles actions sur cette activité via des notifications push, montrez l’utilisation réelle de cette API. Dans cette partie, nous découvrirons le cycle de vie des activités en direct grâce à des notifications push.
Notifications push pour les opérations de cycle de vie
Démarrer une activité
Sur les appareils avec iOS 17.2 ou plus récents, il est possible d’obtenir le jeton de poussée sans démarrer l’activité en direct. Pour ce faire, nous devons observer le Passostarttokenupdates Séquence asynchrone. Une fois que nous l’avons reçu et l’envoyons au backend, il est possible de démarrer l’activité en direct à chaque fois en utilisant la notification push.

Démarrer une activité
Mettre à jour l’activité
Nous devons envoyer le jeton de poussée spécial à notre backend pour recevoir des mises à jour d’activité en direct. Après avoir commencé l’activité en direct, ce jeton de poussée est possible. L’instance d’activité a une séquence asynchrone conjonulesqui émet le jeton push à chaque fois qu’il est mis à jour.

Mettre à jour le jeton
Une fois que nous recevons le nouveau jeton Push, nous devons l’envoyer à notre backend. Il est important de noter que ce jeton push peut changer pendant le cycle de vie de l’activité en direct, nous devons donc continuer à observer les mises à jour de jeton push et l’envoyer chaque fois qu’elle change.
Activité finale
Une fois notre événement terminé, nous pouvons facilement terminer cette activité en direct particulière en envoyant une notification de push final sur le même jeton de mise à jour.
Charges utiles de notification push
Il est important de comprendre comment fonctionne l’ensemble du système. C’est pourquoi nous parlerons de ce qui devrait être envoyé dans la charge utile de la demande au service de notification push Apple (APN).
Ci-dessous, vous pouvez voir la charge utile nécessaire pour démarrer une activité en direct (pour iOS 17.2).
- Le champ d’événement a un commencer valeur.
- Le État de contenu le champ doit correspondre exactement au LivematchScoreAtTributes.
- Le attributs Field définit le type d’activité en direct que nous aimerions commencer; Dans notre cas, c’est LivematchScoreAtTributes.
- La section d’alerte rend le périphérique en surbrillance comme une notification standard. Il est recommandé de l’inclure lors du démarrage de l’activité en direct pour attirer l’attention des utilisateurs que la nouvelle activité en direct a commencé.

Démarrer la charge utile de l’activité
Ci-dessousvous pouvez voir la charge utile pour mettre à jour l’activité en direct.
- Le champ d’événements a une valeur de mise à jour.
- La chose vitale à noter est que l’horodatage doit changer avec chaque nouvelle notification. Si nous continuons à envoyer des mises à jour en direct sur l’activité avec le même horodatage, le système ne metra pas à jour l’activité en direct.
- Le État de contenu le champ doit correspondre exactement au LivematchScoreAtTributes.
- Il n’est pas nécessaire d’envoyer des attributs représentant les données de type statique et des attributs.

Mettre à jour la charge utile de l’activité
Enfin, vous pouvez vérifier la charge utile pour mettre fin à l’activité en direct ici-
- L’événement sur le terrain a un fin valeur.
- Le État de contenu Le champ contient l’état d’activité en direct final qui sera affiché avant de se terminer par le système. date de licenciement Le champ définit lorsque le système devrait supprimer l’activité en direct. Pour supprimer immédiatement l’activité en direct, la valeur de date de licenciement doit être dans le passé. Si aucune date n’est fournie, elle sera supprimée dans une fenêtre de 4 heures. Si la date fournie est plus de 4 heures plus tard, la date sera ignorée et le retrait aura lieu après 4 heures.

Charge utile de l’activité finale
En-têtes de notifications push
Pour identifier la demande de notification push comme une activité en direct, elle doit inclure des en-têtes spéciaux, et les en-têtes clés comprennent:
- apns-topic: Cela devrait être défini sur
.push-ype.liveActivity. - Type apns-push: Réglez ceci sur la liveactivité.
- APNS-priorité: Cela détermine la priorité de la notification push. Pour le livrer immédiatement, réglez-le à 10.
- autorisation: Il s’agit du jeton d’autorisation pour la notification push.
Tester les notifications push d’activité en direct
Remarque: assurez-vous que les notifications sont correctement configurées dans votre projet et les certificats Apple. De plus, l’activité en direct prend en charge les notifications basées sur des jetons.
Tous les ensembles. Nous avons tout configuré maintenant et nous pouvons tester les notifications push via tout testeur de notification jusqu’à ce que notre système backend soit prêt.
Regardons ces champs et donnons-leur les valeurs appropriées:
- Jeton de l’appareil – C’est le jeton à poussée que nous obtenons lors de l’observation des mises à jour de jeton push, elle a été décrite plus tôt.
- paquet – Ce champ devrait être l’ID de bundle d’application. (Bundleid.push-Type.LiveActivity)
- apns-push-type – Cela devrait être réglé sur l’activité en direct.
- apns-push-priorité – Cela détermine la priorité des notifications push, il est préférable de le mettre en haut pour s’assurer que la notification push est livrée immédiatement.
- charge utile – Dans ce domaine de texte, nous devons simplement coller la charge utile de notification de la notification en direct avec la valeur de l’état de contenu approprié.
Maintenant, appuyez sur ce bouton Envoyer et voyons la mise à jour de l’activité en direct en action!
Conclusion
Pour soutenir plusieurs types d’activités, des animations et d’autres ne sont toujours pas couverts. Il y a beaucoup plus à explorer. Si votre activité est opérationnelle, les applaudissements, vous avez fait un excellent travail. Heureux de discuter de plus de possibilités autour de lui.
Source
https://developer.apple.com/documentation/activitykit/displaying-live-data-with-live-activities
Vous avez trouvé cela utile? PARTAGEZ-LE
Source link