Aller au contenu principal

Comment réussir la review de l’App Store pour les achats intégrés en 2025

Guide complet pour faire approuver votre application avec achats in-app sur iOS et Android. Découvrez les motifs de rejet courants, les exigences et les bonnes pratiques pour 2025.

Comment réussir la validation App Store pour les achats in-app en 2025 Capgo illustration blog

Faire approuver votre application sur l'App Store et Google Play peut s'avérer délicat, surtout quand vous mettez en place des achats in-app (IAP) et des abonnements. Avec des directives plus strictes en 2025, il est crucial de comprendre ce que les reviewers recherchent. Ce guide complet couvre tout ce qu'il vous faut pour passer la review dès votre première soumission.

Need detailed setup instructions? Consultez nos guides complets : Examen de l'App Store iOS | Examen du Play Store Android

Pourquoi les apps avec IAP sont rejetées

Les applications avec achats in-app font l'objet d'un examen plus strict car elles impliquent des transactions réelles. Selon les directives d'examen de l'App Store d'Apple et les politiques de monétisation de Google Play, les principales raisons de rejet en 2025 sont :

  1. Tarification peu claire (42 % des rejets)
  2. Conditions d'abonnement manquantes ou confuses (31%)
  3. Interfaces utilisateur trompeuses (18%)
  4. Violations de la politique de confidentialité (9%)

Voyons comment éviter chacun de ces pièges.

Exigences de l'App Store iOS

📖 Guide iOS complet : For complete setup instructions, see our Guide de revue de l'App Store iOS

1. Transparence totale des tarifs

Apple exige une transparence totale sur les prix avant près du bouton d'achat. C'est non négociable.

Ce qu'Apple attend :

  • Prix clairement affiché : « 9,99 $/mois »
  • Fréquence de facturation indiquée dès le départ
  • Ce que les utilisateurs obtiennent pour leur argent
  • Quand les prélèvements ont lieu
  • Instructions d'annulation visibles

Bonnes pratiques de design UI

Erreur courante : Masquer le prix jusqu'à ce que l'utilisateur appuie sur « S'abonner » ou ne l'afficher qu'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 être identiques sur :

  • Fiche App Store
  • Écrans d'achat in-app
  • Gestion des abonnements
  • Supports marketing

Même un écart de 1 $ déclenche un rejet automatique.

2. Présentation des plans d'abonnement

Apple signale les apps qui utilisent des « dark patterns » pour pousser des abonnements coûteux.

Requis :

  • Afficher tous les paliers d'abonnement de façon équitable
  • Aucune option premium pré-sélectionnée
  • Comparaison claire des fonctionnalités
  • Alternatives moins chères faciles à trouver

Interdit :

  • Passer par défaut sur des plans annuels
  • Hiding monthly options behind extra taps
  • Utiliser des comptes à rebours pour créer une fausse urgence
  • Fausse rareté (« Plus que 3 places disponibles ! »)

3. Fonctionnalité de restauration des achats

Toute application avec IAP doit proposer un bouton de restauration des achats fonctionnel sans nécessiter de contacter le 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 apporte des règles de confidentialité plus strictes. Apple exige désormais :

Pour chaque permission :

  • Explication claire avant demander
  • Cas d'usage spécifique (pas générique)
  • Comment les données sont stockées ou partagées
  • Si c'est optionnel

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 une cause majeure de rejet en 2025.

Exigences Google Play pour Android

📖 Guide Android complet : For complete setup instructions, see our Guide de revue du Play Store Android

1. Google Play Billing obligatoire

Pour les biens numériques (abonnements, contenu in-app), vous devez devez utiliser Google Play Billing. Les autres méthodes de paiement seront rejetées.

Biens numériques (Play Billing obligatoire) :

  • Abonnements aux fonctionnalités
  • Monnaie in-app
  • Contenu numérique (ebooks, musique)
  • Déblocages premium

Biens physiques (Play Billing interdit) :

  • Produits physiques
  • Services physiques
  • Dons à des organismes à but non lucratif

Implémentation avec native-purchases :

Pour une configuration Android complète, consultez Les tests Android Sandbox et Création d'abonnements.

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 divulgation claire du renouvellement automatique des abonnements, incluant :

  • Notification de renouvellement avant prélèvement
  • Rappel du prix
  • Accès facile à la résiliation

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 apps avec IAP :

  1. Privacy policy URL in Play Console
  2. Privacy policy link accessible in-app
  3. Déclarations précises dans la section Sécurité des données

La section Sécurité des données doit déclarer :

  • La collecte de l'historique d'achats
  • Les adresses e-mail (pour les reçus)
  • Les identifiants d'appareil (prévention de la fraude)
  • Les données d'analytics

Directives pour la description de l'app

Raisons courantes de rejet sur les deux plateformes

1. Incohérences de métadonnées

Pourquoi cela échoue :

  • Captures d'écran : fonctionnalités absentes de la version actuelle
  • La description promet des fonctionnalités qui n'existent pas
  • Les tarifs diffèrent de ceux affichés dans l'application

Checklist des métadonnées

Prévention :

  • Actualisez les captures d'écran à chaque soumission
  • Alignez la description sur les fonctionnalités réelles
  • Vérifiez que toutes les affirmations sont exactes
  • Supprimez les textes promotionnels obsolètes

2. Marketing trompeur

Déclencheurs de rejet automatique :

  • « l'app n°1 » sans preuve
  • « Illimité » avec des limites cachées
  • Faux avis ou notes falsifiées
  • Dénigrement de la concurrence

Directives marketing

Bonne pratique : Soyez précis et factuel :

  • ✓ « Rejoignez plus de 50 000 utilisateurs »
  • ✗ « La meilleure app au monde »
  • ✓ « Économisez jusqu'à 30 % avec le plan annuel »
  • ✗ « Offre à durée limitée ! »

3. Flux d'achat défectueux

À tester avant la soumission :

  • Les produits se chargent correctement
  • L'achat se termine avec succès
  • Premium features unlock immediately
  • La restauration des achats fonctionne
  • Les messages d'erreur sont clairs
  • Les erreurs réseau sont bien gérées
// 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.');
    }
  }
}

Checklist pré-soumission

Checklist pré-soumission

Utilisez cette checklist avant chaque soumission. Pour des procédures de test détaillées :

En test

  • Tester tous les niveaux d'abonnement
  • Verify free trials work correctly
  • Tester les offres d'introduction
  • Confirmer que la restauration des achats fonctionne
  • Tester sur plusieurs appareils
  • Verify sandbox/test accounts work

Tarifs et conditions

  • Prices match across all platforms
  • Conditions d'abonnement clairement énoncées
  • Instructions d'annulation visibles
  • La fréquence de facturation est affichée
  • La durée de l'essai gratuit est exacte

Confidentialité et permissions

  • Politique de confidentialité liée sur le store
  • Politique de confidentialité accessible dans l'app
  • Toutes les permissions sont justifiées
  • Descriptions Info.plist claires (iOS)
  • Section Data Safety complétée (Android)

Métadonnées

  • Les captures d'écran montrent la version actuelle
  • La description correspond aux fonctionnalités
  • Aucun texte de remplissage (placeholder)
  • La classification d'âge est correcte
  • Toutes les affirmations sont vérifiables

Code Qualité

  • Aucun crash au lancement
  • Toutes les fonctionnalités fonctionnent comme décrit
  • La gestion des erreurs est implémentée
  • Les états de chargement sont affichés
  • Les erreurs réseau sont gérées

Délais de révision attendus

Calendrier de review

iOS :

  • Standard : 24-48 heures
  • Périodes de pointe : 3-5 jours
  • Week-ends : pas de review
  • Accéléré : disponible pour les bugs critiques

Android :

  • Initial : 7 jours en moyenne
  • Mises à jour : généralement plus rapides
  • Reviews en continu : publiez à tout moment
  • Violations de politique : suspension immédiate possible

Conseil de pro : Soumettez vos apps iOS du lundi au mercredi pour éviter les délais du week-end.

Que faire en cas de refus

Processus de clarification

Étape 1 : Comprendre le problème

  • Lisez attentivement l'avis de rejet
  • Notez la guideline spécifique citée
  • Consultez les exemples fournis
  • Identifiez des schémas dans les retours

Étape 2 : Corriger en profondeur

  • Traitez la cause racine, pas les symptômes
  • Testez le correctif de manière intensive
  • Documentez tous les changements
  • Capture d'écran avant/après

Étape 3 : Répondre professionnellement

Demandes de documentation

iOS Resolution Center :

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 : Soumettre à nouveau rapidement

  • Les resoumissions sont examinées plus vite
  • Généralement sous 24 heures
  • Inclure un compte de test
  • Référencer la soumission précédente

Mises à jour 2025 et nouvelles exigences

Changements iOS

Divulgation des fonctionnalités IA (Nouveau)

  • Signaler le contenu généré par l'IA
  • Expliquer l'usage de l'IA
  • Documenter la sécurité du contenu

Clarté accrue des abonnements

  • Comparaison des plans côte à côte requise
  • Ne pas masquer les options moins chères
  • Parcours d'upgrade/downgrade clairs

Renforcement de la confidentialité

  • Application accrue de la section 5.1.1
  • Un contrôl’accru de la justification des données
  • Règles plus strictes pour les apps pour enfants

Changements Android

Facturation alternative (Régional)

  • Autorisé dans l'EEE et en Corée du Sud
  • Doit toujours proposer l'option Google Play
  • Frais de service réduits

Exigences API pour les abonnements

  • Les nouvelles apps doivent utiliser les API monetization.subscriptions
  • Les anciennes API de facturation sont dépréciées
  • Meilleurs outils de gestion des abonnements

Bonnes pratiques pour réussir

1. Utilisez les bons SDK

Le @capgo/native-purchases le 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. Implémentez une gestion d'erreurs efficace

Gérer tous les états d'achat proprement :

  • Annulation par l'utilisateur (silencieuse)
  • Erreurs réseau (option de réessai)
  • Déjà possédé (restauration)
  • Produit indisponible (informer l'utilisateur)
  • Paiement en attente (vérifier plus tard)

3. Communiquez clairement

Les utilisateurs doivent toujours savoir :

  • Ce qu’ils achètent
  • Combien ça coûte
  • Quand ils seront débités
  • Comment annuler
  • Ce qui se passe après l’essai

4. Tester intensivement

Sandbox iOS :

  • Créer des comptes de test dans App Store Connect
  • Configurer sur l’appareil (Réglages &gt; App Store &gt; Sandbox)
  • Notez les durées d’abonnement accélérées

Test de licence Android :

  • Ajouter des comptes de test dans la Play Console
  • Voir la notification « Test purchase »
  • Aucun débit réel n'est effectué

Ressources

Documentation des plateformes

Guides d'implémentation

Guides détaillés de validation

Besoin d'une aide experte ?

Bloqué par la validation de l'App Store ou besoin d'une aide concrète ? Notre équipe propose un support dédié pour l'implémentation des achats in-app et la préparation à la review.

Réserver un appel de consultation pour obtenir une aide personnalisée sur :

  • la revue de l'implémentation IAP
  • la préparation à la validation App Store
  • Conseils pour votre stratégie de soumission
  • Aide à la résolution des rejets
  • Support complet pour la configuration et les tests

Nous avons aidé des centaines d'apps à réussir leur review !

Conclusion

Réussir la review d'une app avec des achats in-app en 2025 demande de la précision, une communication claire et une implémentation rigoureuse. L'essentiel à retenir :

  1. La transparence est obligatoire - Affichez toujours les prix dès le départ
  2. Respectez les règles des plateformes - Utilisez les systèmes de facturation requis
  3. Testez à fond - Détectez les problèmes avant les reviewers
  4. Communiquez clairement - Les utilisateurs ne doivent jamais être perdus
  5. Préparez la documentation - Préparez des comptes de test

En suivant ce guide et en utilisant les bons outils comme le plugin native-purchases, vous augmenterez considérablement vos chances d'approbation dès le premier essai.

Rappelez-vous : les reviewers cherchent des apps qui respectent les utilisateurs et suivent les directives. Développez avec cet état d'esprit, et l'approbation suivra.

Besoin d'aide pour implémenter les achats in-app ? Consultez notre documentation complète ou contactez la communauté pour obtenir du support.

Continuer avec Comment passer la review de l'App Store pour les achats in-app en 2025

Si vous utilisez Comment réussir la review de l’App Store pour les achats intégrés en 2025 pour planifier la validation et la distribution sur le store, connectez-l’à @capgo/capacitor-in-app-review pour le détail d'implémentation dans @capgo/capacitor-in-app-review, Utiliser @capgo/capacitor-in-app-review pour la capacité native dans Utiliser @capgo/capacitor-in-app-review, @capgo/capacitor-native-market pour les détails d'implémentation dans @capgo/capacitor-native-market, Utiliser @capgo/capacitor-native-market pour la capacité native dans Using @capgo/capacitor-native-market, et Capacitor OTA Updates : guide d'approbation App Store pour le contexte pratique dans Capacitor OTA Updates : guide d'approbation App Store.

Live updates pour les apps Capacitor

Lorsqu'un bug de la couche web est en ligne, déployez le correctif via Capgo au lieu d'attendre des jours l'approbation des stores. Les utilisateurs reçoivent la mise à jour en arrière-plan, tandis que les changements natifs suivent le circuit de validation habituel.

Les derniers articles du blog

Capgo vous offre les meilleures informations pour créer une application mobile vraiment professionnelle.