Exigences
- Votre application doit utiliser la dernière version du OneSignal SDK.
- Les utilisateurs Android doivent avoir les autorisations de notification push activées.
Notifications en direct vs push standard
Contrairement aux notifications push classiques, qui envoient une nouvelle notification à chaque fois, les Notifications en direct utilisent une seule notification mise à jour au fil du temps. Les mises à jour sont envoyées via l’API Create Message en utilisant le mêmecollapse_id.
Configuration
1. Implémenter une Extension de Service de Notification
Créez une classeNotificationServiceExtension qui implémente INotificationServiceExtension. Cette classe intercepte les notifications entrantes et peut les modifier ou les remplacer.
Consultez Extension de Service de Notification Android pour plus de détails.
NotificationServiceExtention.kt
2. Ajouter l’extension au Manifest Android
3. Créer des types de Notification en direct
Un Type de Notification en direct indique quelle Notification en direct démarrer.Définir les clés
Les Notifications en direct sont référencées par unekey, qui détermine comment les mises à jour sont acheminées.
NotificationServiceExtention.kt
Créer des canaux de notification
Les canaux définissent le comportement des notifications (son, vibration, apparence). Vous devez créer des canaux pour vos types de Notification en direct. Nous recommandons :- Importance faible pour les notifications de progression
- Désactiver les badges
- Garder le son et la vibration au minimum
Concevoir la Notification en direct
Lors de la conception d’une Notification en direct, vous avez la flexibilité de créer un design de notification pour chaque type de mise à jour. Chaque design que vous créez doit être assigné à un type spécifique, permettant des présentations variées d’une Notification en direct.NotificationServiceExtention.kt
- Petite icône & couleur d’accentuation
- Grande icône
- Grande image
- Boutons d’action
Consultez Disposition de notification personnalisée Android pour des options de conception avancées.
4. Extraire la charge utile de Notification en direct
Les Notifications en direct utilisent le champadditional_data pour transmettre du contenu structuré.
NotificationServiceExtention.kt
Schéma de Notification en direct
| Propriété | Requis | Description |
|---|---|---|
key | Oui | Utilisée pour charger l’interface utilisateur de notification correcte. |
event | Oui | L’action à effectuer sur la Notification en direct. |
event_attributes | Non | Les données statiques sont utilisées pour initialiser la Notification en direct ; un schéma auto-défini qui définit les données nécessaires. |
event_updates | Non | Contenu dynamique de la Notification en direct. Doit se conformer à l’interface ContentState définie dans la Notification en direct. |
Example Live Notification Payload
5. Gérer les événements de Notification en direct
Chaque Notification en direct doit répondre aux événements suivants :| Événement | Description | Champs requis |
|---|---|---|
start | Commence une Notification en direct avec des données statiques et dynamiques. | event_attributes, event_updates |
update | Met à jour la Notification en direct avec de nouvelles données dynamiques. | event_updates |
end | Termine et supprime la Notification en direct. | Aucun |
NotificationServiceExtention.kt
Démarrer une Notification en direct
Lorsque vous êtes prêt à démarrer une Notification en direct :- Définissez
event_attributespour initialiser les données statiques de la Notification en direct. Ces données ne changeront pas pendant la durée de vie de la Notification en direct. - Définissez les données
event_updatespour initialiser les données dynamiques de la Notification en direct. Ce sont les données qui peuvent et vont changer pendant la durée de vie de la Notification en direct. - Un
collapse_idpour s’assurer que chaque mise à jour remplace la précédente. Cet ID doit être unique à la Notification en direct pour garantir que les mises à jour ultérieures sont reflétées dans la même notification.
curl
Mettre à jour une Notification en direct
Vous pouvez mettre à jour la Notification en direct autant de fois que vous le souhaitez, tant qu’elle a été démarrée au préalable.- Définissez les données
event_updatespour initialiser les données dynamiques de la Notification en direct. Ce sont les données qui peuvent et vont changer pendant la durée de vie de la Notification en direct et informent de quoi mettre à jour le contenu de votre Notification en direct.
curl
Terminer une Notification en direct
Exemple de requête cURLcurl
Vous avez créé avec succès une Notification en direct !Documentation connexe :