Aller au contenu

Créer un abonnement iOS à renouvellement automatique

GitHub

Les abonnements renouvelables automatiquement offrent un accès récurrent à du contenu, des services ou des fonctionnalités premium dans votre application iOS. Ce guide vous accompagne dans la création d'abonnements via App Store Connect.

Les abonnements renouvelables automatiquement se renouvellent à la fin de chaque période de facturation jusqu'à ce que l'utilisateur les annule. Ils sont parfaits pour :

  • Le contenu et les fonctionnalités premium
  • Expérience sans publicité
  • Le stockage cloud et la synchronisation
  • Les services de streaming
  • Les outils et utilitaires professionnels

Avant de créer des abonnements, vous devez :

  1. Créer un groupe d'abonnements pour organiser vos abonnements
  2. Avoir un compte Apple Developer Program actif
  3. Compléter les informations bancaires et fiscales dans App Store Connect
  1. Accéder aux abonnements

    Dans App Store Connect, sélectionnez votre app et allez dans Monétisation > Abonnements.

    Sélectionnez votre groupe d'abonnements ou créez-en un nouveau si nécessaire.

    Accéder aux abonnements

  2. Créer un nouvel abonnement

    Cliquez sur les + l'icône à côté de votre groupe d'abonnement pour ajouter un nouvel abonnement.

  3. Saisir les informations de base

    Nom de référence: Nom descriptif pour votre usage interne (non visible par les clients)

    • Exemples : « Premium Mensuel », « Ultimate Annuel », « Plan Basic »

    ID du produit: Identifiant unique pour cet abonnement (ne pourra plus être modifié)

    • Format : com.yourcompany.yourapp.premium_monthly
    • Utilisez des noms descriptifs en minuscules avec des underscores
    • Requis pour configurer le plugin native-purchases

    Saisir les détails de l'abonnement

  4. Configurer la durée

    Sélectionnez la durée de l'abonnement parmi les options disponibles :

    • 1 semaine
    • 1 mois
    • 2 mois
    • 3 mois
    • 6 mois
    • 1 an

    La durée détermine la fréquence de facturation des utilisateurs.

  5. Configurer les tarifs

    Cliquez Ajouter le prix de l'abonnement pour configurer les tarifs :

    Territoire de base: Sélectionnez votre marché principal (généralement votre pays)

    Prix: Définissez le prix de l'abonnement

    • Apple convertit automatiquement vers les autres devises
    • Choisissez parmi les paliers de prix d'Apple
    • Tenez compte de la valeur perçue et des prix du marché

    Configurer les tarifs

  6. Partage familial (optionnel)

    Décidez d'activer ou non le partage familial, qui permet jusqu'à 6 membres de la famille d'accéder à l'abonnement.

    Activez si :

    • Le contenu est adapté à un usage familial
    • Vous souhaitez renforcer votre proposition de valeur
    • Votre modèl’économique le permet

    N'activez pas si :

    • L'abonnement est réservé à un usage individuel
    • Le contenu est personnalisé pour l'utilisateur
    • Vous voulez maximiser les revenus par utilisateur
  7. Ajouter des localisations

    Add subscription display information in all languages your app supports:

    Nom d'affichage de l'abonnement: Nom visible par le client (ex: « Premium Mensuel »)

    Description: Brève description du contenu de l'abonnement

    • Soyez concis et axé sur les bénéfices
    • Mentionnez les fonctionnalités clés
    • Mettez en avant la proposition de valeur

    Ajoutez des localisations

  8. Image promotionnelle App Store (optionnel)

    Envoyez une image promotionnelle pour cet abonnement (312x390 pixels) :

    • S'affiche sur la page d'abonnement de l'App Store
    • Doit correspondre au design de votre app
    • Inclure le nom de l'abonnement pour plus de clarté
  9. Enregistrer et soumettre

    Cliquez Enregistrer pour créer l'abonnement.

    Pour le premier abonnement :

    • Doit être soumis avec une nouvelle version de l'app
    • À inclure dans votre prochaine soumission sur l'App Store
    • Ne peut pas être soumis indépendamment

    Pour les abonnements suivants :

    • Peuvent être soumis directement depuis la page Subscriptions
    • Ne nécessitent pas de nouvelle version de l'app
    • Disponibles après l'approbation du premier abonnement

Votre abonnement aura l'un des statuts suivants :

StatutDescriptionTest possible ?
Métadonnées manquantesConfiguration incomplèteOui (sandbox)
Prêt pour la soumissionTerminé mais non soumisOui (sandbox)
En attente de révisionSoumis à AppleOui (sandbox)
En cours d'examenEn cours de révision par AppleOui (sandbox)
ApprouvéDisponible à l'achatOui
RefuséModifications requisesOui (sandbox)

Utilisation dans votre application

Section titled “Using in Your App”

Une fois créée, référencez l'abonnement dans votre application via l'ID du produit :

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch subscription products direct from StoreKit
const { products } = await NativePurchases.getProducts({
productIdentifiers: [
'com.yourcompany.yourapp.premium_monthly',
'com.yourcompany.yourapp.premium_annual',
],
productType: PURCHASE_TYPE.SUBS,
});
products.forEach((product) => {
console.log(`${product.title}: ${product.priceString}`);
console.log(`Duration: ${product.subscriptionPeriod}`);
console.log(`Description: ${product.description}`);
});
// Purchase a subscription (StoreKit 2 automatically handles intro pricing and offers)
try {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.yourcompany.yourapp.premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Transaction ID:', transaction.transactionId);
// StoreKit receipts are included on iOS for server-side validation
await sendReceiptToBackend(transaction.receipt);
} catch (error) {
console.error('Purchase failed:', error);
}
// Check subscription status using the store's data
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const premium = purchases.find(
(purchase) => purchase.productIdentifier === 'com.yourcompany.yourapp.premium_monthly',
);
if (premium?.isActive) {
console.log('Expires:', premium.expirationDate);
console.log('Will renew:', premium.willCancel === false);
console.log('Store state:', premium.subscriptionState);
unlockPremiumFeatures();
} else {
showPaywall();
}

Si votre abonnement dans App Store Connect est configuré avec un plan de facturation mensuel et un engagement de 12 mois, StoreKit peut renvoyer des conditions tarifaires supplémentaires pour ce produit. Utilisez ces conditions pour afficher le montant mensuel, le prix total de l'engagement et la durée totale de l'engagement avant l'achat.

const yearlyProduct = products.find(
(product) => product.identifier === 'com.yourcompany.yourapp.premium_annual',
);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);
if (yearlyProduct && monthlyCommitment) {
console.log('Monthly charge:', monthlyCommitment.billingDisplayPrice);
console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
await NativePurchases.purchaseProduct({
productIdentifier: yearlyProduct.identifier,
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
});
}

Pour le flux complet du paywall et des entitlements, consultez Plans de facturation mensuels avec engagement sur iOS.

  • Plans mensuels: Barrière à l'entrée plus faible, crée l'habitude
  • Plans annuels: Plus de valeur, LTV plus élevée, churn réduit
  • Plusieurs niveaux: Basic, Premium, Ultimate pour différents segments d’utilisateurs
  • Analyse concurrentielle: Étudiez les tarifs des applications similaires
  • Utilisez une nomenclature cohérente : company.app.tier_duration
  • Incluez le niveau et la durée dans l’ID : premium_monthly, ultimate_annual
  • Évitez de modifier les product IDs (ils sont permanents)
  • Documentez tous les product IDs pour votre équipe
  • Activez pour les apps familiales (jeux, éducation, divertissement)
  • Évaluez l'impact sur vos revenus
  • Testez minutieusement le comportement du partage
  • Communiquez les fonctionnalités de partage dans votre marketing
  • Traduisez tous les noms et descriptions d'abonnements
  • Prenez en compte les différences de prix régionales
  • Testez l'affichage dans toutes les langues supportées
  • Utilisez un langage marketing adapté à la culture locale
  • Maintenir un style visuel cohérent
  • Inclure le nom de l'abonnement et l'avantage clé
  • Mettre à jour pour les promotions saisonnières
  • Respecter la charte graphique de l'application
Free App + Premium Subscription
- Basic: Free (limited features)
- Premium Monthly: $4.99
- Premium Annual: $39.99 (save 33%)
- Basic Monthly: $4.99
- Premium Monthly: $9.99
- Ultimate Monthly: $19.99
- Basic Annual: $49.99
- Premium Annual: $99.99
- Ultimate Annual: $199.99
- Credit packs (consumable)
- Monthly subscription (unlimited credits)
- Annual subscription (unlimited + bonus features)

L'abonnement ne se charge pas dans l'app :

  • Vérifiez que l'ID du produit correspond exactement (sensible à la casse)
  • Vérifiez que l'abonnement fait partie d'un groupe d'abonnements
  • Assurez-vous que le bundle identifier correspond à App Store Connect
  • Attendez 2 à 3 heures après la création du produit

Impossible de soumettre l'abonnement :

  • Remplissez tous les champs requis (nom, description, prix)
  • Ajoutez au moins une localisation
  • Vérifier l'approbation des infos bancaires/fiscales
  • Vérifier si c'est le premier abonnement (nécessite une version de l'app)

Option Family Sharing désactivée :

  • Déjà activée (impossible de la désactiver)
  • Vérifiez dans les détails de l'abonnement
  • Contacter le support Apple en cas de blocage

Palier de prix indisponible :

  • Peut être restreint dans certains territoires
  • Choisissez un autre palier
  • Contacter Apple pour toute question sur les prix

Erreur « Invalid Product ID » :

  • Doit être au format domaine inversé
  • Ne peut pas contenir d'espaces ou de caractères spéciaux
  • Vérifiez les fautes de frappe
  • Vérifiez l'unicité de l'ID parmi tous les produits

Pour plus de détails, consultez la documentation officielle d'Apple sur les abonnements renouvelables automatiquement.

Continuer après Créer un abonnement iOS renouvelable automatiquement

Section intitulée « Continuer après Créer un abonnement iOS renouvelable automatiquement »

Si vous utilisez Créer un abonnement iOS à renouvellement automatique pour planifier la validation et la distribution sur le store, connectez-l’à Utiliser @capgo/native-purchases pour la capacité native dans Utiliser @capgo/native-purchases @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 le détail d'implémentation dans @capgo/capacitor-native-market, et Utiliser @capgo/capacitor-native-market pour la capacité native dans Utiliser @capgo/capacitor-native-market.