Soumettre votre première application à l'App Store ou à Play Store peut sembler débordant. Avec des lignes directrices en constante évolution et une application plus stricte en 2026, obtenir votre application approuvée nécessite une attention soigneuse au détail. Ce guide complet vous guide tout ce dont vous avez besoin pour passer l'examen sur votre première soumission pour les deux plateformes iOS et Android.
Comprendre le processus d'examen en 2026
Les deux Apple et Google ont considérablement resserré leurs processus d'examen ces dernières années, avec une accent particulier sur la vie privée, la sécurité et l'expérience utilisateur. Comprendre ces changements est crucial pour les développeurs débutants.
Échéancier de l'examen de l'App Store iOS
- Examen standard: 24-48 heures
- Périodes de pointe: 3-5 jours (surtout pendant les saisons de vacances)
- Week-ends: Aucune revue traitée
- Examen Accéléré: Disponible pour les correctifs de bogues critiques (doit être demandé via App Store Connect)
Conseil Pro: Soumettez-vous tôt dans la semaine (lundi-mardi) pour éviter les retards du week-end. Les soumissions du lundi sont généralement examinées mercredi.
États de la connexion App Store que vous verrez
- Préparez-vous à la soumission: Votre build ou vos métadonnées sont encore en cours de préparation
- En attente d'examen: Apple a votre soumission en file d'attente
- En Revue: L'équipe de revue est en train de vérifier l'application
- En Attente de la Version du Développeur: Approuvé, mais en attente de votre choix de libération manuelle
- Rejeté / Problèmes Non Résolus: Apple a besoin de changements avant l'approbation
Calendrier de Revue de Google Play Store (Mise à Jour 2026)
- Révision Initiale: 3-7 jours (beaucoup plus longtemps que les années précédentes)
- Porte de Test Fermée: 14 jours minimum pour les comptes nouveaux personnels de Play Console affectés avant que vous puissiez demander l'accès à la production
- Révision de Production Après Test: D'habitude, cela prendra encore 3-7 jours après que les exigences de test fermé soient complétées
- Mises à jour des Applications Existantes: 1-3 jours
- Violations de Politique: Cela peut s'étendre à 14+ jours si une nouvelle revue est déclenchée
Mise à jour Importante: Google exige désormais un test beaucoup plus rigoureux pour certains nouveaux comptes de console Play, que nous couvrirons en détail ci-dessous.
Configuration du Compte Développeur Apple
Avant votre première mise en ligne iOS, assurez-vous que le côté Apple est correctement configuré :
- Inscrivez-vous au Programme Apple Developer
- Activez l'authentification à deux facteurs pour le compte Apple utilisé pour l'inscription
- Choisissez le type de membership correct :
- Individuel / Propriétaire unique : votre nom personnel légal devient le nom du vendeur sur l'App Store
- Organisation : nécessite une entité juridique, un numéro D-U-N-S, un site web public et une personne ayant l'autorité de lier la société aux accords d'Apple
- Utilisez des noms légaux lors de l'inscription. Les pseudonymes ou les noms de société dans les champs prénom/nom peuvent retarder l'approbation
- Après l'approbation de l'inscription, connectez-vous à App Store Connect et créez l'enregistrement de l'application avec l'ID de bundle final, le nom de l'application, le SKU et la langue principale



Important : Apple modifie les exigences minimales SDK au fil du temps. À partir de 28 avril 2026, les applications téléchargées sur App Store Connect doivent utiliser le iOS et iPadOS 26 SDK ou une version ultérieure.
La Critique Exigence de Test Android
C'est cette modification qui surprend le plus les éditeurs Android débutants :
Exigence de 12 Testeurs pour les Comptes Android Personnels Nouveaux
Si votre compte développeur Google Play est un compte personnel créé après le 13 novembre 2023, vous devez terminer une période de test fermée avant que l'application puisse passer en production :
Exigences:
- Testeurs minimum 12: Vous devez recruter au moins 12 testeurs opt-in
- Période d'essai de 14 jours: L'application doit rester en test fermé pendant au moins 14 jours consécutifs
- Demande d'accès à la production: Après la période d'essai, vous devez encore demander l'accès à la production dans le console de Play
- Collecte de retours: Vous devriez documenter les problèmes trouvés, les correctifs apportés et la façon dont les testeurs ont utilisé l'application
Comment configurer votre piste de test
-
Créer une piste de test fermée
- Allez à la console de Google Play
- Naviguez vers Test and release > Testing > Closed testing
- Créer une nouvelle version dans la piste de test fermée
- Télécharger votre Android App Bundle (
.aab)
-
Recrutez vos testeurs
Où trouver des testeurs :
- Amis et famille (point de départ le plus facile)
- Communautés de développeurs (Reddit's /r/androiddev, /r/betatests)
- Abonnés aux réseaux sociaux
- Plateformes de test bêta (BetaList, BetaTesting.com)
- Étudiants universitaires (si vous avez des relations)
Important: Assurez-vous que les testeurs :
- Aient des comptes Gmail valides
- Utilisent effectivement des appareils Android
- Restent optés-in pendant toute la période de 14 jours
-
Inviter les testeurs
- Créer une liste de testeurs dans Play Console
- Ajouter les adresses e-mail des testeurs
- Partager l'URL d'opt-in avec vos testeurs
- Envoyer des rappels pour vous assurer qu'ils installent et utilisent l'application
-
Surveiller les activités de test
- Vérifier Play Console pour les nombres d'installation
- Suivre les rapports de crash et les ANR (Application Non Répondante)
- Collecter des commentaires des testeurs
- Réparer les problèmes critiques avant la promotion
-
Promouvoir vers la Production
- Après 14 jours avec 12+ testeurs optés-in
- Demander l'accès à la production à partir du tableau de bord du console de Play
- Passer en revue tous les rapports de crash et les commentaires
- Créer une mise à jour de production et la soumettre pour une dernière revue
Pourquoi Google a mis en œuvre cela
Google a introduit cette exigence pour :
- Réduire la publicité d'applications de mauvaise qualité
- S'assurer que les applications sont correctement testées avant de rejoindre les utilisateurs
- Identifier les applications malveillantes à travers les modèles de comportement réels
- Améliorer la qualité globale de la boutique Play
RéalitéCela ajoute au moins 2-3 semaines à votre calendrier de lancement. Planifiez en conséquence et commencez à recruter des testeurs tôt.
Exigences d'authentification et de connexion
L'une des raisons de rejet les plus courantes est une mise en œuvre incorrecte des systèmes d'authentification, en particulier le login social.
La exigence de connexion Apple (Critique pour iOS)
La règle d'AppleSi votre application propose une option de connexion sociale tierce (Google, Facebook, Twitter, etc.), vous devez également proposer la connexion avec Apple comme option. Cela s'applique à Connexion Google
Facebook Login:
- Connexion Twitter/X
- Connexion LinkedIn
- Toute autre service d'authentification tiers
- __CAPGO_KEEP_0__
- __CAPGO_KEEP_0__
Ceci ne s'applique pas à:
- Authentification par email/mot de passe uniquement
- Systèmes d'identification gouvernementaux
- Systèmes d'authentification SSO d'entreprise (lorsque l'application est destinée à cette entreprise spécifique)
- Systèmes d'authentification des fournisseurs d'éducation
Mise en œuvre de la connexion avec Apple
Si vous utilisez un service de connexion social, voici ce que vous devez mettre en œuvre :
import { SignInWithApple } from '@capacitor-community/apple-sign-in';
async function signInWithApple() {
try {
const result = await SignInWithApple.authorize({
clientId: 'com.yourapp.service',
redirectURI: 'https://yourapp.com/auth/callback',
scopes: 'email name',
state: '12345',
nonce: 'nonce',
});
// result contains:
// - identityToken
// - authorizationCode
// - email (may be null if user previously authorized)
// - givenName
// - familyName
// Send to your backend for verification
await verifyAppleToken(result.identityToken);
} catch (error) {
console.error('Apple Sign In failed:', error);
}
}
Considérations importantes:
-
Confidentialité de l'email Les utilisateurs peuvent choisir de cacher leur adresse email. Apple fournit un email de courrier privé (par exemple,
abc123@privaterelay.appleid.comVotre application doit gérer cela. -
Utilisateurs pour la première fois vs Utilisateurs retournés: Apple fournit uniquement les informations de l'utilisateur (nom, adresse e-mail) lors de la première autorisation. Enregistrez ces informations car les signes ultérieurs ne les incluent pas.
-
Conception de la Bouton: Apple fournit des lignes directrices de conception strictes pour le bouton Sign in with Apple. Utilisez leurs actifs officiels.
-
Vérification du Backend: Vérifiez toujours le jeton d'identité sur votre serveur backend, ne faites jamais confiance aux jetons côté client seuls.
Exigences de connexion sociale Android
Bien que l'Android ne nécessite pas un fournisseur spécifique comme l'iOS le fait, Google a des lignes directrices :
Exigences de connexion Google Sign-In:
- Utilisez le SDK officiel de Google Sign-In
- Suivez les lignes directrices de la marque de Google
- Doit être l'option principale si vous l'offrez
Meilleure pratique pour les plateformes croisées: Proposez les mêmes options de connexion sur les deux plateformes pour une cohérence :
- Email/mot de passe
- Se connecter avec Apple (disponible uniquement sur iOS, ou sur Android si vous supportez la connexion web d'Apple)
- Se connecter avec Google
- Autres options sociales (Facebook, Twitter, etc.)
Exigences de compte de démonstration
Critique pour la revue: Si votre application nécessite une connexion, vous devez fournir des informations de connexion de démonstration fonctionnelles dans les notes de revue de l'application. Erreurs courantes Fournir des informations de connexion expirées
Demo Account Information:
Username: reviewer@demo.com
Password: ReviewTest123!
OR
Test Phone: +1 555-0123
Test OTP: 123456 (static for review)
Notes:
- This account has full premium features enabled
- All payment flows work in sandbox mode
- Account will reset daily
__CAPGO_KEEP_0__:
- __CAPGO_KEEP_0__
- Le compte de démonstration n'a pas accès à toutes les fonctionnalités
- Ne pas expliquer comment contourner la vérification du téléphone
- Oublier de mentionner les détails de paiement de l'environnement de test
Politique de confidentialité et Exigences légales
Les deux magasins d'applications exigent désormais des politiques de confidentialité et des conditions d'utilisation accessibles avant que votre première soumission soit approuvée.
Exigences de la politique de confidentialité
Votre politique de confidentialité doit :
-
Être accessible au public
- Hébergé sur une URL publique (pas derrière un mot de passe)
- Chargeable dans les navigateurs web standards
- Disponible dans les mêmes langues que votre application
-
Abordez ces sujets obligatoires:
- Quels données vous collectez (soyez spécifique)
- Comment vous utilisez les données collectées
- Si les données sont partagées avec des tiers
- Durée de conservation des données
- Droits des utilisateurs (accès, suppression, portabilité)
- Informations de contact pour les demandes de confidentialité
- Confidentialité des enfants (si l'application est destinée à des utilisateurs de moins de 13/16 ans)
-
Doit être accessible depuis l'application
- Accessible depuis les paramètres ou l'écran de compte
- Doit être accessible en un seul clic (pas enfouie dans les menus)
- Ouvrir dans le navigateur par défaut ou dans le navigateur intégré
Où héberger votre politique de confidentialité
Option 1 : Votre site web (Recommandé)
https://yourapp.com/privacy-policy
https://yourapp.com/terms-of-service
Option 2 : GitHub Pages (Gratuit)
https://yourusername.github.io/app-privacy-policy
Option 3 : Générateurs de politiques de confidentialité (Démarrage rapide)
Important: Alors que les générateurs sont bien pour le démarrage, assurez-vous que la politique reflète avec précision vos pratiques réelles de données. Les modèles génériques qui ne correspondent pas à votre application seront signalés.
Exigences des Conditions Générales
Même si ce n'est pas toujours obligatoire, il est fortement recommandé et requis si :
- Vous proposez des achats ou des abonnements en ligne
- Vous avez du contenu généré par les utilisateurs
- Vous fournissez tout service au-delà de la fonctionnalité de base de l'application
- Vous souhaitez une protection juridique
Doit être inclus:
- Politique d'utilisation acceptable
- Conditions de résiliation du compte
- Limitation de responsabilité
- Droits de propriété intellectuelle
- Procédure de résolution de litiges
- Politique de remboursement (en particulier pour les achats en ligne intégrés)
Mise en œuvre en application
// Settings or Account Screen
function LegalLinks() {
return (
<div className="legal-section">
<h3>Legal</h3>
<a
href="https://yourapp.com/privacy-policy"
target="_blank"
rel="noopener noreferrer"
>
Privacy Policy
</a>
<a
href="https://yourapp.com/terms-of-service"
target="_blank"
rel="noopener noreferrer"
>
Terms of Service
</a>
<a
href="https://yourapp.com/contact"
target="_blank"
rel="noopener noreferrer"
>
Contact Us
</a>
</div>
);
}
Exigences relatives aux métadonnées de l'App Store
Tous les magasins exigent que vous fournissiez l'URL de la politique de confidentialité lors de la soumission de l'application :
iOS - App Store Connect:
- Informations sur l'application > Informations générales > URL de la politique de confidentialité
- Doit être HTTPS (HTTP sera rejeté)
- Sera affiché sur votre page de l'App Store
- Ajoutez une URL de support avec des coordonnées réelles pour les utilisateurs
- Terminez le questionnaire d'âge avant la soumission
Android - Google Play Console:
- Présence du magasin > Paramètres du magasin > Politique de confidentialité
- Requis pour tous les applications ciblant les enfants
- Fortement recommandé pour toutes les applications
Étiquettes de nutrition de la vie privée (iOS)
iOS exige des déclarations de confidentialité détaillées sous forme de « étiquette nutritionnelle » :
Catégories que vous devez déclarer:
- Informations de contact : Adresse e-mail, nom, numéro de téléphone
- Informations financières : Informations de paiement, carte de crédit, compte bancaire
- Localisation : Localisation précise ou grossière
- Contenu Utilisateur: Photos, vidéos, audio, messages
- Identifiants: ID utilisateur, ID appareil, ID publicitaire
- Données d'utilisation: Interaction avec les produits, données publicitaires, journaux de crash
- Diagnostic: Données de crash, données de performance
Spécifiez pour chaque type de données:
- Si elle est collectée
- Si elle est liée à l'identité de l'utilisateur
- Si elle est utilisée pour le suivi
- L'objectif de la collecte
Erreur commune: Dire que vous ne collectez pas de données lorsque votre SDK d'analytique le fait. Effectuez un audit de tous les SDK tiers pour leur collecte de données.
Section de sécurité des données Google Play
De même que sur iOS, Android exige une déclaration de sécurité des données :
Étapes:
- Allez dans le console de Play > Contenu de l'application > Sécurité des données
- Répondez aux questions sur la collecte de données
- Spécifiez les types de données collectés
- Expliquez les pratiques de sécurité (chiffrement, etc.)
- Fournissez le lien de la politique de confidentialité
Critique: Cette information est juridiquement contraignante. La fausse représentation peut entraîner la suppression de l'application et la suspension du compte.
Raisons de refus courantes pour les premiers rejetés
La compréhension de pourquoi les applications sont rejetées vous aide à éviter ces pièges :
1. L'application s'effondre ou ne démarre pas
Pourquoi cela se produit:
- Se tester uniquement sur l'émulateur, et non sur un appareil réel
- Manque de gestion d'erreurs pour les échecs de réseau
- Points de terminaison API fixés par défaut qui sont inaccessibles
- Supposer des capacités spécifiques de l'appareil (caméra, GPS)
Comment prévenir:
// Always implement proper error handling
async function loadData() {
try {
const response = await fetch('https://api.yourapp.com/data');
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();
return data;
} catch (error) {
// Show user-friendly error
showError('Unable to load data. Please check your connection.');
// Log for debugging
console.error('Data load failed:', error);
// Graceful degradation
return getCachedData();
}
}
Liste de vérification de test:
- Se tester sur des appareils réels (au moins 2-3 modèles différents)
- Testez avec un réseau défaillant (utilisez le Conditionneur de liaison de réseau)
- Testez avec le mode avion
- Testez avec des permissions refusées
- Testez avec une installation fraîche (pas de données mises en cache)
2. Fonctionnalités de base manquantes ou endommagées
Pourquoi cela se produit:
- Les fonctionnalités montrées dans les captures d'écran n'existent pas encore
- Le compte de démonstration n'a pas accès aux fonctionnalités annoncées
- Les fonctionnalités premium sont montrées mais pas implémentées
- Les placeholders « En attente » dans l'application
Comment prévenir cela:
- N'envoyez que lorsque toutes les fonctionnalités annoncées sont terminées
- Vérifiez que le compte de démonstration dispose d'accès complet
- Supprimez ou désactivez les fonctionnalités incomplètes avant la soumission
- Mettez à jour les captures d'écran pour qu'elles correspondent exactement à la version actuelle
4. Contenu inapproprié pour la classification d'âge
Pourquoi Cela Se Produit:
- La classification d'âge est fixée à 4+ mais l'application contient des fonctionnalités sociales
- La classification d'âge ne correspond pas au contenu réel
- Contenu généré par l'utilisateur sans modération
- Liens vers un contenu externe non modéré
Comment Définir Correctement la Classification d'Âge:
Classification d'âge iOS:
- 4+ (pas de contenu objet)
- 9 ans et plus (contenu modéré occasionnel)
- 12 ans et plus (contenu modéré)
- 17 ans et plus (contenu fréquent/intense)
Évaluations de contenu Android:
- Tout public
- Tout public 10 ans et plus
- Adolescent
- Adulte 17 ans et plus
- Seuls les adultes 18 ans et plus
ImportantSi les utilisateurs peuvent partager du contenu entre eux, vous avez besoin de :
- Système de modération de contenu
- Fonctionnalité de blocage du rapport
- Lignes directrices de la communauté protégées
- Garder l'âge si nécessaire
4. Métadonnées trompeuses ou trompeuses
Pourquoi cela se produit:
- Nom d'application promet des fonctionnalités qui n'existent pas
- Captures d'écran de concurrents ou de maquettes
- Avis ou manipulation de notes fausses
- La description contient des superlatifs sans preuve
Exemples de métadonnées problématiques:
❌ Mauvais:
- Nom d'application : "Meilleur suiveur de forme - #1 Application"
- Description : « L'application la plus incroyable et révolutionnaire jamais créée ! »
- Screenshots : Photos de stock génériques
✅ BON:
- Nom de l'application : « FitTrack - Journal de l'entraînement »
- Description : « Suivez vos entraînements avec des routines personnalisables et des graphiques de progression. »
- Screenshots : Écrans de l'application actuels
5. Insuffisance des tests (Surtout les tests fermés Android)
Pourquoi cela se produit:
- Omettre la période de test obligatoire de 14 jours
- Ne pas recruter suffisamment de testeurs
- Les testeurs ne utilisent pas réellement l'application
- Pas de suivi des crashs pendant les tests
Comment Prévenir:
- Commencez à recruter des testeurs 3-4 semaines avant la date prévue de lancement
- Utilisez Firebase Crashlytics ou un outil similaire pendant les tests
- S'engagez activement avec les testeurs (enquêtes, formulaires de commentaires)
- Fixez les problèmes critiques avant de promouvoir vers la production
6. Autorisations Sans Justification
Pourquoi Cela Se Produit:
- Demande de localisation sans l'utiliser
- Autorisation de la caméra sans explication
- Accès aux contacts sans but clair
- Localisation en arrière-plan pour les applications non de navigation
Comment Réparer:
iOS - fichier d'informations de plist:
<key>NSCameraUsageDescription</key>
<string>Camera access is required to scan QR codes for quick login.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location helps us show nearby fitness centers and outdoor running routes.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Photo library access lets you upload a profile picture and share workout photos.</string>
Android - Stratégie des autorisations:
<!-- Only request what you actually need -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- Use when-in-use rather than always for location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Avoid if possible -->
<!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> -->
Demande d'autorisation de l'exécution:
import { Camera } from '@capacitor/camera';
async function takePicture() {
// Request with context
const permissionStatus = await Camera.requestPermissions();
if (permissionStatus.camera === 'granted') {
const photo = await Camera.getPhoto({
quality: 90,
allowEditing: true,
resultType: 'uri'
});
return photo;
} else {
// Explain why permission is needed
showDialog(
'Camera access required',
'To upload a profile picture, please enable camera access in Settings.'
);
}
}
Exigences spécifiques à iOS
Capture d'écran de l'App Store et prévisualisation
Tailles requises:
- 6.7” iPhone : 1290 x 2796
- 13” iPad : 2064 x 2752
- 12.9” iPad : 2048 x 2732
Important: Si votre application prend en charge l'iPad, vous devez télécharger des captures d'écran d'iPad. N'étirez pas les captures d'écran iPhone pour les adapter aux emplacements d'iPad.
Meilleures pratiques pour les captures d'écran:
- Doit afficher le contenu réel de l'application (pas de maquettes)
- Supprimer la barre de statut ou afficher un contenu réaliste
- Localiser pour toutes les langues prises en charge
- Éviter un surtexte excessif
- Afficher les fonctionnalités clés dans les premières 2-3 captures d'écran
Configuration des métadonnées App Store Connect
Avant la soumission, terminez ces champs App Store Connect :
- URL de la politique de confidentialité: requis pour les applications iOS
- URL de support: requis et doit mener à des informations de contact réelles
- Classement d'âge: complétez le questionnaire afin que l'application puisse être publiée
- Informations de révision de l'application: ajoutez un contact de révision, des informations de démonstration fonctionnelle si un accès est requis, ainsi que des notes claires pour l'équipe de révision
- Compatibilité avec les exportations: répondez aux questions d'encryption, ou définissez
ITSAppUsesNonExemptEncryptionlorsque cela est approprié afin d'éviter de répéter les mêmes réponses à chaque téléchargementInfo.plistTestFlight avant la révision de l'application
: effectuez une passe réelle de TestFlight avant la révision de production :
Installez l'exacte build de TestFlight
- Connectez-vous avec le même compte de révision que vous prévoyez de fournir
- Effectuez un parcours de l'achat, de la restauration et de l'annulation
- Export Compliance
- Confirmer que le réviseur peut accéder aux fonctionnalités clés sans configuration cachée
- Tester sur iPhone et iPad si les deux sont pris en charge
Vidéos de prévisualisation de l'application (Facultatif mais recommandé)
Exigences:
- 15-30 secondes de durée
- Doit montrer des images de l'application réelles
- Peut inclure des surimpressions de texte succinctes
- Aucune musique avec des problèmes de droits d'auteur
- Mêmes résolutions que les captures d'écran
Implémentation de la connexion avec Apple
Déjà couvert ci-dessus, mais crucial pour la revue iOS si vous avez une connexion sociale
Exigences pour les achats en application
Si vous proposez des biens ou services numériques :
Informations obligatoires:
- Tarifs clairs avant l'achat
- Conditions de souscription clairement indiquées
- Instructions de résiliation visibles
- Bouton de restauration d'achat
Écran de souscription conforme à l'exemple:
function SubscriptionOffer() {
return (
<div className="subscription-screen">
<h2>Choose Your Plan</h2>
<PlanCard>
<h3>Monthly</h3>
<p className="price">$9.99/month</p>
<ul>
<li>Unlimited workouts</li>
<li>Personalized plans</li>
<li>Progress tracking</li>
</ul>
<button>Subscribe</button>
</PlanCard>
<PlanCard>
<h3>Annual</h3>
<p className="price">$79.99/year</p>
<p className="savings">Save 33%</p>
<ul>
<li>Everything in Monthly</li>
<li>Priority support</li>
</ul>
<button>Subscribe</button>
</PlanCard>
<div className="subscription-terms">
<p>
Subscription automatically renews unless cancelled at least
24 hours before the end of the current period. Manage your
subscription in Settings.
</p>
<button onClick={restorePurchases}>Restore Purchases</button>
</div>
<div className="legal-links">
<a href="/privacy">Privacy Policy</a> |
<a href="/terms">Terms of Service</a>
</div>
</div>
);
}
Exigences spécifiques à Android
Configuration de compte Google Play Console
Avant votre première mise en ligne Android, assurez-vous que le compte Play Console et l'interface de l'application existent :
- Créez votre compte de développeur sur Inscription au compte Play Console
- Dans le console de Play, allez à Accueil > Créer une application
- Choisissez la langue par défaut, le type d'application/jeu et l'adresse e-mail de support
- Acceptez les déclarations de politique de Play requises, d'exportation et de déclaration de signature d'application de Play
- Décidez si l'application est gratuite ou payante
Important: Google vous permet de changer une application payante en gratuite ultérieurement, mais une fois qu'une application a été proposée en gratuite, elle ne peut pas être changée en payante.
Exigence de Bundle d'Application
Important: Google Play exige le format d'application Android Bundle (.aab), et non APK :
# Sync the native Android project first
bunx cap sync android
# Then build the release app bundle
cd android
./gradlew bundleRelease
Niveau de cible API requis
Exigence actuelle: Les nouvelles applications et les mises à jour d'applications doivent cibler Android 15 (API niveau 35) ou supérieur.
Mise à jour dans android/app/build.gradle:
android {
compileSdkVersion 35
defaultConfig {
targetSdkVersion 35
minSdkVersion 23 // Minimum supported version
}
}
Sécurité des données Google Play
Déjà abordé ci-dessus, mais absolument critique pour l'approbation Android.
Piste de test fermée (Exigence actuelle)
C'est le grand un pour les comptes de développeurs personnels nouvellement créés : le 12 testeurs, 14 jours, détaillé plus tôt dans ce guide.
Calendrier:
- Semaine 1 : Recruter des testeurs, configurer la testification fermée
- Semaine 2-3 : Période de test active (14 jours minimum)
- Semaine 4 : Résoudre les problèmes, préparer la mise en production
- Semaine 5 : Soumettre pour examen de production
Public visé et notation de contenu
Questionnaire de notation de contenu:
- Obligatoire pour tous les applications
- Prend 10-15 minutes pour être complété
- Détermine la notation d'âge (Tout le monde, Adolescent, Mature, etc.)
- Mettez-le à jour chaque fois que votre contenu change de manière à affecter les réponses
Sujets abordés:
- Violence
- Contenu sexuel
- Profanité
- Substances contrôlées
- Jeux d'argent
- Fonctionnalités d'interaction utilisateur
Important: Si vous avez du contenu généré par l'utilisateur ou des fonctionnalités sociales, vous devez en informer les utilisateurs et mettre en place une modération.
Exigences de la liste de l'application
Atouts obligatoires:
- Icône de l'application (512 x 512 PNG)
- Graphique de fonctionnalité (1024 x 500 JPG ou PNG)
- Captures d'écran de téléphone (minimum 2, maximum 8)
- Captures d'écran de tablette de 7
- (facultatif mais recommandé)
Description Exigences:
- Description courte (80 caractères max)
- Description complète (4000 caractères max)
- Doit décrire avec précision la fonctionnalité de l'application
- Ne peut pas inclure d'informations de contact ou de tarifs
Liste de vérification préalable à la soumission
Avant de valider, passez en revue ce checklist complet :
Exigences techniques
- L'application se lance correctement sur des appareils réels
- Toutes les fonctionnalités montrées dans les captures d'écran fonctionnent
- Aucun contenu de remplacement ou « Prochainement disponible »
- Tous les clés tiers API sont des clés de production
- Gestion des erreurs de réseau mise en œuvre
- Les demandes d'autorisation incluent des explications claires
- L'application ne s'arrête pas sous les conditions de réseau dégradées
- Testé avec les autorisations refusées
- Testé sur la version minimale du système d'exploitation pris en charge
- Les fuites de mémoire vérifiées et corrigées
Authentification & Connexion
- Si vous utilisez un login social, Sign in with Apple est inclus (iOS)
- Les informations de connexion du compte de démonstration sont fournies dans les notes de revue
- Le compte de démonstration a accès à toutes les fonctionnalités
- Le flux de réinitialisation du mot de passe fonctionne
- La fonctionnalité de déconnexion fonctionne correctement
- Option de suppression du compte disponible (obligatoire en vertu du RGPD/CCPA)
Légal et Confidentialité
- Politique de confidentialité accessible au public
- L'URL de la politique de confidentialité a été ajoutée à la liste des applications de l'app store
- Les conditions d'utilisation sont accessibles au public (si applicable)
- La politique de confidentialité est liée dans l'application (écran de paramètres)
- Les étiquettes nutritionnelles de la confidentialité sont précises (iOS)
- La section de sécurité des données est complétée (Android)
- Tous les buts de collecte de données sont expliqués
- La collecte de données de tiers SDK est divulguée
Contenu et Métadonnées
- Le nom de l'application respecte les lignes directrices (pas de remplissage de mots-clés)
- La description décrit avec précision la fonctionnalité
- Les captures d'écran montrent les écrans d'application actuels
- Les captures d'écran sont localisées pour toutes les langues prises en charge
- Aucune mention de concurrents dans la description
- Aucun superlatif sans preuve
- L'âge de la classification correspond à la contenu réel
- L'adresse e-mail de contact est surveillée
Spécifique à iOS
- Implémentation de l'authentification avec Apple (si utilisation de l'authentification sociale)
- Toutes les tailles de captures d'écran requises sont fournies
- Les captures d'écran iPad réelles sont chargées si le support iPad est activé
- Les descriptions des permissions d'Info.plist sont claires
- L'URL de support ajoutée avec des informations de contact réelles
- L'URL de la politique de confidentialité ajoutée dans App Store Connect
- Le questionnaire d'âge a été complété
- La question de conformité à l'exportation a été répondu correctement
- Le contact de la revue d'application et un compte de démonstration non expiré fournis
- Ciblez iOS 15.0 ou une version supérieure
- Si IAP : le prix clair, le bouton de récupération des achats présent
- Aucune référence à Android ou à d'autres plateformes
Spécifique à Android
- Format de l'archive d'applications (.aab) utilisé
- Ciblez API 35 ou une version supérieure
- Le questionnaire de notation de contenu a été complété
- Graphique de fonctionnalité téléchargé
- Test fermé terminé si votre compte Play Console le nécessite (12 testeurs, 14 jours)
- Rapports de crash de test examinés et corrigés
- Aucune référence à iOS ou à d'autres plateformes
Test (Requis actuel Android)
- 12+ testeurs recrutés si votre compte Play nécessite un test fermé
- Piste de test fermé créée
- 14 jours consécutifs de test terminés
- Les testeurs ont utilisé l'application (et non juste l'installer)
- Le suivi des crash est activé pendant le test
- Les bogues critiques issus du test corrigés
- Les commentaires des testeurs documentés
Notes de Revue : Quels Contenir
Les notes de revue excellentes peuvent faire la différence entre une approbation instantanée et un refus. Voici ce qu'il faut inclure :
Modèle pour les Notes de Revue
APP REVIEW INFORMATION
=== Test Account ===
Email: reviewer@testapp.com
Password: TestReview123!
(This account has all premium features enabled)
(This account stays active during review)
=== Review Contact ===
Name: Jane Developer
Email: review@yourapp.com
Phone: +1 555-0100
=== Testing Instructions ===
1. Launch app and tap "Sign In"
2. Enter test credentials above
3. Navigate to "Dashboard" to see main features
4. Tap "Upgrade" to test subscription flow (sandbox mode)
5. Go to Settings > Account to see privacy policy and terms
=== Key Features to Test ===
- Workout tracking (tap "New Workout" on Dashboard)
- Progress charts (Analytics tab)
- Social sharing (Share button on workout details)
- Camera upload for profile picture (Settings > Profile)
=== Third-Party Services ===
- Firebase Authentication (for login)
- Stripe (for payments - sandbox mode)
- AWS S3 (for image uploads)
- Google Maps SDK (for location features)
=== Notes ===
- Location permission is optional, app works without it
- Camera permission only requested when uploading profile picture
- All subscription flows use Apple/Google sandbox environments
- Background location is not used
- Support URL and privacy policy are available from Settings > Account
=== Contact ===
For questions: developer@yourapp.com
Response time: Within 24 hours
Notes de Revue Spécifiques à iOS
Pour iOS, incluez également :
=== Device Coverage ===
Tested on: iPhone 15 Pro Max, iPad Pro 13-inch
=== App Store Connect Metadata ===
Support URL: https://yourapp.com/support
Privacy Policy: https://yourapp.com/privacy-policy
=== Submission Notes ===
- iPad screenshots match the current iPad UI
- Export compliance answered for this build
- Sign in with Apple is available on the login screen
Notes de Revue Spécifiques à Android
Pour Android, incluez également :
=== Testing Track Information ===
Closed testing period: [Start Date] to [End Date]
Number of active testers: 23
Critical issues found during testing: 2 (both fixed)
Test distribution method: Email invite list
=== Crash Data ===
Testing period crashes: 3 total
Crash rate: 0.8%
All crashes fixed in this build
=== API Levels ===
Target SDK: 35 (Android 15)
Min SDK: 23 (Android 6.0)
Tested on: Android 11, 12, 13, 14, 15
Ce à Faire en Cas de Refus
N'ayez pas peur - le refus est courant, surtout pour les soumissions pour la première fois. Voici comment y faire face :
Étapes Après le Refus
-
Lisez Soigneusement le Refus
- Notez la norme spécifique violée (par exemple, 4.3, 5.1.1)
- Lisez attentivement les commentaires du réviseur
- Recherchez des captures d'écran si elles sont fournies
-
Comprenez le problème
- Consultez la ligne directrice dans la documentation officielle
- Recherchez des cas similaires en ligne
- Vérifiez si c'est une erreur de compréhension ou un problème légitime
-
Réparez la cause racine
- N'appliquez pas juste une correction - réparez correctement
- Testez la correction de manière approfondie
- Documentez les modifications apportées
-
Répondez de manière appropriée
Si la réjection est correcte :
Thank you for the feedback. I have addressed the issue: Issue: Missing Sign in with Apple option Resolution: Added Sign in with Apple as a login option alongside Google Sign-In. The button appears on the login screen and follows Apple's design guidelines. You can test with the provided demo account or by creating a new account with Apple Sign-In. Changes made in: v1.0.1 (build 2)Si vous pensez qu'il s'agit d'une erreur de compréhension :
Thank you for reviewing my app. I believe there may be a misunderstanding regarding [specific issue]: [Explain clearly with screenshots if needed] The functionality exists at: Settings > [specific location] I've added additional detail to the review notes to help locate this feature. -
Résubmitz rapidement
- Les résubmissions sont généralement examinées plus rapidement (24-48 heures)
- Incluez des notes de revue mises à jour expliquant la correction
- Référez-vous à la soumission précédente si cela est utile
Réponses de refus courantes
Refus : « Votre application s'effondre lors du lancement »
Réponse :
I sincerely apologize for the crash. I have identified and fixed
the issue:
Root cause: The app attempted to fetch data before network
initialization completed, causing a null reference exception.
Fix: Implemented proper async initialization with error handling
and offline mode. The app now gracefully handles network issues.
Testing: Verified on iPhone 12 (iOS 17), iPhone 14 Pro (iOS 17.1),
tested with WiFi, cellular, and airplane mode.
Build version: 1.0.2 (build 3)
Refus : « Manque de politique de confidentialité »
Réponse :
Thank you for the feedback. I have added the privacy policy:
URL: https://myapp.com/privacy-policy
Location in app: Settings > Privacy Policy (tappable link)
Also added to: App Store Connect > App Information > Privacy Policy URL
The privacy policy covers all data collection as disclosed in the
Privacy Nutrition Labels.
Refus : « Ne correspond pas à 4.2 - Fonctionnalité minimale »
Cela signifie que votre application ne fait pas suffisamment pour mériter d'être une application. Réponse :
Thank you for the feedback. I'd like to clarify the app's
functionality:
Core Features:
1. [Feature 1 with specific details]
2. [Feature 2 with specific details]
3. [Feature 3 with specific details]
The app provides significant utility beyond a simple website by:
- Offline functionality for [specific feature]
- Native camera integration for [specific feature]
- Push notifications for [specific feature]
- Device hardware access for [specific feature]
Test account credentials have been provided to demonstrate all
features. Please let me know if you need additional clarification.
__CAPGO_KEEP_0__
Félicitations ! Votre application a été approuvée. Voici comment maintenir cet état :
__CAPGO_KEEP_0__
Métriques Clés à surveiller:
- Taux de crash (garder en dessous de 1%)
- Taux d'ANR (Android - garder en dessous de 0,5%)
- Notes de l'App Store/Play Store
- Contenu des commentaires (répondre à tous les commentaires)
- Bugs signalés par les utilisateurs
Outils à Utiliser:
- Firebase Crashlytics
- App Store Connect Analytics
- Google Play Console Vitals
- Sentry ou un service d'analyse d'erreurs similaire
Lignes directrices d'actualisation
Lors de la soumission d'actualisations :
- Testez aussi soigneusement que la soumission initiale
- Mettez à jour les captures d'écran si l'interface utilisateur a changé significativement
- Mettez à jour les étiquettes de confidentialité si la collecte de données a changé
- Fournissez des descriptions claires de « Ce qu'il y a de nouveau »
- Considérez des déploiements étalés pour les changements majeurs
Conformité
Exigences Annuelles:
- Renouvelez la note de contenu Android (obligatoire chaque année)
- Mettre à jour la politique de confidentialité si les pratiques changent
- Réviser et mettre à jour les notes d'âge si le contenu change
- Auditer les SDK tiers pour le respect des normes
Surveillance continue:
- Restez informés sur les changements de lignes directrices
- Rejoignez les newsletters de développeurs Apple/Google
- Participez aux communautés de développeurs
- Suivez les blogs de politique d'App Store/Play Store
Ressources et lecture supplémentaire
Documentation officielle
Apple:
- Lignes directrices de revue de l'App Store
- Se connecter avec Apple
- Aide à App Store Connect
- Confidentialité et utilisation des données
Google:
- Centre de politique de développeur
- Liste de vérification de lancement
- Section de sécurité des données
- Lignes directrices de test
Ressources de la communauté
- r/androiddev - Communauté de développeurs Android
- r/iOSProgramming - Communauté des développeurs iOS
- Stack Overflow - Questions techniques
- Indie Hackers - Communauté des développeurs indépendants
Outils de politique de confidentialité
- Générateur de politique de confidentialité de Termly
- PrivacyPolicies.com
- Politique de confidentialité gratuite
Avez-vous besoin d'aide pour votre examen d'application ?
Si vous vous sentez submergé ou que vous souhaitez une guidance experte pour vous assurer que votre application passe l'examen au premier essai, nous sommes là pour vous aider !
Rendez-vous pour une consultation téléphonique avec notre équipe pour une assistance personnalisée avec :
- Préparation des commentaires d'application sur l'App Store et le Play Store
- Examen de la politique de confidentialité et des documents juridiques
- Implémentation de la connexion avec Apple
- Stratégie de test et recrutement de testeurs
- Préparation des notes de revue
- Réponse aux refus et recours
- Processus de soumission complète de l'application
Notre équipe a aidé des centaines de développeurs à naviguer avec succès le processus de revue d'application et peut vous faire gagner des semaines de tentatives et d'erreurs.
Conclusion
La soumission de votre première application peut être intimidante, mais avec une préparation appropriée, vous pouvez passer la revue pour la première fois. Rappelez-vous ces points clés :
- Commencez Tôt: Surtout pour Android - recrutez au moins 12 testeurs 3 semaines avant votre lancement prévu
- Premier Soins sur la Vie Privée: Ayez votre politique de confidentialité prête et reflétez avec précision vos pratiques de données
- Connexion Apple: Si vous utilisez une connexion sociale, vous devez inclure la connexion avec Apple sur iOS
- Testez Thoroughment: Testez sur des appareils réels, avec des réseaux faibles, et avec les permissions refusées
- Soyez Honnête: Des métadonnées et des déclarations de confidentialité précises préviennent les refus et les problèmes juridiques
- Notes de Revue Détails: Aidez les réviseurs à comprendre votre application rapidement
Les exigences actuelles de test Android ajoutent du temps au processus, mais elles aboutissent à des applications meilleures et à moins de problèmes post-lancement. Prévoyez 3-4 semaines supplémentaires pour les soumissions Android, et vous serez bien positionné pour réussir.
Bon courage pour la lancement de votre application ! Rappel, même si vous êtes rejetés, c'est une opportunité d'apprentissage. La plupart des applications réussies passent par plusieurs tours de revue avant l'approbation.
N'avez-vous pas envie de passer à travers cela seul ? Rendez-vous pour une consultation et laissez nos experts vous guider tout au long du processus.
Besoin d'aide pour l'implémentation des mises à jour en temps réel après que votre application est approuvée ? Consultez Capgo's solution de mise à jour en temps réel pour des mises à jour de l'application sans examen de la boutique d'applications.