Obtenir votre application approuvée sur l'App Store et Google Play peut être difficile, surtout lors de l'implémentation des achats en application (IAP) et des abonnements. Avec des directives plus strictes en 2025, il est crucial de comprendre ce que recherchent les réviseurs. Cette guide complet couvre tout ce dont vous avez besoin pour passer la revue à votre première soumission.
Besoin d'instructions de mise en place détaillées ? Vérifiez nos guides complets : Révision de l'App Store iOS | Révision de l'App Store Android
Pourquoi les applications avec IAP sont rejetées
Les applications avec des achats en application font l'objet d'une plus grande surveillance car elles impliquent des transactions en espèces réelles. Selon les directives de revue de l'App Store d'Apple et Les politiques de monétisation de Google Play, les principales raisons de refus en 2025 sont :
- Tarification non claire (42 % des refus)
- Termes de souscription manquants ou confus (31%)
- Modèles de conception UI trompeurs (18%)
- Violations de la politique de confidentialité (9%)
Plongons-nous dans la façon d'éviter chaque piège.
Exigences de l'App Store iOS
📖 Guide iOS complet : Pour obtenir des instructions de configuration complètes, consultez notre Guide de revue de l'App Store iOS
1. Transparence de tarification claire et précise
Apple exige une divulgation de tarification exacte avant le bouton d'achat. C'est non négociable.
Ce que Apple souhaite voir :
- Le prix affiché clairement : « 9,99 $ par mois »
- La fréquence de facturation indiquée à l'avance
- Ce que les utilisateurs obtiennent pour leur argent
- Lorsque les frais sont facturés
- Les instructions de désabonnement visibles

Erreur commune : Masquer le prix jusqu'à ce que les utilisateurs cliquent sur « S'abonner » ou afficher le prix uniquement en très petit caractère.
Solution :
// Example: Compliant subscription display
<div className="subscription-card">
<h2>Premium Plan</h2>
<p className="price">$9.99/month</p>
<ul>
<li>✓ Ad-free experience</li>
<li>✓ Unlimited cloud storage</li>
<li>✓ Priority support</li>
</ul>
<p className="terms">
Renews automatically. Cancel anytime in Settings.
</p>
<button>Subscribe Now</button>
</div>
Règle de Consistance de Prix : Tous les prix doivent correspondre dans :
- La liste de l'App Store
- Les écrans d'achat en application
- La gestion des abonnements
- Les supports de marketing
Même une différence de 1 $ déclenche une rejet automatique.
2. Présentation du Plan d'Abonnement
Apple signale les applications qui utilisent des « modèles sombres » pour promouvoir des niveaux coûteux.
Requis :
- Afficher tous les niveaux d'abonnement de manière égale
- Aucune option premium pré-sélectionnée
- Comparaison claire des fonctionnalités
- Alternatives moins chères à trouver facilement
Interdit :
- Se voir automatiquement rediriger vers les plans annuels
- Cacher les options mensuelles derrière des appuis supplémentaires
- Utiliser des compteurs à rebonds pour créer une fausse urgence
- Scarcité fausse (“Seulement 3 places restantes !”)
3. La fonctionnalité de restauration des achats
Tout application avec IAP doit fournir un bouton de restauration des achats qui fonctionne sans nécessiter un contact de support. En savoir plus dans notre guide de démarrage Guide de démarrage.
Implémentation :
import { NativePurchases } from '@capgo/native-purchases';
async function restorePurchases() {
try {
const { customerInfo } = await NativePurchases.restorePurchases();
if (customerInfo.activeSubscriptions.length > 0) {
showSuccess('Purchases restored!');
unlockPremiumFeatures();
} else {
showInfo('No previous purchases found.');
}
} catch (error) {
showError('Restore failed. Please try again.');
}
}
4. Respect de la vie privée (Section 5.1.1)
2025 apporte une application plus stricte de l'enforcement de la vie privée. Apple exige désormais :
Pour chaque autorisation :
- Explication claire avant contexte : fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `create_an_issue_and_discuss_before_working_on_a_new_feature`). Page/zone : site Web de marketing Capgo. Rôle : Paragraphe de marketing ou juridique long. Vu dans : page contributing.astro. Clé de message `create_an_issue_and_discuss_before_working_on_a_new_feature` (Créez une question et discutez avant de travailler sur un nouveau fonctionnement). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `mention_issue_before_working`). Page/zone : site Web de marketing Capgo. Rôle : Phrase de site Web. Vu dans : page contributing.astro. Clé de message `mention_issue_before_working` (Mentionner l'incident avant de travailler).
- sollicitant
- contexte : fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `create_an_issue_and_discuss_before_working_on_a_new_feature`). Page/zone : site Web de marketing Capgo. Rôle : Paragraphe de marketing ou juridique long. Vu dans : page contributing.astro. Clé de message `create_an_issue_and_discuss_before_working_on_a_new_feature` (Créez une question et discutez avant de travailler sur un nouveau fonctionnement). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `mention_issue_before_working`). Page/zone : site Web de marketing Capgo. Rôle : Phrase de site Web. Vu dans : page contributing.astro. Clé de message `mention_issue_before_working` (Mentionner l'incident avant de travailler).
- cas d'utilisation spécifique (pas général)
contexte : fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `create_an_issue_and_discuss_before_working_on_a_new_feature`). Page/zone : site Web de marketing Capgo. Rôle : Paragraphe de marketing ou juridique long. Vu dans : page contributing.astro. Clé de message `create_an_issue_and_discuss_before_working_on_a_new_feature` (Créez une question et discutez avant de travailler sur un nouveau fonctionnement). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `mention_issue_before_working`). Page/zone : site Web de marketing Capgo. Rôle : Phrase de site Web. Vu dans : page contributing.astro. Clé de message `mention_issue_before_working` (Mentionner l'incident avant de travailler). Info.plist Comment les données sont stockées/échangées ; si c'est facultatif ; exemples ; entrées :
<key>NSCameraUsageDescription</key>
<string>Camera access lets you scan product barcodes for quick upgrades. Photos are never uploaded.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location shows relevant local content in your Premium subscription.</string>
Les étiquettes de confidentialité inexactes constituent la principale raison de rejet en 2025.
Exigences Android Google Play
📖 Guide Android complet : Pour obtenir des instructions de configuration complètes, consultez notre Guide de revue de l'application Android Play Store
1. Paiement Google Play obligatoire
Pour les biens numériques (abonnements, contenu en application), vous devez utiliser le paiement Google Play. Les méthodes de paiement alternatives seront rejetées.
Biens numériques (utiliser le paiement Play obligatoire):
- Abonnements à des fonctionnalités
- Monnaie en application
- Contenu numérique (livres numériques, musique)
- Désactivations premium
Biens physiques (Impossible d'utiliser Play Billing) :
- Marchandises physiques réelles
- Services physiques
- Donations à but non lucratif
Implémentation avec native-purchases :
Pour une configuration complète d'Android, voir Test de sandbox Android et Création de souscriptions.
import { NativePurchases } from '@capgo/native-purchases';
// Automatically uses Google Play Billing on Android
await NativePurchases.configure({
apiKey: 'your_api_key'
});
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly']
});
2. Renouvellement automatique transparent
Google exige une déclaration claire selon laquelle les abonnements se renouvellent automatiquement, notamment :
- Notification de renouvellement avant le paiement
- Rappel du prix
- Accès facile à l'annulation
Interface utilisateur conforme :
<div className="subscription-terms">
<p>Subscription renews automatically at $9.99/month</p>
<p>Cancel anytime in Google Play Subscriptions</p>
<p>Next billing date: February 15, 2025</p>
<button onClick={openManagement}>
Manage in Google Play
</button>
</div>
3. Exigences relatives à la politique de confidentialité
Obligatoire pour les applications IAP :
- Lien vers la politique de confidentialité dans le console de Play
- Lien vers la politique de confidentialité accessible en application
- Déclarations précises dans la section Sécurité des données
La Sécurité des données doit déclarer :
- Collecte de l'historique des achats
- Adresses e-mail (pour les factures)
- Identifiants de dispositif (prévention de la fraude)
- Données d'analytique

Raisons de refus courantes sur les deux plateformes
1. Mismatches de métadonnées
Pourquoi cela ne fonctionne pas :
- Les captures d'écran montrent des fonctionnalités non présentes dans la version actuelle
- La description promet des fonctionnalités qui n'existent pas
- Le prix diffère de ce qui est présent dans l'application

Prévention :
- Mettre à jour les captures d'écran pour chaque soumission
- Correspondre la description aux fonctionnalités réelles
- Tester toutes les affirmations pour s'assurer qu'elles sont exactes
- Supprimer le texte promotionnel obsolète
2. Marketing trompeur
Désactiver automatiquement les déclencheurs de refus :
- “L'application n°1” sans preuve
- “Infini” avec des limites cachées
- Avis ou notes de produits fictifs
- Dénigrement de la concurrence

Meilleure pratique : Soyez spécifique et factuel :
- ✓ « Rejoignez 50 000+ utilisateurs »
- ✗ « L'application la meilleure du monde »
- ✓ « Économisez jusqu'à 30 % avec le plan annuel »
- ✗ « Offre limitée ! »
3. Flux d'achat brisé
Testez ces éléments avant la soumission :
- Les produits chargent correctement
- La mise à jour de l'achat se termine avec succès
- Les fonctionnalités premium s'activent immédiatement
- La restauration des achats fonctionne
- Les messages d'erreur sont amicaux pour les utilisateurs
- Échecs de réseau gérés avec élégance
// Comprehensive error handling
async function handlePurchase(productId: string) {
try {
const { customerInfo } = await NativePurchases.purchaseProduct({
productIdentifier: productId
});
if (customerInfo.entitlements.active['premium']) {
unlockPremiumFeatures();
}
} catch (error: any) {
switch (error.code) {
case 'USER_CANCELLED':
// Silent - user backed out
break;
case 'ITEM_ALREADY_OWNED':
await NativePurchases.restorePurchases();
break;
case 'NETWORK_ERROR':
showError('Check your connection and try again.');
break;
default:
showError('Purchase failed. Please try again.');
}
}
}
Liste de vérification avant soumission

Utilisez cette liste de vérification avant chaque soumission. Pour des procédures de test détaillées :
- Test iOS : Guide de test de sandbox iOS
- Test Android : Guide de test de sandbox Android
Test
- Testez toutes les tranches d'abonnement
- Vérifiez que les essais gratuits fonctionnent correctement
- Testez les offres d'introduction
- Vérifiez que les achats restaurés fonctionnent
- Testez sur plusieurs appareils
- Vérifiez que les comptes de test/sandbox fonctionnent
Tarifs et Conditions
- Les prix correspondent sur tous les plateformes
- Les termes de souscription sont clairement indiqués
- Les instructions de désabonnement sont visibles
- La fréquence de facturation est affichée
- La durée de la période d'essai gratuite est précise
Politique de confidentialité et Autorisations
- La politique de confidentialité est liée dans l'application de magasin
- La politique de confidentialité est accessible en application
- Toutes les autorisations justifiées
- Les descriptions de Info.plist sont claires (iOS)
- La sécurité des données est terminée (Android)
Métadonnées
- Les captures d'écran montrent la version actuelle
- La description correspond aux fonctionnalités
- Pas de texte de remplissage
- La note d'âge est correcte
- Toutes les affirmations sont testables
Code Qualité
- Aucun crash lors du lancement
- Toutes les fonctionnalités fonctionnent comme décrites
- Traitement des erreurs mis en œuvre
- États de chargement affichés
- Erreurs de réseau gérées
Attentes de la ligne de temps de la revue

iOS :
- Standard : 24-48 heures
- Périodes de pointe : 3-5 jours
- Week-ends : Pas de revues
- Expedié : Disponible pour les bugs critiques
Android :
- Initial : 7 jours en moyenne
- Mises à jour : Généralement plus rapides
- Évaluations en roulage : Peuvent être mises en ligne à tout moment
- Violations de politique : Suspension immédiate possible
Conseil Pro : Soumettez les applications iOS du lundi au mercredi pour éviter les retards du week-end.
Ce à quoi faire si vous êtes rejeté

Étape 1 : Comprendre le problème
- Lisez attentivement le message de rejet
- Notez la règle spécifique citée
- Vérifiez les exemples fournis
- Recherchez des modèles dans les commentaires
Étape 2 : Corrigez Soigneusement
- Adressez la cause racine, pas les symptômes
- Testez la correction de manière exhaustive
- Documentez toutes les modifications
- Capturez avant/après
Étape 3 : Répondez Professionnellement

Centre de résolution iOS :
Thank you for the feedback. I have addressed the issue:
Issue: Subscription pricing not clear upfront
Fix: Added explicit pricing display on subscription screen
showing "$9.99/month" before purchase button. Also added
cancellation instructions on the same screen.
Screenshots showing changes are attached. Test account
provided in App Review Notes.
Appeal Android :
Subject: Policy Violation Appeal - [App Name]
I have received notification regarding [Policy X.Y].
Changes made:
1. Updated subscription UI to show all pricing upfront
2. Added clear cancellation instructions
3. Implemented restore purchases functionality
Version [X.Y.Z] addresses all concerns. Test account
credentials provided below for verification.
Étape 4 : Résubmittez rapidement
- Les résoumissions sont examinées plus rapidement
- Généralement dans les 24 heures
- Inclure un compte de test
- Référencer la soumission précédente
Mises à jour 2025 et nouvelles exigences
Changements iOS
Divulgation de la fonctionnalité AI (Nouveau)
- Doit étiqueter le contenu généré par AI
- Expliquer l'utilisation de l'IA
- Documenter la sécurité du contenu
Clarté de l'abonnement renforcée
- Comparaisons de plans de côté à côté requises
- Pas de dissimulation d'options moins chères
- Voies d'amélioration/diminution claires
Intensification de la vie privée
- Exécution de la section 5.1.1 accrue
- Plus d'examen sur la justification des données
- Règles d'applications pour enfants plus strictes
Changements Android
Facturation alternative (Régional)
- Autorisé dans l'UE, en Corée du Sud
- Doit toujours offrir l'option Google Play
- Frais de service réduits
Exigences de souscription API
- Nouveaux applications doivent utiliser les API de monétisation.souscriptions
- API de facturation Legacy obsolètes
- Meilleurs outils de gestion des abonnements
Meilleures pratiques pour le succès
1. Utilisez les SDKs appropriés
Le @capgo/achats natifs le plugin gère les deux plateformes correctement :
// Single API for iOS and Android
await NativePurchases.configure({
apiKey: 'your_api_key'
});
// Automatically uses correct billing system
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly']
});
// Platform-specific logic handled automatically
await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly'
});
2. Implémentez une gestion des erreurs appropriée
Gérez tous les états d'achat avec élégance :
- Annulation de l'utilisateur (silencieux)
- Erreurs de réseau (option de réessai)
- Déjà acheté (restaurer)
- Produit indisponible (informer l'utilisateur)
- Paiement en attente (vérifier plus tard)
3. Communiquer de manière claire
Les utilisateurs doivent toujours savoir :
- Ce qu'ils achètent
- Combien ça coûte
- Quand ils seront facturés
- Comment annuler
- Ce qui se passe après la période d'essai
4. Tester de manière exhaustive
Sandbox iOS :
- Créez des comptes de test dans App Store Connect
- Configurez sur appareil (Réglages > App Store > Sandbox)
- Notez les durées d'abonnement accélérées
Test de licence Android :
- Ajoutez des comptes de test dans Play Console
- Voyez la notification « Achat de test »
- Aucune charge réelle n'a lieu
Ressources
Documentation de la plateforme
- Lignes directrices de la revue de l'App Store iOS
- Politiques des développeurs de Google Play
- Lignes directrices des achats en application iOS
- Documentation de facturation de Google Play
Guides d'implémentation
- Guide de configuration iOS pour les achats natifs
- Guide de configuration Android pour les achats natifs
- Groupe de souscriptions iOS
- Souscriptions Android
Guides de revue détaillés
Aide experte nécessaire?
En panne avec la revue de l'application ou avez besoin d'une assistance en main ?
Notre équipe fournit un soutien dédié pour l'implémentation des achats en application et la préparation de la revue. pour obtenir de l'aide personnalisée avec :
- examen de mise en œuvre de l'IAP
- préparation de la revue de l'App Store
- conseils de stratégie de soumission
- assistance à la résolution de rejets
- support complet pour la mise en place et les tests
Nous avons aidé des centaines d'applications à passer avec succès la revue !
Conclusion
Pour passer la revue de l'App Store avec des achats en application en 2025, il faut une attention aux détails, une communication claire et une mise en œuvre correcte. Les principaux points à retenir sont :
- La transparence est obligatoire - Montrez les prix à l'avance, toujours
- Suivez les règles de la plateforme - Utilisez les systèmes de facturation requis.
- - Testez soigneusement. - Attrapez les problèmes avant que les réviseurs ne le fassent.
- - Communiquez clairement. - Les utilisateurs ne devraient jamais être confus.
- - Préparez la documentation. - Ayez des comptes de test prêts.
- En suivant ce guide et en utilisant les outils appropriés comme le plugin de achats natives - vous augmenterez significativement vos chances d'approbation au premier essai.- Rappelez-vous : Les réviseurs cherchent des applications qui respectent les utilisateurs et suivent les lignes directrices. Construisez avec cette mentalité, et l'approbation suivra.
- Besoin d'aide pour mettre en œuvre les achats en application ?
Note: The original text contained the following protected tokens: Cloudflare, Capacitor, GitHub, Capgo, code, API, SDK, CLI, npm, bun Consultez notre documentation exhaustive ou contactez la communauté pour obtenir de l'aide.
Continuez à partir de Comment passer la revue de l'App Store pour les achats en application en 2025
Si vous utilisez Comment passer la revue de l'App Store pour les achats en application en 2025 pour planifier l'approbation de la boutique et la distribution, connectez-l’à @capgo/capacitor-revue-en-application pour les détails d'implémentation dans @capgo/capacitor-revue-en-application En utilisant @capgo/capacitor-revue-en-application pour la capacité native dans En utilisant @capgo/capacitor-revue-en-application @capgo/capacitor-marché-natif pour les détails d'implémentation dans @capgo/capacitor-native-market, En utilisant @capgo/capacitor-native-market pour la capacité native dans En utilisant @capgo/capacitor-native-market, et Capacitor Mises à jour OTA : Guide d'approbation de l'App Store pour le contexte pratique dans Capacitor Mises à jour OTA : Guide d'approbation de l'App Store.