Repository navigation
Brancher RevenueCat et construire l'écran Premium (E-17) #67
Copy link
Copy link
Open
Labels
area:mobileapps/mobileapps/mobileprio:P0BloquantBloquantstatus:blockedBloqué, voir commentaire ⛔Bloqué, voir commentaire ⛔type:featureNouvelle fonctionnalitéNouvelle fonctionnalité
Milestone
Description
Contexte
Epic : #11
Maquette : E-17, E-05 · validées le 2026-09-29 (D-072 à D-074)
Compte-et-Monetisation · Ecrans · E-17, E-09 · D-002. Niveau 2 : nouveau sous-traitant et flux d'achat.
Comportement attendu (révisé le 2026-09-29, D-072, https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog)
- Quatre produits RevenueCat : abonnement mensuel (3,99 €) et annuel (29,99 €) avec essai de 7 jours ; pass 7 jours non renouvelable (2,99 €) ; déblocage d'un parcours (1,99 €), rattaché au parcours côté serveur (Appliquer les parcours Premium, le déblocage à l'unité et la limite anti-spam dans l'API #66). Prix toujours lus depuis le store.
- E-17 : trois formules (pass 7 jours, annuel, mensuel) ; depuis un parcours, en plus « Seulement ce parcours ». Ordre et présélection selon le profil, calculés sur le téléphone : langue autre que le français ou région hors de France, pass en tête ; sinon l'annuel.
- E-05 : encart d'un parcours Premium avec achat du parcours seul en direct et lien du pass, qui ouvre E-17 avec le pass présélectionné ; parcours débloqué ; pass activé (toast avec date et heure de fin).
- Achat possible sans compte, le compte reste facultatif (règle App Store 5.1.1(v)) ; achats rattachés au compte à la connexion (Appliquer les parcours Premium, le déblocage à l'unité et la limite anti-spam dans l'API #66).
- E-17 ne s'ouvre plus depuis « Créer un parcours » (création gratuite).
- Textes, états (en attente, restauration « Aucun achat Widoo sur ce compte App Store. »), valeurs :
mappings.premiumde tokens.json v34. - Maquettes : E-17, E-05. Reste en planche 2 de Design — révision du freemium : création gratuite, pass 7 jours et déblocage à l'unité (E-17, E-05, E-08, E-09) #210 : pass en cours dans les Réglages, compte facultatif après un achat.
Critères d'acceptation
- Achat sandbox iOS et Android : le compte passe Premium en moins de 10 s et la programmation bloquée s'exécute
- Restaurer les achats sur un nouvel appareil fonctionne
- Aucune clé secrète RevenueCat dans l'app (clé publique seulement)
- Depuis une fiche Premium sans abonnement, le bouton et l'encart ouvrent E-17 ; après achat, la fiche normale revient
- Tous les textes visibles sont au vouvoiement
- Chaque ouverture de E-17 affiche sa raison, et
paywall_shownportereasonetsource - Après un achat ou une restauration réussis, l'app relance la recherche en vidant son cache des résultats, et la carte reçoit les cards Premium déverrouillées (
isLocked: false) sans redémarrage (D-075)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:mobileapps/mobileapps/mobileprio:P0BloquantBloquantstatus:blockedBloqué, voir commentaire ⛔Bloqué, voir commentaire ⛔type:featureNouvelle fonctionnalitéNouvelle fonctionnalité
Activity
IlanAMG commentedon Sep 25, 2026
Planche 1 de E-17 validée le 2026-09-25 (D-040, https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : produits RevenueCat à 3,99 € par mois et 29,99 € par an, offre d'introduction gratuite de 7 jours sur les deux, annuel présélectionné avec pastille « Le plus avantageux » ; page plein écran bleue (mappings.premium, design/design-system/ruban-widoo.svg) ; haut de page selon l'ouverture (photo du parcours ou trois photos) ; deux avantages. Événements d'achat avec la propriété trial. Maquettes : https://github.com/Inprogress-Agency/widoo-app/wiki/Ecrans#e-17--premium. Reste bloqué par #75 (planches 2 et 3).
IlanAMG commentedon Sep 25, 2026
Planche 2 de E-17 validée le 2026-09-25 (D-044, https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog), états à coder (mappings.premium.states) :
Maquettes : https://github.com/Inprogress-Agency/widoo-app/wiki/Ecrans#e-17--premium. Reste bloqué par Design — E-17 écran Premium #75 (planche 3).
IlanAMG commentedon Sep 25, 2026
D-045 (décision d'Ilan, https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : ajouter purchase_failed (reason, hors annulation par l'utilisateur), purchase_pending et purchase_restored (found), avec plan et trial. Détail : https://github.com/Inprogress-Agency/widoo-app/wiki/Analytics
IlanAMG commentedon Sep 25, 2026
Tokens v18 (D-046) arrivent par la synchro automatique. Règle du texte agrandi dans les composants de base : #174.
IlanAMG commentedon Sep 28, 2026
Révision du 2026-09-28 (décision d'Ilan, https://github.com/Inprogress-Agency/widoo-app/wiki/Compte-et-Monetisation#freemium-mvp) : quatre produits RevenueCat au lieu de deux (mensuel, annuel, pass 7 jours non renouvelable, déblocage d'un parcours non consommable par parcours ou consommable rattaché au parcours, à trancher côté technique). E-17 est à redessiner (#210) : needs-design jusqu'à la planche.
IlanAMG commentedon Sep 28, 2026
Prix des nouveaux produits (2026-09-28) : pass 7 jours 2,99 €, déblocage 1,99 € ; prix toujours lus depuis le store.
PaulThiberville commentedon Sep 28, 2026
📋 MANAGER — écart relevé par DESIGN entre la page Analytics et le catalogue (D-067) : Analytics › Action (D-040, D-045) nomme
trialsurpaywall_dismissed,purchase_startedetpurchase_completed, et trois événements absents du catalogue :purchase_failed(plan,trial,reason),purchase_pending(plan,trial) etpurchase_restored(plan,trial,found). Ils reviennent à ce ticket, avec l'écran Premium : catalogue depackages/sharedet émission.PaulThiberville commentedon Sep 29, 2026
📋 MANAGER — pour mémoire : le critère «
paywall_shownémis avec ses propriétés » de #33 est déplacé vers ce ticket. La PR #159 l'a typé et testé danspackages/shared/src/analytics.tssans l'émettre, faute d'écran E-17. Ce ticket porte déjà le critère (« Chaque ouverture de E-17 affiche sa raison, etpaywall_shownportereasonetsource») : corps inchangé.IlanAMG commentedon Sep 29, 2026
D-073 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog), planche 2 de #210 :
lock-open,uiIcons.unlocked-routes)mappings.premiumtokens v35Reste needs-design jusqu'à la planche 3 (états de E-17).
IlanAMG commentedon Sep 29, 2026
D-074 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : E-17 complet (états de l'achat avec les trois formules et le parcours seul : en cours, impossible, en attente, essai déjà utilisé, restauration, rien à restaurer « Aucun pass ni abonnement Widoo sur ce compte App Store. », hors connexion « reconnectez-vous pour acheter », « Pass Premium restauré »), texte agrandi, contrôle accessibilité. needs-design retiré. Reste le point technique : rattacher au compte les achats faits sans compte (#66).
PaulThiberville commentedon Sep 29, 2026
📋 Report de D-075 (2026-09-29, correction de D-066 sur la card de recherche Premium, décision de Paul au nom d'Ilan ; voir #161) : critère ajouté au corps. Après un achat ou une restauration, l'app relance la recherche (cache des résultats vidé) pour recevoir les cards Premium déverrouillées.
PaulThiberville commentedon Oct 14, 2026
📋 MANAGER (2026-10-14), deux points liés à ce ticket :
GET /me(Distinguer le pass et l'abonnement dans GET /me #424) et l'achat « Débloquer ce parcours » de ce ticket ; elle aura son ticket mobile au découpage de Distinguer le pass et l'abonnement dans GET /me #424 ;paywall_dismissedetpurchase_*que ce ticket émet n'acceptent queplanmonthly/annualdans Analytics : ni pass 7 jours ni déblocage (D-072) → Donner aux événements d'achat le pass 7 jours et le déblocage à l'unité #447 (needs-design).IlanAMG commentedon Oct 14, 2026
Chef de projet (2026-10-14) : pour mémoire, D-092 : en attendant ce ticket, l'encart Premium de la fiche (E-05) sans prix du store garde « Débloquer ce parcours » désactivé et n'affiche pas le lien du pass. C'est un état provisoire : il disparaît quand l'achat à l'unité et le pass sont branchés ici.
IlanAMG commentedon Oct 16, 2026
Chef de projet (16/10/2026, décisions d'Ilan en séance) : critère à ajouter, découvert par Marco sur #341 (PR #499) : le webhook RevenueCat laisse intact un compte à
plan_source = gift(Premium offert) et n'écrase pas sa date de fin. Voir aussi #413 (déblocage sans compte rattaché aulogIn).