GH GambleHub

Centre de notification et événements

1) Destination

Le centre de notification fournit une rétroaction entre le système et l'utilisateur sans perturber le flux d'activité. Il enregistre les événements asynchrones (paris, transactions, bonus, statuts KYC) et fournit un seul endroit pour consulter les notifications, les filtrer et les gérer.

Principes fondamentaux :
  • Informer sans distraire.
  • Hiérarchiser plutôt que dupliquer.
  • Donner des actions là où elles sont appropriées.

2) Types de notifications et leur application

TypeExempleUtilisation
Toast / SnackbarTaux accepté, Erreur réseauNotifications à court terme de 3 à 5 secondes ; disparaissent d'eux-mêmes.
Persistent bannerVous devez mettre à jour KYCImportant, mais pas urgent ; restent jusqu'à l'action de l'utilisateur.
Badge / Indicatorsur l'icône « »Signal de nouveaux événements.
Inbox / FeedCentre de notificationChronologie et historique des notifications.
System modalDéconnexion, Erreur de paiementDéfaillances critiques ; exigent une confirmation.

3) Priorités et niveaux d'importance

1. Critical (erreur, panne, sécurité) - nécessitent une attention immédiate (Modal/Banner).
2. Importateur (paiement, mise, cache) - Toast + entrée au centre de notification.
3. Informational (nouvelles, bonus) - Badge et bande.
4. Social (amis, chats, tournois) - notifications groupées qui ne bloquent pas l'IU.

Règle UX : « Pas plus d'une notification active par écran ».

S'il y en a plus, combinez : « 3 nouveaux événements ».

4) Architecture du centre de notification

4. 1 Source des événements

Backend → Event Bus → Notification Service → UI.
Les événements sont classés : 'type', 'severity', 'context', 'ttl', 'userId'.
Sont enregistrés dans 'notification _ store' (Redis + DB).

4. 2 Flux client

WebSocket / SSE для real-time.
État local → lazy-chargement 10-20 notifications.
API Push (mobile/navigateur) - en option, avec le consentement de l'utilisateur.

4. 3 Modèle de données (exemple)

json
{
"id": "n12345",
"type": "deposit_success",
"severity": "info",
"title": "Replenishment successful,"
"message": "You made 500 ₴ through Papara,"
"timestamp": "2025-11-03T19:20:00Z",
"context": { "transactionId": "tx123" },
"read": false,
"action": {"label": "View," "url": "/wallet/history "}
}

5) Composants UI

5. 1 Icône et badge

Affiche le nombre de non lus ('≤ 99').
Un clic ouvre le panneau/centre de notification.
'Aria-label = 'Il y a de nouvelles notifications' ; à zéro, "aria-hidden =" vrai ".

5. 2 Panneau de notification

Liste des cartes : icône → titre → texte court → temps → CTA.
États : Nouveau, lu, erreur de livraison, téléchargé à partir de l'archive.
Groupement par date : Aujourd'hui, hier, plus tôt.

5. 3 Carte de notification

html
<article class="notif new" role="article">
<div class="icon success"></div>
<div class="content">
<h4> Replenishment successful </h4>
<p> 500 ₴ via Papara </p>
<time datetime =" 2025-11-03T19: 20"> 5 min ago </time>
</div>
<button class =" icon" aria-label = "Delete"> </button>
</article>

6) États et actions

Nouveau : mis en surbrillance par la couleur/l'arrière-plan.
Lu : plus pâle ; n'a pas de badge.
Erreur : icône + Retry.
Système : n'est pas supprimé, seulement archivé.

Actions :
  • Swipe (mobile) → supprimer/lire.
  • Boutons : Plus, Répéter, Masquer.
  • Actions de masse : Marquer tout ce que vous avez lu, Effacer tout.

7) Principes visuels

Maximum de 3 lignes de texte dans la notification.
Le titre est gras, jusqu'à 50 caractères.

Codage des couleurs :
  • Succès - vert/' accent-success '
  • Erreur - rouge/' accent-danger '
  • Informations - bleu/' accent-info '
  • Attention - orange/' accent-warning '
  • Le contraste est ≥ AA, les ombres sont minimes.
  • Animations : fade/slide ≤ 160 ms, pas de mouvements constants.

8) Timings et affichage

Toast : 3-5 secondes, avec une pause à hover.
Banner : avant l'action.
Badge : tant qu'il y en a qui ne sont pas lus.
Inbox : stockage par TTL (par exemple, 14-30 jours).
Auto-close lorsque vous perdez la mise au point de l'écran - attention (ne pas perdre les statuts importants).

9) A11y et clavier

Toast a 'role = « status » (ou' alert 'pour les erreurs).
Le centre de notification est 'role =' region 'avec' aria-label = 'Centre de notification'.
Prise en charge de la navigation par les flèches et Tabulation/Shift + Tabulation.
VoiceOver : lecture de nouvelles notifications lors de l'ajout ('aria-live =' polite ').
Le focus ne « saute » pas à l'arrivée - seulement si toast est critique.

10) Performance

Chargement paresseux et pagination (20-30).
Compression de données ('gzip '/' br'), regroupement de requêtes.
WebSocket reconnection + backoff.
Les animations sont uniquement sur « bou/opacity ».

11) Scripts iGaming

11. 1 Paris et cache

« Taux accepté », « Coefficient changé », « Cache effectué » - toast + enregistrement dans la bande.
En cas d'erreur - toast « Impossible de mettre », banner avec Retry.

11. 2 Paiements

« Reconstitution réussie » → toast.
La sortie dans le traitement → l'enregistrement dans la bande, ETA et le bouton Plus.
Erreur PSP → red toast + CTA Retry.

11. 3 Bonus et promotions

Banner sur l'écran d'accueil : « Nouveau tournoi », « Bonus de dépôt ».
Le Centre de notification conserve l'historique de toutes les promotions.
Possibilité de cacher/se désabonner des types de marketing.

11. 4 KYC et la sécurité

Banner persistant jusqu'à la fin de la vérification.
« KYC confirmé » → green toast + archive dans le ruban.
Le document a expiré → la notification + CTA a été mise à jour.

12) Métriques

CTR des notifications (par type).
Taux de dismiss (combien fermé sans action).
Unread count avg и time-to-read.
Delivery success rate (для realtime).
Latitude entre l'événement et le spectacle (objectif de ≤ 300 ms).
Taux d'erreur/Retry lors de la livraison WebSocket/Push.

13) Anti-modèles

Sons et pop-ups à chaque événement.
Minuteurs auto-close imprévisibles.
Répétez les mêmes notifications.
Screenblockers sans raison (« confirmer », « redémarrer »).
Utilisation des notifications comme marketing-spam.
Centre sans filtres/recherche à> 50 événements.

14) Tokens de système de conception

json
{
"toast": {
"durationMs": 4000,
"maxWidth": 400,
"gap": 12,
"radius": 10,
"shadow": "var(--elev-3)"
},
"badge": {
"size": 18,
"color": "var(--accent-info)"
},
"panel": {
"width": 380,
"radius": 12,
"gap": 8,
"padding": "12 16"
},
"a11y": {
"ariaLive": "polite",
"contrastAA": true
}
}

15) Liste de vérification QA

Fonctionnalité

  • Livraison en temps réel ≤ 300 ms.
  • Toast s'affiche ≤ 100 ms après l'événement.
  • Centre synchronisé (read/unread).
  • La masse « lire tout » fonctionne.

UX

  • Pas plus de 1 toast en même temps.
  • La durée de vie des notifications est optimale (3-5 secondes).
  • Des avis importants restent en suspens.
  • Texte ≤ 3 lignes, CTA une.

A11y

  • 'role = « status » '/' aria-live' sont corrects.
  • La navigation par les flèches et l'onglet fonctionne.
  • Contraste ≥ AA.

Performance

  • Pagination et lazy-load.
  • Pas de frisottis à> 100 notifications.
  • Compression des données et rendu différé.

16) Documentation dans le système de conception

Компоненты: `Toast`, `NotificationItem`, `NotificationCenter`, `BadgeIndicator`.
Hydes : priorités de notification, TTL, groupement, copywriting.
Patterns : toast pour les événements instantanés, banner pour les événements importants, centre pour l'histoire.
Do/Don't-gallery : « spamming notifications » vs « tranquillité d'esprit ».

Résumé succinct

Le centre de notification n'est pas seulement un « inbox » d'événements, mais une architecture de confiance et de transparence. Les notifications bien conçues créent un sentiment de contrôle : tout ce qui est important est livré, rien ne manque, le bruit est supprimé. Pour iGaming, c'est critique - il est important pour l'utilisateur de voir la confirmation des paris, des paiements et des statuts sans se distraire du jeu.

Contact

Prendre contact

Contactez-nous pour toute question ou demande d’assistance.Nous sommes toujours prêts à vous aider !

Commencer l’intégration

L’Email est obligatoire. Telegram ou WhatsApp — optionnels.

Votre nom optionnel
Email optionnel
Objet optionnel
Message optionnel
Telegram optionnel
@
Si vous indiquez Telegram — nous vous répondrons aussi là-bas.
WhatsApp optionnel
Format : +code pays et numéro (ex. +33XXXXXXXXX).

En cliquant sur ce bouton, vous acceptez le traitement de vos données.