fix(android): brancher les classements sur les vrais IDs Play Jeux

La console Play génère les IDs de leaderboard (format CgkI…), contrairement
à l'hypothèse de la spec : l'app demandait des boards questions_N inexistants,
d'où un chargement infini et des scores silencieusement perdus. Remplacer le
mapping par la table des vrais IDs (GameConfig.leaderboardId() devient
nullable, null = pas de board) et logguer les échecs GMS jusqu'ici avalés
par runCatching. Spec corrigée en conséquence (§6, §7).
This commit is contained in:
herel committed 2026-08-31 23:11:22 +02:00
1 parent b7c958cd5b
commit 853541d41b
5 files changed
+60 -14

No files matched your search

@@ -92,16 +92,19 @@ interface GamesServices {
23 à 24 — abandon des appareils Android 6, décision produit du 2026-08-28).
- La dépendance GMS reste confinée à `androidApp` ; sharedUI ne dépend que de
l'interface (aucun impact desktop/iOS).
- Les IDs de leaderboard sont définis à la création en console (IDs custom
`questions_5` … `questions_50`), donc le mapping commonMain est trivial et stable.
- Les IDs de leaderboard sont générés automatiquement par la console (format `CgkI…`,
non personnalisables — correction 2026-08-31 : le mapping commonMain est donc une
table en dur des IDs réels, `GameConfig.leaderboardId(): String?`, `null` si le
nombre de questions n'a pas de board).
## 7. Prérequis Play Console (manuel, hors code)
1. Créer l'app dans Play Console (package `com.livrets.androidApp`).
2. Jouer → Play Jeux Services : créer le jeu, lier l'app Android, ajouter les
empreintes SHA-1 debug et release.
3. Créer les 10 leaderboards avec IDs `questions_5` … `questions_50`
(« 5 questions » … « 50 questions »).
3. Créer les 10 leaderboards (« 5 questions » … « 50 questions ») ; la console génère
les IDs (`CgkI…`), à reporter dans `Leaderboards.kt` (correction 2026-08-31 : pas
d'ID personnalisable).
4. Ajouter des testeurs PGS pour valider la connexion en développement.
Sans ce setup, toutes les opérations échouent silencieusement : aucune régression