Aller directement au contenu

Créer une Souscription Auto-Renouvelable iOS

GitHub

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 à la fin de chaque période de facturation tant que les utilisateurs n'annulent pas. Ils sont parfaits pour :

  • Contenu et fonctionnalités premium
  • Expériences sans publicités
  • Stockage et synchronisation sur le cloud
  • Services de streaming
  • Outils et utilitaires professionnels

Avant de créer des abonnements, vous devez :

  1. Créer un groupe d'abonnements organiser vos abonnements
  2. Posséder un abonnement actif au programme Apple Developer
  3. Fournir des informations bancaires et fiscales complètes dans App Store Connect
  1. Naviguer 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.

    Naviguer vers les abonnements

  2. Créer un Nouvel Abonnement

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

  3. Entrer les informations de base

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

    • Exemples: « Abonnement mensuel Premium », « Abonnement annuel Ultimate », « 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éscriptifs en minuscule avec des tirets bas
    • Requis 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 la souscription parmi les options disponibles:

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

    La durée détermine combien de fois les utilisateurs sont facturés.

  5. Configurer les tarifs

    Cliquez Ajoutez le prix de la souscription pour configurer les tarifs:

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

    Tarif: Définissez le prix de l'abonnement

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

    Configurez les tarifs

  6. Partage familial (Optionnel)

    Décidez si vous souhaitez activer le partage familial, 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 votre proposition de valeur
    • Votre modèle commercial le soutient

    N'activer 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 des localisations

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

    Nom de la visualisation de l'abonnement: Nom destiné à la clientèle (par exemple, « Abonnement mensuel Premium »)

    Description: Description concise de ce que l'abonnement comprend

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

    Ajoutez des localisations

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

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

    • Affiché dans la page d'abonnement de l'App Store
    • Correspond à votre design d'application
    • Incluez le nom de l'abonnement 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 séparément

    Pour les abonnements ultérieurs :

    • Peut être soumis directement depuis la page Abonnements
    • N'ont pas besoin d'une nouvelle version de l'application
    • Disponible après que la première abonné est approuvée

Votre abonnement aura l'un de ces statuts :

StatutDescriptionPeut tester ?
Manque de métadonnéesConfiguration 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 pour achatOui
RejetéBesoin de modificationsOui (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();
}

Abonnement mensuel avec des plans de 12 mois de engagement

Section intitulée « Abonnement mensuel avec des plans de 12 mois de engagement »

If votre abonnement App Store Connect est configuré avec un plan de facturation mensuelle 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 du mur de payement et du flux d'entitlement, voir Plans de facturation mensuelle de l'engagement iOS.

  • Plans mensuels: Barrière d'entrée plus faible, crée une habitude
  • Plans annuels: Meilleure valeur, plus grande valeur à long terme, plus faible taux de rotation
  • Multiples niveaux: Basique, 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 IDs de produit (ils sont permanents)
  • Décrivez tous les IDs de produit pour votre équipe
  • Activer pour les applications axées sur la famille (jeux, éducatifs, divertissement)
  • Considérer l'impact sur les revenus
  • Tester le comportement de partage soigneusement
  • Communiquer la capacité de partage dans la publicité
  • Traduire tous les noms et descriptions d'abonnement
  • Considérer les différences de tarification régionale
  • Tester la mise en page dans toutes les langues prises en charge
  • Utiliser un langage de publicité approprié à la culture
  • Maintenir un style visuel cohérent
  • Inclure le nom de l'abonnement et le bénéfice clé
  • Mettre à jour pour les promotions saisonnières
  • Correspondre 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)

L'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

L'abonnement ne peut pas être soumis :

  • 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 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 Apple si vous êtes bloqué

Niveau de tarification non disponible :

  • Peut être restreint dans certaines régions
  • Choisissez un niveau de tarification alternatif
  • Contactez Apple pour des questions de tarification

Erreur « ID de produit non valide » :

  • Doit être au format de 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 souscriptions auto-renouvelables.

Continuez de « Créer une souscription iOS auto-renouvelable »

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

Si vous utilisez Créer une souscription iOS auto-renouvelable pour planifier l'approbation et la distribution de l'appareil, connectez-le avec En utilisant @capgo/native-purchases pour la capacité native en utilisant @capgo/native-purchases, @capgo/capacitor-in-app-review pour le détail d'implémentation en @capgo/capacitor-in-app-review, En utilisant @capgo/capacitor-in-app-review pour la capacité native en utilisant @capgo/capacitor-in-app-review, @capgo/capacitor-native-market pour le détail d'implémentation en @capgo/capacitor-native-market, et En utilisant @capgo/capacitor-native-market pour la capacité native en utilisant @capgo/capacitor-native-market.