Obtenir l'approbation de votre application 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. Ce guide complet couvre tout ce dont vous avez besoin pour passer la revue à votre première soumission.
Besoin d'instructions de configuration détaillées ? Consultez nos guides complets : iOS App Store Review | Android Play Store Review
Pourquoi les applications avec IAP sont rejetées
Les applications avec des achats en ligne font l'objet d'une surveillance accrue car elles impliquent des transactions financières 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 rejet en 2025 sont :
- Tarifs non clairs (42 % des rejets)
- Mise à jour ou termes de souscription manquants ou confus (31%)
- Modèles d'interface utilisateur trompeurs (18%)
- Violations de la politique de confidentialité (9%)
Découvrons comment éviter chaque piège.
Exigences de l'App Store iOS
📖 Guide complet iOS : Pour obtenir des instructions de configuration complètes, consultez notre 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 veut voir Apple :
- Tarif clairement affiché : « 9,99 $/mois »
- Fréquence de facturation indiquée d'emblée
- Ce que les utilisateurs obtiennent pour leur argent
- Quand les factures sont émises
- Instructions de résiliation visibles

Erreur commune : Cacher le prix jusqu'à ce que les utilisateurs cliquent sur « S'abonner » ou afficher le prix uniquement en petits caractères.
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 cohérence des prix : Tous les prix doivent correspondre dans :
- Liste de l'App Store
- Écrans d'achat en application
- Gestion des abonnements
- Matériel de marketing
Même une différence de 1 $ déclenche une réjection automatique.
2. Présentation du plan d'abonnement
Apple marque 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 faciles à trouver
Interdit :
- Réinitialisation automatique vers les plans annuels
- Cacher les options mensuelles derrière des appuis supplémentaires
- Utiliser des compteurs à rebours pour créer une fausse urgence
- Fausse rareté (« Seulement 3 places restantes ! »)
3. Rester les 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.
Mise en œuvre :
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 des normes de confidentialité (Section 5.1.1)
2025 apporte des mesures de contrôle de la vie privée plus strictes. Apple exige désormais :
Pour chaque autorisation :
- Explication claire avant requérant
- Cas d'utilisation spécifique (pas général)
- Comment les données sont stockées/ partagées
- Est-ce qu'il est facultatif
Exemple Info.plist 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 sont 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'Android Play Store
1. Facture Google Play obligatoire
Pour les biens numériques (abonnements, contenu en application), vous devez utiliser Google Play Billing. Les autres méthodes de paiement seront rejetées. __CAPGO_KEEP_0__ Biens Numériques (Utilisation Obligatoire de Play Billing):
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
- Services physiques
- Donations à des organismes à but non lucratif
- Utilisez Google Play Billing pour les biens numériques (abonnements, contenu en application). Les autres méthodes de paiement seront rejetées.
Mise en œuvre 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. Rénovation automatique transparente
Google exige une disclosure claire selon laquelle les souscriptions se renouvellent, y compris :
- Notification de renouvellement avant facturation
- Rappel du prix
- Accès à la suppression facile
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 de politique de confidentialité
Mandatory for IAP apps:
- URL de la politique de confidentialité dans le console de Play
- Lien de la politique de confidentialité accessible en ligne de l'application
- Déclarations précises de 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 qui ne sont pas dans la version actuelle
- La description promet des fonctionnalités qui n'existent pas
- Le prix diffère de ce qui est indiqué dans l'application

Prévention :
- Mettez à jour les captures d'écran pour chaque soumission
- Correspondre la description aux fonctionnalités réelles
- Testez toutes les affirmations pour s'assurer qu'elles sont exactes
- Supprimez le texte promotionnel obsolète
2. Marketing trompeur
Détecteurs automatiques de rejet :
- “#1 application” sans preuve
- “Infini” avec des limites cachées
- Évaluations ou notes fictives
- Dénigrement de concurrents

Méthode de travail recommandée : Soit spécifique et factuel :
- ✓ “Rejoignez 50 000+ utilisateurs”
- ✗ “Meilleure application du monde”
- ✓ “Économisez jusqu'à 30 % avec le plan annuel”
- ✗ “Offre limitée !”
3. Flux d'achat brisé
Testez ces éléments avant soumission:
- Les produits chargent correctement
- 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
- Les erreurs de réseau sont gérées 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 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 Android Sandbox
Test
- Tester tous les niveaux d'abonnement
- Vérifier que les essais gratuits fonctionnent correctement
- Tester les offres d'introduction
- Confirmer que les achats de restauration fonctionnent
- Tester sur plusieurs appareils
- Vérifier que les comptes sandbox/test fonctionnent
Tarifs et Conditions
- Les prix correspondent sur tous les plateformes
- Les termes de l'abonnement sont clairement indiqués
- Instructions de cancellation visibles
- Fréquence de facturation affichée
- Durée de la période d'essai gratuite précise
Intimité et autorisations
- Politique de confidentialité liée dans la boutique
- Politique de confidentialité accessible en application
- Toutes les autorisations justifiées
- Descriptions de Info.plist claires (iOS)
- Données de sécurité complétées (Android)
Métadonnées
- Captures d'écran montrent la version actuelle
- Description correspond aux fonctionnalités
- Pas de texte de remplacement
- Âge de notation correct
- Toutes les affirmations sont testables
Code Qualité
- Aucun crash lors du lancement
- Toutes les fonctionnalités fonctionnent comme décrit
- Gestion des erreurs mise en œuvre
- États de chargement affichés
- Erreurs de réseau gérées
Échéancier de revue : attentes

iOS :
- Standard: 24-48 heures
- Périodes de pointe: 3-5 jours
- Week-ends: Pas de révisions
- Expedité: Disponible pour les bugs critiques
Android:
- Initial: 7 jours en moyenne
- Mises à jour: Généralement plus rapides
- Révisions en roulant: Peut aller 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.
Qu'est-ce à faire si on est rejeté

Étape 1 : Comprendre le problème
- Lire attentivement le refus de prise en charge
- 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
- Tester la correction de manière approfondie
- Documentez toutes les modifications
- Capturer un é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.
Appel 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ésubmitissez rapidement
- Les résoumissions sont examinées plus rapidement
- Généralement dans les 24 heures
- Incluez un compte de test
- Référez à la soumission précédente
Mises à jour et nouvelles exigences de 2025
Changements iOS
Déclaration de la fonctionnalité AI (Nouveau)
- Doit étiqueter le contenu généré par l'IA
- Expliquez l'utilisation de l'IA
- Documentez la sécurité du contenu
Clarté renforcée de l'abonnement
- Comparaisons de plans de 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
- Augmentation de l'application de l'article 5.1.1
- Plus de contrôle sur la justification des données
- Règles plus strictes pour les applications pour enfants
Changements Android
Facturation Alternative (Régional)
- Autorisé dans l'UE, la Corée du Sud
- Doit toujours proposer l'option Google Play
- Frais de service réduits
Exigences de l'abonnement API
- Les nouvelles applications doivent utiliser les API de monétisation des abonnements
- Les API de facturation legacy sont obsolètes
- Outils de gestion d'abonnement améliorés
Meilleures Pratiques pour le Succès
1. Utiliser les SDKs appropriés
Le @capgo/achats_natives ce plugin gère correctement les deux plateformes :
// 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. Mettre en place un traitement correct des erreurs
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)
- Paiement en attente (vérifier plus tard)
3. Communiquer de manière claire
Les utilisateurs doivent toujours savoir :
- Ce qu'ils achètent
- How much ça coûte
- Quand ils seront facturés
- Comment annuler
- Ce qui se passe après la période d'essai
4. Testez Extensivement
iOS Sandbox :
- 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
Android License Testing :
- Ajoutez des comptes de test dans Play Console
- Voyez la « notification d'achat de test »
- Aucune charge réelle n'a lieu
Ressources
Documentation de la plateforme
- Lignes directrices de la plateforme d'applications iOS
- Politiques du développeur de Google Play
- Lignes directrices de la plateforme d'applications iOS pour les achats en application
- 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 d'abonnements iOS
- Abonnements Android
Guides de Revue Détails
Besoin d'Aide Expert?
Vous vous bloquez avec la revue d'application ou avez besoin d'une assistance en main ? Notre équipe fournit 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 :
- Mise en œuvre de la revue des achats en application
- Préparation de la revue de l'App Store
- Conseils de stratégie de soumission
- Assistance à la résolution de rejets
- Support complet de configuration et de test
Nous avons aidé des centaines d'applications à passer avec succès la revue !
Conclusion
Pour passer la revue d'une application avec des achats en ligne en 2025, il faut une attention aux détails, une communication claire et une mise en œuvre appropriée. Les principaux points à retenir sont :
- La transparence est obligatoire - Montrez les prix en amont, toujours
- Suivez les règles du plateforme - Utilisez les systèmes de facturation requis
- Testez soigneusement - Détruisez les problèmes avant que les réviseurs ne le fassent
- Communiquez clairement - Les utilisateurs ne doivent jamais être confus
- Préparez la documentation - Préparez des comptes de test
En suivant ce guide et en utilisant les outils appropriés comme le plugin de ventes natives, vous augmenterez significativement vos chances d'obtenir une approbation en une seule passe.
Rappelez-vous : Les examinateurs cherchent des applications qui respectent les utilisateurs et suivent les lignes directrices. Construisez avec cette mentalité, et l'approbation suivra.
Avez-vous besoin d'aide pour mettre en œuvre les achats en application ? Consultez notre documentation exhaustive ou contactez la communauté pour obtenir de l'aide.
Continuez à partir de
Si vous utilisez How to Pass App Store Review for In-App Purchases in 2025 pour planifier l'approbation et la distribution de l'application, connectez-la avec @capgo/capacitor-examen-en-ligne pour les détails d'implémentation dans @capgo/capacitor-examen-en-ligne, En utilisant @capgo/capacitor-examen-en-ligne pour la capacité native dans En utilisant @capgo/capacitor-examen-en-ligne, @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.