Obtenir l'approbation de votre application sur l'App Store et Google Play peut être difficile, surtout lors de la mise en œuvre d'achats en ligne (IAP) et d'abonnements. Avec des directives plus strictes en 2025, il est crucial de comprendre ce que les réviseurs recherchent. Ce guide complet couvre tout ce dont vous avez besoin pour passer la revue à votre première soumission.
Need detailed setup instructions? Consultez nos guides complets : La revue des applications iOS | La revue des applications Play Store Android
Pourquoi les applications avec IAP sont rejetées
Apps with in-app purchases face higher scrutiny because they involve real money transactions. According to Les directives de revue de l'App Store d'Apple and Politiques de monétisation de Google PlayLes principales raisons de refus en 2025 sont :
- (42 % des rejets) Termes de souscription manquants ou confus
- Termes de souscription manquants ou confus (31%)
- Modèles de l'IUI trompeurs (18%)
- Violations de la politique de confidentialité (9%)
Plongeons dans la façon d'éviter chaque de ces pièges.
Exigences de l'App Store iOS
📖 Guide iOS complet : Voir nos instructions de configuration complète Guide de revue de l'App Store iOS
1. Transparence de tarification cristalline
Apple exige une disclosure de tarification exacte avant le bouton d'achat. C'est non négociable.
Ce que Apple souhaite voir :
- Tarif clairement affiché : « 9,99 $ par mois »
- Fréquence de facturation indiquée à l'avance
- Ce que les utilisateurs obtiennent pour leur argent
- Lorsque les frais sont facturés
- Instructions de désabonnement visibles

Erreur commune : Hiding price until users tap “Subscribe” or showing price only in fine print.
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 :
- Liste de l'App Store
- Ecrans d'achat en application
- Gestion des abonnements
- Matériaux de marketing
Même une différence de 1 $ déclenche une rejet automatique.
2. Présentation du plan d'abonnement
Apple flags apps that use “dark patterns” to push expensive tiers.
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 faciles à trouver
Interdit :
- Auto-défaut vers les abonnements annuels
- Hiding monthly options behind extra taps
- Utiliser des temporisateurs pour créer une fausse urgence
- Scarcité fausse (« Seulement 3 places restantes ! »)
3. Rénovation de la fonctionnalité d'achat
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.
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. Conformité à la vie privée (Section 5.1.1)
2025 brings stricter privacy enforcement. Apple now requires:
Pour chaque autorisation :
- Explication claire avant requesting
- Utilisation spécifique (pas générique)
- Comment les données sont stockées/échangées
- Est-ce qu'il s'agit d'une option ?
Exemple Info.plist entries:
<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>
Inaccurate privacy labels are a top rejection reason in 2025.
Guide Android complet :
📖 Guide complet pour Android : Guide de revue Android Play Store Guide de Revue de l'App Store Android
1. Facture Google Play obligatoire
Pour les biens numériques (abonnements, contenu en application), vous devez utiliser la facture Google Play. Les autres méthodes de paiement seront rejetées.
Biens numériques (obligation de Play Billing) :
- Abonnements à des fonctionnalités
- Monnaie en application
- Contenu numérique (livres numériques, musique)
- Déverrouillages premium
Biens Physiques (Impossible d'utiliser la Facture Play):
- Marchandises physiques
- Services physiques
- donations caritatives
Implémentation avec native-purchases :
Pour une configuration complète d'Android, voir Test de l'arène 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. Auto-renouvellement transparent
Google exige une disclosure claire selon laquelle les abonnements se renouvellent automatiquement, notamment :
- Notification de renouvellement avant facturation
- Rappel du prix
- Accès à la suppression facile
Interface 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 de la politique de confidentialité
Obligatoire pour les applications IAP :
- Privacy policy URL in Play Console
- Politique de confidentialité accessible en application
- Déclarations précises dans la section Sécurité des données
Sécurité des données doit déclarer :
- Collecte de l'historique des achats
- Adresses e-mail (pour les reçus)
- Identifiants de dispositif (prévention de la fraude)
- Données d'analyse

Raisons de refus courantes sur les deux plateformes
1. Mismatches de métadonnées
Pourquoi cela ne réussit pas :
- Screenshots show features not in current version
- La description promet des fonctionnalités qui n'existent pas
- Le prix diffère de celui indiqué dans l'application

Prévention :
- Mettre à jour les captures d'écran pour chaque soumission
- Match description to actual features
- Vérifier que toutes les affirmations sont exactes
- Supprimer le texte promotionnel obsolète
2. Publicité trompeuse
Rejets automatiques déclenchés :
- “N°1 de l'App Store” sans preuve
- “Sans limite” avec des limites cachées
- Fake commentaires ou notes
- Diffamation envers la concurrence

Meilleure pratique : Sois spécifique et factuel :
- ✓ “Rejoignez 50 000+ utilisateurs”
- ✗ “Meilleur application du monde”
- ✓ “Économisez jusqu'à 30 % avec le plan annuel”
- ✗ “Offre limitée dans le temps !”
3. Flux d'achat cassé
Testez ces éléments avant la soumission :
- Les produits chargent correctement
- Achats terminés avec succès
- Les fonctionnalités premium s'activent immédiatement
- La restauration des achats fonctionne
- Les messages d'erreur sont conviviaux
- Échecs de réseau gérés avec souplesse
// 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 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 étapes de souscription
- Verify free trials work correctly
- Testez les offres d'introduction
- Confirmez que les achats sont restaurés correctement
- Testez sur plusieurs appareils
- Vérifiez que les comptes de test fonctionnent
Tarifs et conditions
- Les prix correspondent sur tous les plateformes
- Conditions de souscription clairement indiquées
- Instructions de désabonnement visibles
- Fréquence de facturation affichée
- Durée de la période d'essai précise
Confidentialité & Autorisations
- Politique de confidentialité liée dans l'application
- Politique de confidentialité accessible en ligne
- Toutes les autorisations justifiées
- Descriptions d'Info.plist claires (iOS)
- Sécurité des données complétée (Android)
Méta-données
- Captures d'écran montrent la version actuelle
- La description correspond aux fonctionnalités
- Pas de texte de remplissage
- Taux d'âge correct
- Toutes les affirmations sont testables
Code Qualité
- Aucun crash lors du lancement
- Toutes les fonctionnalités fonctionnent comme décrites
- Gestion des erreurs mise en œuvre
- Les états de chargement sont affichés
- Les erreurs de réseau sont gérées
Échéancier de la revue : attentes

iOS :
- Standard : 24-48 heures
- Périodes de pointe : 3-5 jours
- Week-ends : Pas de commentaires
- Expedité : Disponible pour les bugs critiques
Android :
- Initial : 7 jours en moyenne
- Mises à jour : Généralement plus rapides
- Révisions en cours : Puisseurs à tout moment
- Violations de politique : Suspension immédiate possible
Conseil Pro : Submit iOS apps Monday-Wednesday to avoid weekend delays.
Que faire si on est rejeté

Étape 1 : Comprendre le problème
- Lire attentivement le message de rejet
- Noter la règle spécifique citée
- Vérifier les exemples fournis
- Rechercher des modèles dans les commentaires
Étape 2 : Corriger en profondeur
- Adressez la cause racine, pas les symptômes
- Testez la correction de manière exhaustive
- Documentez toutes les modifications
- Prenez une capture d'écran avant/après
Étape 3 : Répondre de manière professionnelle

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éinsérer rapidement
- Les réinscriptions sont examinées plus rapidement
- Généralement dans les 24 heures
- Incluez un compte de test
- Référez-vous à la soumission précédente
Mises à jour 2025 et nouvelles exigences
Changements iOS
Divulgation de la fonctionnalité AI Nouveau
- Étiquetage obligatoire des contenus générés par l'IA
- Explication de l'utilisation de l'IA
- Documentation de la sécurité du contenu
Clarté renforcée des abonnements
- Comparaisons de plans côté à côté requises
- Pas de dissimulation d'options moins chères
- Itinéraires d'amélioration/diminution clairs
Intensification de la vie privée
- Exécution accrue de l'article 5.1.1
- Plus de contrôle 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
- Le Google Play doit toujours être proposé
- Frais de service réduits
Exigences de souscription API
- New apps must use monetization.subscriptions APIs
- API de facturation legacy obsolètes
- Meilleures outils de gestion de souscription
Meilleures pratiques pour le succès
1. Utiliser les SDK appropriés
Le @capgo/achats_natives 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émenter une gestion des erreurs appropriée
Gérer tous les états d'achat avec élégance :
- Annulation de l'utilisateur (silencieuse)
- Erreurs de réseau (option de réessai)
- Déjà acquis (restaurer)
- Produit indisponible (informer l'utilisateur)
- En attente de paiement (vérifier plus tard)
3. Communiquer clairement
L'utilisateur doit 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. Testez Extensivement
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
Sandbox Android Licence :
- Ajoutez des comptes de test dans Play Console
- Voir la notification « Achat de test »
- Aucune charge réelle n'a lieu
Ressources
Documentation de la plateforme
- Lignes directrices de la revue des applications 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
- Groupes de souscriptions iOS
- Abonnements Android
Guides de revue détaillés
Avez-vous besoin d'aide experte?
Notre équipe offre un soutien dédié pour la mise en œuvre des achats en application et la préparation de la revue.
Réservez un appel de consultation avec nous pour obtenir une aide personnalisée avec :
- La revue de mise en œuvre de l'IAP
- Préparation de la revue de l'App Store
- La stratégie de soumission
- L'aide à la résolution des rejets
- Supporte la mise en place et les tests protégés
Nous avons aidé des centaines d'applications à passer avec succès la revue !
Conclusion
Passer l'examen de l'App Store avec des achats en application en 2025 nécessite de l'attention aux détails, une communication claire et une mise en œuvre appropriée. Les principaux points à retenir :
- La transparence est obligatoire - Montrez les prix à l'avance, toujours
- Suivez les règles des plateformes - Utilisez les systèmes de facturation requis
- Testez soigneusement - Détectez les problèmes avant les réviseurs.
- Communiquez clairement - Les utilisateurs ne doivent 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 nativesVous augmenterez ainsi vos chances d'obtenir une approbation en une seule étape.
N'oubliez pas : Les réviseurs recherchent des applications qui respectent les utilisateurs et suivent les lignes directrices. Construisez avec cette mentalité, et l'approbation suivra.
Aidez-vous pour la mise en œuvre des achats en application ? Consultez notre documentation complète ou contactez la communauté pour obtenir de l'aide.
Continuez de How à 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 et la distribution de l'application, connectez-l’à @capgo/capacitor-examen-de-l'application-intérieure pour les détails d'implémentation dans @capgo/capacitor-examen-de-l'application-intérieure, Utiliser @capgo/capacitor-examen de l'application pour la capacité native dans En utilisant @capgo/capacitor-examen-de-l'application-intérieure, @capgo/capacitor-marché-natif pour les détails d'implémentation dans @capgo/capacitor-marché-natif, En utilisant @capgo/capacitor-marché-natif pour la capacité native dans En utilisant @capgo/capacitor-marché-natif, 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.