Accueil

Gérer les achats intégrés avec InAppPurchaseLib - partie 3

Tutoriel Swift

Posté par Véronique le 18 May 2020

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.

iap-swift-lib

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.
sandbox
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.
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.

sandbox

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 :