Configurer un plan d'engagement de 12 mois
Pour proposer un plan d’engagement, vous avez besoin d’un abonnement App Store annuel, d’un paywall personnalisé, et du SDK Adapty v4.3 ou version ultérieure. Les flows ne peuvent pas afficher le plan.
Pour inciter vos abonnés à s’engager sur un an tout en payant mensuellement, ajoutez un plan d’engagement de 12 mois à votre produit annuel dans App Store Connect et dans Adapty.
Avant de commencer
Avant d’implémenter les plans d’engagement, assurez-vous de :
- Ciblez le bon marché : les plans d’engagement ne sont pas disponibles aux États-Unis. En Allemagne, en Israël, en Afrique du Sud et en Türkiye, les abonnés peuvent résilier immédiatement via le support Apple.
- Ciblez la bonne version d’OS : les abonnés doivent disposer d’iOS 26.4 ou version ultérieure, ou de la même version d’iPadOS, macOS, tvOS ou visionOS. Compilez votre application avec Xcode 26.5 ou version ultérieure.
- Ciblez la bonne tranche de prix : la somme des 12 paiements mensuels doit représenter entre 1x et 1,5x la valeur de l’abonnement annuel en paiement unique.
- Utilisez le SDK Adapty v4.3 ou version ultérieure : dans les versions de l’application avec un SDK antérieur, les utilisateurs ne peuvent acheter que le plan en paiement unique.
- Mettez à jour le code qui lit les identifiants produit : les webhooks, les intégrations, les exports de données et l’API côté serveur signalent les achats de plans d’engagement sous la forme
<product_id>:monthly. Si votre code traite des identifiants produit, mettez à jour la logique avant le premier achat d’un plan d’engagement.
1. Configuration d’App Store Connect
- Ouvrez un abonnement annuel dans App Store Connect, ou créez un nouvel abonnement avec une durée de 1 an.
- Dans la section Availability, ajoutez les mêmes pays sous 1 Year Upfront et sous Monthly with 12-Month Commitment. Apple ne propose la facturation par engagement que là où la facturation anticipée est disponible. L’inverse n’est pas obligatoire : vous pouvez proposer le forfait anticipé dans des pays sans le forfait par engagement.
- Dans la section Subscription Prices, définissez le prix anticipé pour votre territoire de base, si l’abonnement n’en a pas encore. Apple exige le prix anticipé même si vous n’affichez que le forfait par engagement aux utilisateurs.
- Définissez le prix mensuel pour votre territoire de base. Le prix mensuel doit représenter entre 1/12 et 1/8 du prix anticipé. Par exemple, avec un prix anticipé de 59,99 €, le prix mensuel peut être compris entre 5,00 € et 7,49 €.
App Store Connect calcule les prix des autres pays à partir des prix de votre territoire de base.
Pour des instructions complètes, suivez le guide Apple sur la souscription mensuelle avec engagement de 12 mois.
2. Configuration Adapty
Pour afficher le plan d’engagement dans les paywalls personnalisés, activez-le pour le produit annuel dans Adapty. Si vous n’utilisez pas de paywalls personnalisés, vous pouvez ignorer cette étape.
-
Ouvrez le produit annuel. S’il n’existe pas encore, créez-le et connectez l’abonnement que vous avez configuré dans App Store Connect. Ne publiez pas un nouveau produit depuis Adapty : cela créerait un abonnement distinct sans le plan d’engagement.
-
Ouvrez l’onglet App Store, puis sélectionnez Offer monthly payments with a 12-month commitment.
-
Dans la fenêtre contextuelle, dans la liste Monthly price, USD, sélectionnez le prix d’acompte correspondant à App Store Connect. La liste contient uniquement les tarifs App Store dans la plage autorisée. Ce prix est une valeur de référence : Adapty ne l’envoie pas à App Store Connect.
3. Configurer les offres
Dans App Store Connect, chaque formule de facturation possède ses propres offres de lancement, offres promotionnelles, offres de reconquête et codes de réduction. Une offre associée à la formule de paiement immédiat ne s’applique pas à la formule avec engagement.
- Essais gratuits et autres offres de lancement : Dans App Store Connect, configurez l’offre pour le plan d’engagement. Adapty applique les offres de lancement automatiquement. Quand une offre de lancement se termine, l’abonnement de 12 mois de l’abonné commence.
- Offres promotionnelles et offres de reconquête : Configurez des offres promotionnelles ou des offres de reconquête pour le plan d’engagement dans App Store Connect. Ensuite, ajoutez les offres à Adapty et définissez leur App Store plan sur Monthly with 12-month commitment. Une ligne de paywall n’affiche que les offres correspondant à son propre plan de facturation. Si vous n’utilisez pas de paywalls personnalisés, vous n’avez pas besoin d’ajouter les offres à Adapty.
- Codes d’offre : Configurez des codes d’offre pour le plan d’engagement dans App Store Connect.
4. Ajouter à un paywall personnalisé
Apple exige que vous affichiez à la fois le prix par versement et le total annuel avant l’achat.
- Dans le paywall personnalisé, ajoutez le produit annuel et définissez son Billing plan sur Monthly. Pour vendre également le plan prépayé sur le même paywall, ajoutez de nouveau le produit annuel avec le Billing plan Upfront.
- Pour proposer une offre prépayée aux utilisateurs qui achètent le plan prépayé à la place — sur une version antérieure du SDK, ou lorsque le plan d’engagement ne s’applique pas — sélectionnez-la sous Fallback offer.
- Dans votre app, affichez le prix provenant de
product.subscriptionPricingTerms. Pour les utilisateurs pouvant acheter le plan d’engagement, le SDK Adapty retourne la tarification de ce plan. Pour tous les autres, le SDK retourne la tarification du plan prépayé :- Pour savoir quel plan le SDK a retourné, vérifiez
product.subscriptionPricingTerms?.billingPlan. La valeur est.monthlypour le plan d’engagement et.upFrontpour le plan prépayé. - Pour afficher le prix par versement, utilisez
subscriptionPricingTerms.localizedBillingPriceetsubscriptionPricingTerms.billingPeriod. - Pour afficher le total annuel, utilisez
subscriptionPricingTerms.commitmentInfo.localizedPriceetsubscriptionPricingTerms.commitmentInfo.period. Pour le plan d’engagement,product.localizedPriceetproduct.subscriptionPeriodretournent les mêmes valeurs annuelles.
- Pour savoir quel plan le SDK a retourné, vérifiez
Les utilisateurs ne peuvent pas acheter le plan d’engagement dans les cas suivants :
- Version de l’OS ou pays non pris en charge : l’appareil Apple de l’utilisateur tourne sur une version du système antérieure à 26.4, ou le plan n’est pas disponible dans le pays de leur App Store. Le SDK Adapty renvoie alors le tarif du plan initial.
- Abonnement initial existant : StoreKit indique que l’utilisateur est déjà abonné. Pour changer de plan, les abonnés utilisent leurs réglages d’abonnement Apple.
- Achat intégré promu : l’utilisateur sélectionne le produit dans l’App Store, puis le SDK Adapty lance l’achat dans votre application. Pour ces achats, le SDK ne prend en charge que le plan initial.
Pour ne plus proposer l’offre d’engagement, dans vos paywalls personnalisés, définissez le Billing plan du produit annuel sur Upfront, ou supprimez la ligne Monthly. Vous ne pouvez pas décocher la case Offer monthly payments with a 12-month commitment dans Adapty. Les abonnés actuels continuent à renouveler leur engagement chaque année, sauf si vous cliquez sur Remove Monthly Billing pour l’abonnement annuel dans App Store Connect. Les abonnés qui se sont déjà engagés continuent à payer jusqu’à la fin de leur engagement.
5. Tester le plan dans un sandbox
Suivez le guide de test en sandbox avec deux comptes sandbox :
- Un compte d’un pays où vous proposez le plan d’engagement : le paywall doit afficher le plan d’engagement avec le prix mensuel ainsi que le prix total. Après l’achat, le profil de l’utilisateur sandbox doit avoir le niveau d’accès du produit annuel.
- Un compte américain : le paywall ne doit afficher que le plan en paiement unique.
Si votre code traite des identifiants de produits provenant de webhooks ou de l’API côté serveur, vérifiez qu’il reçoit les achats de plans d’engagement sous la forme <product_id>:monthly.
Pour tester la logique d’achat en local, utilisez StoreKit Testing dans Xcode 26.5 ou version ultérieure. Les achats effectués dans StoreKit Testing n’atteignent pas Adapty.
Dépannage
- La case à cocher pour les paiements mensuels est manquante : La case Offer monthly payments with a 12-month commitment n’apparaît que sur un produit Annual avec un identifiant de produit App Store. Elle reste inactive tant que le produit n’a pas de Price (USD).
- Les utilisateurs ne voient pas d’essai gratuit ni d’autre offre pour le plan à engagement : Dans App Store Connect, chaque offre appartient à un plan de facturation. Configurez l’offre pour le plan à engagement. Pour une offre promotionnelle ou de reconquête, définissez également l’App Store plan de l’offre dans Adapty sur Monthly with 12-month commitment.
- Tous les utilisateurs voient le prix initial : Vérifiez les deux points suivants :
- L’application est compilée avec Xcode 26.5 ou une version ultérieure. Avec une version antérieure de Xcode, le SDK Adapty renvoie toujours la tarification du plan initial.
- Dans le paywall personnalisé, le Billing plan du produit annuel est Monthly.
- Certains utilisateurs voient le prix initial : Ces utilisateurs ne peuvent pas acheter le plan à engagement.
- Le paywall affiche le total annuel au lieu du prix de l’acompte mensuel : Pour le plan à engagement,
product.localizedPricerenvoie le total annuel. Pour afficher le prix de l’acompte, utilisezsubscriptionPricingTerms.localizedBillingPrice.