Panel Web — notifications et intégration avec le Game
Rôle et comportement actuel
Le flux de communication actuel du Game envoie uniquement des notifications. L'ancien parcours de chat ne doit plus être présenté comme le fonctionnement courant. Cette page regroupe l'intégration avec le backend du panel Web, la persistance des notifications et leur réception côté client.
Le logbook est un système métier distinct, avec son propre document, son historique et son évaluation. Il possède une page dédiée dans Commun.
Deux canaux complémentaires
| Canal | Responsabilité | Points d'entrée |
|---|---|---|
| Backend Web | Enregistrer et charger les notifications. | /saveNotification et /getNotifications/<teacherUid> |
| BrainCloud RTT | Avertir le client connecté de l'arrivée d'une notification. | new_notification |
La réception temps réel complète le chargement des données persistées. Un client qui se connecte après l'envoi doit pouvoir retrouver ses notifications sans avoir reçu le message RTT.
Envoi depuis Unity
- Le code métier appelle
Game.NotificationManager.SaveNotification(). NotificationManager.SaveNotification()passe parBackEndBase.SaveNotification().- L'appel utilise l'endpoint Web
/saveNotification. - Une nouvelle notification peut être signalée au client via
new_notification.
Le chemin Web doit être vérifié séparément du chemin Cloud Script. Pour les opérations BrainCloud communes, voir Backend Unity ↔ BrainCloud; pour les listeners, voir RTT, messages et synchronisation.
Chargement et affichage
Le chargement des notifications du professeur passe par /getNotifications/<teacherUid>. Vérifier l'identifiant du destinataire lorsque la liste est vide ou contient des notifications inattendues.
Les données et le rendu côté Unity passent par NotificationData et NotificationListItem. Le notificationType identifie le type de notification; extraData transporte les informations nécessaires à son affichage ou à son comportement.
Ajouter un type de notification
- Choisir un
notificationTypestable et explicite. - Définir les champs de
extraDatadont le client a besoin. - Déclencher l'envoi via
Game.NotificationManager.SaveNotification(). - Adapter
NotificationDataetNotificationListItemsi le type nécessite un rendu ou une action spécifique. - Ajouter les textes localisés.
- Vérifier le chargement initial, la réception RTT, le marquage comme lu et la suppression.
Vérification et diagnostic
- Notification non enregistrée : vérifier l'appel Web à
/saveNotificationet sa réponse. - Liste vide après connexion : vérifier
/getNotifications/<teacherUid>, le destinataire et la donnée persistée. - Donnée présente mais pas de mise à jour live : vérifier
new_notification, le listener RTT et le rafraîchissement de l'UI. - Affichage incorrect : vérifier le type,
extraData, le rendu et les textes localisés.
Tester avec un destinataire connecté puis déconnecté, relancer le client et vérifier l'absence de doublons. Une notification persistée doit rester accessible après reconnexion.