Initial commit
This commit is contained in:
137
docs/adr/011-conformite-stores-carplay-android-auto.md
Normal file
137
docs/adr/011-conformite-stores-carplay-android-auto.md
Normal file
@@ -0,0 +1,137 @@
|
||||
# ADR-011 : Conformité App Stores et Plateformes Auto
|
||||
|
||||
**Statut** : Accepté avec actions requises
|
||||
**Date** : 2026-01-20
|
||||
|
||||
## Contexte
|
||||
|
||||
RoadWave est une app audio géolocalisée utilisée en conduite (CarPlay/Android Auto) avec :
|
||||
- Contenu généré par utilisateurs (UGC)
|
||||
- Monétisation : publicités géolocalisées + Premium (4.99€ web / 5.99€ IAP)
|
||||
- GPS en arrière-plan
|
||||
- Partage de revenus avec créateurs (70/30)
|
||||
|
||||
## Décision
|
||||
|
||||
**Stratégie de conformité multi-plateforme** avec :
|
||||
- Modération UGC robuste (IA + humain)
|
||||
- Prix différenciés selon région (US/EU/Monde)
|
||||
- GPS avec disclosure complète
|
||||
- Paiements créateurs externes (Mangopay)
|
||||
|
||||
## Plateformes analysées
|
||||
|
||||
| Plateforme | Conformité | Points critiques |
|
||||
|------------|------------|------------------|
|
||||
| **Android Auto** | ✅ Conforme | API Level 35+ (Android 15+) |
|
||||
| **CarPlay** | ✅ Conforme | Entitlement audio à demander |
|
||||
| **Google Play** | ⚠️ Actions requises | Déclaration GPS + UGC modération |
|
||||
| **App Store** | ⚠️ Actions requises | Prix différenciés US/EU |
|
||||
|
||||
## Conformité détaillée
|
||||
|
||||
### Android Auto / CarPlay ✅
|
||||
- 100% audio (pas de vidéo)
|
||||
- Commandes standard au volant
|
||||
- Aucun achat in-car
|
||||
- Like automatique = sécurité maximale
|
||||
- **Notifications géolocalisées** : sonore uniquement en mode CarPlay/Android Auto (pas d'overlay visuel)
|
||||
- **Action** : Demander CarPlay Audio Entitlement (Apple)
|
||||
|
||||
### Google Play ⚠️
|
||||
|
||||
**UGC (critique)** :
|
||||
- Modération hybride IA + humain ✅
|
||||
- 3 premiers contenus validés manuellement ✅
|
||||
- Système de strikes (4 = ban) ✅
|
||||
- Signalement + blocage utilisateurs ✅
|
||||
|
||||
**GPS Background (critique)** :
|
||||
- Permission "Always Location" = **OPTIONNELLE**
|
||||
- Demandée uniquement pour mode piéton (notifications arrière-plan audio-guides)
|
||||
- Justification Play Console :
|
||||
> "RoadWave permet aux utilisateurs de recevoir des alertes audio-guides lorsqu'ils passent à pied près de monuments/musées, même quand l'app est en arrière-plan. Cette fonctionnalité est optionnelle et peut être désactivée dans les paramètres."
|
||||
- In-app disclosure obligatoire (écran dédié avant demande permission)
|
||||
- Si refusée : app fonctionne en mode voiture uniquement
|
||||
- **Action** : Remplir formulaire background location Play Console avec justification
|
||||
|
||||
**Réponses formulaire Play Console** :
|
||||
|
||||
| Question | Réponse |
|
||||
|----------|---------|
|
||||
| Why does your app need background location? | "RoadWave offers optional pedestrian mode: users receive push notifications when passing near audio-guide points (museums, monuments) even when app is in background. This feature is opt-in and can be disabled in settings." |
|
||||
| Is this feature core to your app? | "No. This is an optional feature. Users can use RoadWave without background location permission (in-car mode works with foreground location only)." |
|
||||
| What user value does this provide? | "Pedestrian users (tourists, museum visitors) can keep phone in pocket and receive audio-guide alerts automatically without opening the app." |
|
||||
| Does a less invasive alternative exist? | "Yes. Users can use manual navigation (open app, select audio-guide). Background location is a convenience feature for hands-free experience." |
|
||||
|
||||
### App Store ⚠️
|
||||
|
||||
**Prix différenciés (légaux depuis 2025-2026)** :
|
||||
- 🇺🇸 US : Lien externe autorisé (0% commission)
|
||||
- 🇪🇺 EU : Paiement externe DMA (7-20% commission réduite)
|
||||
- 🌍 Monde : IAP obligatoire (30% commission)
|
||||
|
||||
**UGC** :
|
||||
- Mode Kids obligatoire (filtrage selon âge) ✅
|
||||
- Système de modération + signalement ✅
|
||||
|
||||
**GPS Background (critique)** :
|
||||
- Permission "Always Location" = **OPTIONNELLE**
|
||||
- Deux strings Info.plist requises :
|
||||
- `NSLocationWhenInUseUsageDescription` : explication mode voiture
|
||||
- `NSLocationAlwaysAndWhenInUseUsageDescription` : explication mode piéton (optionnel)
|
||||
- In-app disclosure obligatoire avant demande "Always"
|
||||
- Flux two-step : When In Use → Always (si user active mode piéton)
|
||||
- Si refusée : app fonctionne en mode voiture uniquement
|
||||
- **Action** : Voir strings détaillés dans [05-interactions-navigation.md](../regles-metier/05-interactions-navigation.md#512-mode-piéton-audio-guides)
|
||||
|
||||
### Revenus créateurs
|
||||
|
||||
**Position** : Paiements créateurs = "services" (comme YouTube/Uber), pas IAP
|
||||
- Paiement via Mangopay Connect (externe)
|
||||
- Commission stores uniquement sur Premium (IAP)
|
||||
- Comparables : YouTube AdSense, TikTok Creator Fund, Uber
|
||||
|
||||
## Actions bloquantes avant soumission
|
||||
|
||||
| Action | Plateforme | Deadline | Complexité |
|
||||
|--------|-----------|----------|------------|
|
||||
| Demander CarPlay Audio Entitlement | Apple | Avant soumission iOS | Faible |
|
||||
| Remplir formulaire background location avec justification | Google Play | Avant soumission Android | Faible |
|
||||
| Implémenter disclosure GPS (écran dédié mode piéton) | iOS + Android | MVP | Moyenne |
|
||||
| Rendre permission "Always Location" optionnelle | iOS + Android | MVP | Moyenne |
|
||||
| Désactiver overlay visuel notification en CarPlay/Android Auto | iOS + Android | MVP | Moyenne |
|
||||
| Mettre à jour strings Info.plist avec justifications détaillées | iOS | MVP | Faible |
|
||||
| Finaliser système modération UGC | Google + Apple | MVP | Élevée |
|
||||
|
||||
**Estimation totale** : +5 jours développement avant soumission stores
|
||||
|
||||
## Stratégie de lancement
|
||||
|
||||
**Phase 1 - MVP** :
|
||||
- IAP uniquement (5.99€/mois mondial)
|
||||
- Modération UGC active
|
||||
- GPS avec disclosure
|
||||
- CarPlay/Android Auto basique
|
||||
|
||||
**Phase 2 - Post-validation** :
|
||||
- Prix différenciés US (lien externe 4.99€)
|
||||
- Paiement externe EU (DMA)
|
||||
- Monétisation créateurs (Mangopay)
|
||||
|
||||
## Conséquences
|
||||
|
||||
- Formation équipe sur politiques stores
|
||||
- Suivi des métriques modération (% rejet, SLA)
|
||||
- Migration iOS 26 SDK (Avril 2026)
|
||||
- API Level 35 Android (2026)
|
||||
- Communication transparente GPS/publicités
|
||||
|
||||
## Sources
|
||||
|
||||
- [Android Auto Media Apps](https://developer.android.com/training/cars/media)
|
||||
- [CarPlay Developer Guide](https://developer.apple.com/carplay)
|
||||
- [Google Play UGC Policy](https://support.google.com/googleplay/android-developer/answer/9876937)
|
||||
- [App Store Guidelines](https://developer.apple.com/app-store/review/guidelines/)
|
||||
- [Apple DMA Update EU](https://www.revenuecat.com/blog/growth/apple-eu-dma-update-june-2025/)
|
||||
- [Google Background Location 2026](https://support.google.com/googleplay/android-developer/answer/9799150)
|
||||
Reference in New Issue
Block a user