Notifications et présence
Notifications envoyées par le Game
Le Game envoie les notifications au backend Web. Game.NotificationManager.SaveNotification() appelle BackEndBase.SaveNotification(), qui effectue POST /saveNotification avec userUid, notificationType, isImportant et extraData.
L'inbox, les notifications temps réel et le push sont documentés dans Notifications et Push.
L'interface accessible au-dessus du jeu possède sa propre page : Panel Web — interface superposée au jeu et intégration Unity. Elle décrit la barre d'outils, le support intégré, le centre de notifications et le cycle d'ouverture.
Présence : connexion et évaluation
La présence comprend deux données différentes :
| Notion | Rôle | Mécanisme |
|---|---|---|
| Connexion / online | Savoir si l'utilisateur est connecté. | Endpoint heartbeat, appelé environ toutes les 5 secondes. |
| Présence évaluée | Enregistrer la présence dans le contexte pédagogique By Year. | set_presence.js et les stubs annuels de présence. |
Un utilisateur connecté n'implique pas automatiquement une note de présence, et une présence évaluée ne garantit pas que l'utilisateur est actuellement connecté.
Enregistrement de la présence
set_presence.js charge userDetails, puis la simulation et l'activité pour maintenir la présence dans le contexte courant.
En By Year, startYear() initialise un nouveau stub de présence pour les étudiants. Les helpers setYearPresence() et deleteYearPresence() maintiennent les données lors des changements d'état. Une réouverture doit traiter la présence de l'année concernée correctement.
Voir Évaluations, logbook, scénarios et rankings By Year pour le cycle annuel et Système d'évaluation commun pour les évaluations.
Diagnostic
- Statut online incorrect : vérifier le heartbeat et la connexion du client.
- Présence évaluée incorrecte : vérifier
userDetails, la simulation, l'activité, l'année et le traitement deset_presence. - Notification absente : vérifier l’envoi à
/saveNotificationpuis le traitement Web décrit dans Notifications et Push.