PUSH NOTIFICATION
📋 Vue d'ensemble​
L'interface PUSH NOTIFICATION permet aux applications mobiles de recevoir les notifications push envoyées depuis le BACKEND.
📱 Inscription au serveur de notification​
Pour pouvoir recevoir les notifications, les téléphones doivent récolter un token auprès des serveurs de notifications. Cette étape est réalisée par le module React-Native Expo-notification présent dans l'application (Documentation Expo Notifications).
Scénario d'inscription​
L'inscription au serveur de notification s'effectue selon le processus suivant :
- Vérification des permissions de notifications et demande de permissions si nécessaire
- Récupération du token via les méthodes Expo Notifications
- Envoi du token au Backend pour permettre l'envoi de notifications au téléphone de l'utilisateur
📝 Détails sur les notifications​
Android​
| Champ | Limite |
|---|---|
| Titre | 65 caractères max |
| Description | 240 caractères max |
| Destinataire | 1 device (token unique) |
| otherData | Données JSON |
Apple (iOS)​
| Champ | Limite |
|---|---|
| Description | 178 caractères max (correspondance avec Android via concaténation Titre - Description) |
| Destinataire | 1 device (token unique) |
| otherData | Données JSON |
🎯 Format unifié des notifications​
Dans un but de simplification et d'uniformisation, une notification respecte le format suivant :
| Élément | Spécification |
|---|---|
| Titre | 35 caractères max |
| Description | 140 caractères max |
| Destinataire | 1 device (représenté par un token unique) |
| otherData | Données JSON représentant le modèle de donnée à l'origine de l'envoi de la notification |
📲 Réception d'une notification​
Le téléphone gère nativement (sans développement spécifique) la réception d'une notification push.
Cependant, l'application peut gérer l'action de tap (appui) effectué sur la notification.
Gestion du tap​
Le but du tap est de rediriger l'utilisateur au bon endroit de l'application :
- Niveau piscine
- Niveau produit d'une piscine
Pour cela, on retrouve dans la donnée otherData :
- âś… L'identifiant unique d'une piscine
- âś… L'identifiant unique d'un produit d'une piscine
Ces données proviennent de la sérialisation des modèles ProductEventData.
📚 Références​
- Expo Notifications Documentation
- Interface HTTPS-FIREBASE (pour l'envoi depuis le Backend)