Aller directement au contenu

Créer une souscription auto-renouvelable iOS

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

Les abonnements renouvelables automatiques se renouvellent automatiquement à la fin de chaque période de facturation tant que les utilisateurs ne les annulent pas.

  • Des contenus et fonctionnalités premium
  • Des expériences sans publicités
  • Un stockage et synchronisation Cloud
  • Des services de streaming
  • Des 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 abonnement actif au programme Apple Developer
  3. Informations bancaires et fiscales complètes dans App Store Connect
  1. Naviguer vers les souscriptions

    Dans App Store Connect, sélectionnez votre application et allez à Monétiser > Souscriptions.

    Sélectionnez votre groupe de souscription ou créez-en un nouveau si nécessaire.

    Naviguer vers les souscriptions

  2. Créer une nouvelle souscription

    Cliquez sur le + icône à côté de votre groupe de souscription pour ajouter une nouvelle souscription.

  3. Entrer les informations de base

    Nom de référenceNom décrivant utilisé à des fins internes (pas affiché aux clients)

    • Exemples: “Abonnement mensuel Premium”, “Abonnement annuel Ultimate”, “Plan de base”

    ID du produitIdentifiant unique pour cette souscription (ne peut pas être modifié ultérieurement)

    • Format: com.yourcompany.yourapp.premium_monthly
    • Utilisez des noms décritifs en minuscule avec des tirets bas
    • Requis pour la configuration du plugin native-purchases

    Entrer les détails de la souscription

  4. Configurer la durée

    Sélectionnez la durée de la souscription parmi les options disponibles:

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

    La durée détermine la fréquence à laquelle les utilisateurs sont facturés.

  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éfinir le prix de l'abonnement

    • Apple convertit automatiquement en autres devises
    • Choisissez parmi les niveaux de prix d'Apple
    • Considérez la valeur perçue et les taux du marché

    Configurer les tarifs

  6. Partage familial (Optionnel)

    Décidez de l'activation du partage familial, qui permet jusqu'à 6 membres de la famille d'accéder à l'abonnement.

    Activer si :

    • Le contenu est approprié pour une utilisation familiale
    • Vous souhaitez augmenter votre proposition de valeur
    • Votre modèle commercial le soutient

    N'activez pas si :

    • La souscription est réservée à l'utilisation individuelle
    • Le contenu est personnalisé pour l'utilisateur
    • Vous souhaitez maximiser le revenu par utilisateur
  7. Ajouter des localisations

    Ajouter les informations de visualisation de la souscription dans toutes les langues que votre application prend en charge :

    Nom de la souscription affichéNom affiché à l'utilisateur (par exemple, « Premium mensuel »)

    Description: Description brève de ce que la souscription inclut

    • Tenez-le concis et axé sur les avantages
    • Mentionnez les principaux fonctionnalités
    • Mettons en avant la proposition de valeur

    Ajoutez les localisations

  8. Image de promotion de l'App Store (Facultatif)

    Téléchargez une image de promotion pour cette souscription (312x390 pixels):

    • Affiché dans la page de souscription de l'App Store
    • Doit correspondre au design de votre application
    • Incluez le nom de la souscription pour la clarté
  9. Enregistrer et Soumettre

    Cliquez Enregistrer pour créer l'abonnement.

    Pour la première abonnement :

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

    Pour les abonnements ultérieurs :

    • Peut être soumis directement depuis la page Abonnements
    • Ne nécessitent pas une nouvelle version de l'application
    • Disponible après l'approbation de la première souscription

Votre souscription aura l'un de ces statuts :

StatutDescriptionPouvez-vous tester ?
Données manquantesConfiguration incomplèteOui (sandbox)
Prêt à soumettreComplet mais non soumisOui (sandbox)
En attente de révisionSoumis à AppleOui (sandbox)
En révisionEn cours de révision par AppleOui (sandbox)
ApprouvéDisponible à l'achatOui
RejetéBesoin de modificationsOui (sandbox)

Copier dans le presse-papiers

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();
}

Copier dans le presse-papiers

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 la mise en œuvre complète de la barrière payante et du flux d'entitlement, voir Plans de facturation mensuels pour iOS.

  • Plans mensuelsBarrière d'entrée plus faible, création de l'habitude
  • Plans annuelsMeilleure valeur, plus grande valeur de vie, plus faible taux de rotation
  • Plusieurs niveauxBasique, Premium, Ultimate pour différents segments d'utilisateurs
  • Analyse de concurrence: Recherchez les tarifs des applications similaires
  • Utilisez des noms cohérents : company.app.tier_duration
  • Incluez le niveau et la durée dans l'ID : premium_monthly, ultimate_annual
  • Évitez de modifier les identifiants de produit (ceux-ci sont permanents)
  • Documentez tous les identifiants de produit pour votre équipe
  • Activez pour les applications axées sur la famille (jeux, éducatif, divertissement)
  • Considérez l'impact sur les revenus
  • Testez le comportement de partage soigneusement
  • Communiquez la capacité de partage dans la publicité
  • Traduisez tous les noms et les descriptions des abonnements
  • Prenez en compte les différences de tarification régionale
  • Testez la mise en page dans toutes les langues prises en charge
  • Utilisez un langage de marketing approprié à la culture
  • Maintenez un style visuel cohérent
  • Incluez le nom de l'abonnement et le bénéfice clé
  • Mise à jour pour les promotions saisonnières
  • Conformez-vous au langage de design 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)

Abonnement ne charge pas dans l'application :

  • Vérifiez que l'ID du produit correspond exactement (sensibilité à la casse)
  • Vérifiez que l'abonnement est dans le groupe d'abonnements
  • Assurez-vous que l'identifiant de l'ensemble correspond à App Store Connect
  • Attendez 2-3 heures après avoir créé le produit

Impossible de soumettre l'abonnement :

  • Remplissez tous les champs obligatoires (nom, description, prix)
  • Ajoutez au moins une localisation
  • Vérifiez que les informations bancaires/taxes sont approuvées
  • Vérifiez la première souscription (nécessite une version de l'application)

Désactivation de la fonctionnalité de partage familial :

  • Déjà activé (ne peut pas être désactivé)
  • Vérifiez les détails de la souscription
  • Contactez le support d'Apple si vous êtes bloqué

Niveau de tarification non disponible :

  • Peut être restreint dans certaines régions
  • Choisissez un niveau alternatif
  • Contactez Apple pour poser des questions sur les tarifs

Erreur « Produit ID non valide » :

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

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