- auto-renewable subscriptions
- Fovea.Billing
- in-app purchases
- InAppPurchaseLib
- iOS 13
- StoreKit
- Swift 5
Dans cet article, nous verrons comment intégrer, simplement, des achats in-app dans une application Swift grâce à InAppPurchaseLib. Nous parlerons plus particulièrement des abonnements avec renouvellement automatique, mais la librairie supporte tous les types de produits. Le gros point fort de la librairie, c'est qu'elle intègre une vérification des achats auprès de Fovea.Billing, ce qui permet de sécuriser les transactions.
Nous avons vu, dans la première partie, comment configurer l'App Store Connect et un projet pour effectuer des achats intégrés. Puis, dans la seconde partie, nous avons vu comment intégrer la librairie dans le code de l'application.
Dans cette troisième et dernière partie, nous allons voir comment créer et utiliser un compte de tests pour effectuer des achats, sans être facturé, et avec des durées réduites pour les abonnements avec renouvellement automatique.
1. Créer un compte Sandbox
Retour sur l'App Store Connect afin de créer un utilisateur Sandbox. Il vous permettra de tester les achats intégrés en effectuant les transactions gratuitement.
- Depuis la page d'accueil de l'App Store Connect, cliquez sur Utilisateurs et accès.
- Allez dans la section Sandbox > Testeurs.
- Créez un nouveau testeur.
- Remarques :
- N'utilisez pas l'adresse email associé à votre identifiant Apple.
- Une fois créé, vous ne pourrez plus modifier les informations de cet utilisateur. Retenez bien le mot de passe que vous renseignez.
2. Utiliser le compte Sandbox
- Allez dans Réglages > iTunes Store et App Store > Compte Sandbox.
- Connectez-vous avec votre utilisateur Sandbox.
Lorsque vous exécuterez votre application, depuis Xcode ou depuis TestFlight, c'est ce compte qui sera utilisé pour régler un achat intégré. Assurez-vous que [Environment: Sandbox]
soit bien indiqué avant de confirmer un achat. Si tel est le cas alors rien ne vous sera facturé. Sinon, il vous faudra peut-être vous déconnecter de votre propre compte App Store, pour les versions d'iOS inférieures à la 12.
3. Durée des abonnements
Pour tester les achats d'abonnements auto-renouvelables, il serait bien fastidieux d'attendre une semaine pour voir si le renouvellement a lieu, et plus encore pour tester ce qui se passe lorsque l'abonnement n'est pas renouvelé.
- Heureusement, Apple a tout prévu !
- Les durées sont raccourcies.
- Le renouvellement automatique a lieu six fois au maximum.
En admettant que votre produit soit prévu pour une durée d'un mois : il faudra donc 5 minutes pour avoir le 1er renouvellement et tester que le contenu est toujours débloqué, puis 25 minutes de plus pour que le renouvellement s'arrête et ainsi tester que le contenu est à nouveau bloqué.
Voici la correspondance entre les durées réelles prévues, et les durées réelles qui vont s'écouler lorsque l'on est en mode Sandbox :
Durée réelle | Durée de test | Fin du renouvellement |
---|---|---|
1 semaine | 3 minutes | 18 minutes |
1 mois | 5 minutes | 30 minutes |
2 mois | 10 minutes | 60 minutes |
3 mois | 15 minutes | 90 minutes |
6 mois | 30 minutes | 180 minutes |
1 an | 1 heure | 6 heures |
Vous trouverez le code du projet de démo sur GitHub.
Plus d'info sur la documentation Apple développeur :
- Partager sur