Passer à la navigation principale

Créer un abonnement iOS Auto-Renewable

GitHub

Les abonnements renouvelables automatiques fournissent un accès récurrent au contenu, aux services ou aux 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 jusqu'à ce que les utilisateurs annulent. Ils sont parfaits pour :

  • Contenu et fonctionnalités premium
  • Expériences sans publicités
  • Stockage et synchronisation dans le cloud
  • Services de streaming
  • 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. Compléter vos informations bancaires et fiscales dans App Store Connect
  1. Naviguez vers les Abonnements

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

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

    Navigatez vers les abonnements

  2. Créez un nouvel abonnement

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

  3. Entrez les informations de base

    Nom de référence: Nom décrivant pour votre utilisation interne (ne sera pas affiché aux clients)

    • Exemples : « Abonnement Premium mensuel », « Abonnement annuel ultime », « Plan de base »

    ID du produit: Identifiant unique pour cet abonnement (ne peut pas être modifié ultérieurement)

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

    Entrer 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 combien souvent les utilisateurs sont facturés.

  5. Définir le Tarif

    Cliquez Ajoutez le prix d'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 en autres devises
    • Choisissez parmi les niveaux de tarifs d'Apple
    • Prenez en compte la valeur perçue et les taux du marché

    Configurez les tarifs

  6. Partage familial (Optionnel)

    Décidez si vous souhaitez activer la partage de famille, qui permet jusqu'à 6 membres de la famille d'accéder à l'abonnement.

    Activer si :

    • Le contenu est approprié pour un usage familial
    • Vous souhaitez augmenter la valeur proposition
    • Votre modèle commercial le soutient

    N'activez pas si :

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

    Ajoutez les informations de visualisation de l'abonnement dans toutes les langues que votre application prend en charge :

    Nom de l'abonnement (visuel): Nom affiché à l'utilisateur (par exemple, « Premium mensuel »)

    Description: Description concise de ce que l'abonnement comprend

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

    Ajouter les localisations

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

    Téléchargez une image de promotion pour cet abonnement (312x390 pixels) :

    • Affichez la page de l'abonnement de l'App Store
    • Correspond à la conception de votre application
    • Incluez le nom de l'abonnement pour plus de clarté
  9. Enregistrer et Soumettre

    Cliquez Enregistrer Pour la première abonnement :

    Doit être soumis avec une nouvelle version de l'application

    • Pour créer l'abonnement.
    • Incluez dans votre prochaine soumission sur l'App Store
    • Impossible de soumettre 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 que le premier abonnement soit approuvé

Votre abonnement 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 la revueSoumis à AppleOui (sandbox)
En cours de revueEn cours d'examen par AppleOui (sandbox)
ApprouvéDisponible à l'achatOui
RejetéA besoin de changementsOui (mode sandbox)

Une fois créé, référez-vous à la souscription dans votre application en utilisant 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 App Store Connect est configuré avec un plan de facturation mensuel et un engagement de 12 mois, StoreKit peut retourner des termes de tarification supplémentaires pour ce produit. Utilisez ces termes pour afficher le coût mensuel, le prix total de l'engagement et la période d'engagement complète 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 la mise en œuvre complète de la barrière payante et des droits d'accès, voir Plans de facturation mensuelle avec engagement sur iOS.

Meilleures pratiques

Stratégie de tarification

Section intitulée « Stratégie de tarification »

Plans mensuels
  • Section intitulée « Plans mensuels »: Barrière d'entrée plus faible, création de l'habitude
  • Plans annuels: Meilleure valeur, LTV plus élevé, taux de rotation plus bas
  • Niveaux multiples: Basic, Premium, Ultimate pour différents segments d'utilisateurs
  • Analyse concurrentielle: Recherchez les tarifs similaires des applications
  • 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
  • Activer pour les applications axées sur la famille (jeux, éducatif, divertissement)
  • Considérez l'impact sur les revenus
  • Testez soigneusement le comportement de partage
  • Communiquez la capacité de partage dans la publicité
  • Traduisez tous les noms et les descriptions d'abonnement
  • Considérez les différences de tarification régionale
  • Testez la mise en page dans toutes les langues prises en charge
  • Utilisez un langage marketing approprié à la culture
  • Conservez un style visuel cohérent
  • Incluez le nom de l'abonnement et son bénéfice clé
  • Mettez à 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)

Le souscripton ne charge pas dans l'application :

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

Impossible de soumettre la souscription :

  • 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 si la première souscription (nécessite une mise à jour de l'application)

La fonctionnalité de partage familial est désactivée :

  • Déjà activée (ne peut pas être désactivée)
  • Vérifiez les détails de la souscription
  • Contactez le support 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 de produit ID invalide” :

  • Doit être au format inverse du domaine
  • Ne doit pas contenir d'espaces ou de caractères spéciaux
  • Vérifiez les fautes d'orthographe
  • Vérifiez l'unicité par rapport à tous les produits

Pour plus de détails, consultez la documentation officielle d'Apple sur les souscriptions auto-renouvelables Continuez de la section Créer une souscription iOS auto-renouvelable.

Section intitulée « Continuez de la section Créer une souscription iOS auto-renouvelable »

Si vous utilisez

abonnements Créer une souscription iOS Auto-Renewable pour planifier l'approbation et la distribution de l'application, connectez-l’à En utilisant @capgo/achats-natifs pour la capacité native dans En utilisant @capgo/achats-natifs, En @capgo/capacitor-avis-de-l'utilisateur pour le détail d'implémentation dans En @capgo/capacitor-avis-de-l'utilisateur, En utilisant @capgo/capacitor-avis-de-l'utilisateur pour la capacité native dans En utilisant @capgo/capacitor-avis-de-l'utilisateur, En @capgo/capacitor-marché-natif pour le détail d'implémentation dans En @capgo/capacitor-marché-natif, et En utilisant @capgo/capacitor-marché-natif pour la capacité native dans En utilisant @capgo/capacitor-marché-natif.