Abonnements et rapports dans Xamarin.iOS
À propos des abonnements sans renouvellement
Les abonnements sans renouvellement sont destinés aux produits qui représentent la vente d’un service avec une restriction de temps (par exemple, l’accès d’une semaine à une application de navigation ou l’accès limité dans le temps à une archive de données).
Principales différences entre les abonnements sans renouvellement et les autres types de produits :
- La définition de produit dans iTunes Connect n’inclut pas le terme . Le code d’application doit être en mesure de déduire la période de validité à partir de l’ID de produit.
- Ils peuvent être achetés plusieurs fois (comme un produit consommable). Les applications sont nécessaires pour gérer la durée/l’expiration et le renouvellement de l’abonnement, et empêcher l’utilisateur d’acheter des abonnements qui se chevauchent.
- Les achats ne sont pas pris en charge par la fonction StoreKit Restore. Si l’abonnement doit être disponible sur tous les appareils d’un utilisateur, l’application doit concevoir et implémenter cette fonctionnalité conjointement avec un serveur distant. Les applications sont également responsables de la sauvegarde de l’abonnement status dans les cas où un appareil est sauvegardé, puis restauré à partir de la sauvegarde.
- Vue d’ensemble de l’implémentation
- Les abonnements sans renouvellement doivent normalement être implémentés à l’aide du flux de travail Server-Delivered et gérés comme des produits consommables.
À propos des abonnements gratuits
Les abonnements gratuits permettent aux développeurs de placer du contenu gratuit dans les applications Newsstand (ils ne peuvent pas être utilisés dans des applications non-Kiosque). Une fois qu’un abonnement gratuit est démarré, il est disponible sur tous les appareils de l’utilisateur. Les abonnements gratuits n’expirent jamais ; ils se terminent uniquement lorsque l’application est désinstallée.
Vue d’ensemble de l’implémentation
Les abonnements gratuits se comportent comme des abonnements auto-renouvelables. L’application doit avoir un produit d’abonnement gratuit disponible à l’achat dans iTunes Connect. Lorsqu’il est acheté par l’utilisateur, l’achat d’abonnement gratuit doit être validé comme un produit d’abonnement renouvelable automatiquement. Les transactions d’abonnement gratuites peuvent être restaurées.
À propos des abonnements auto-renouvelables
Les abonnements auto-renouvelables sont principalement utilisés dans les applications Newsstand. Ils représentent un produit qui accorde à l’utilisateur l’accès au contenu dynamique pendant une période donnée, qui est configuré dans iTunes Connect (périodes définies allant de 7 jours à 1 an). Les abonnements sont renouvelés automatiquement, en facturant l’ID Apple des utilisateurs à la fin de chaque période d’abonnement, sauf si l’utilisateur refuse. Ce type de produit fonctionne bien pour les abonnements aux magazines ou aux actualités, où l’utilisateur a accès à chaque problème publié pendant que son abonnement est valide.
Vue d’ensemble de l’implémentation
Les abonnements auto-renouvelables doivent être implémentés à l’aide du flux de travail Server-Delivered Products (reportez-vous à la section Vérification des reçus et Server-Delivered Produits ).
Secret partagé
Le secret partagé d’achat In-App doit être utilisé dans la requête JSON lors de la vérification des abonnements renouvelables automatiquement sur votre serveur. Le secret partagé est créé/accessible via iTunes Connect.
Dans la page d’accueil iTunes Connect, sélectionnez Mes applications :
Sélectionnez une application et cliquez sur l’onglet Achats dans l’application :
En bas de la page, sélectionnez Afficher ou générer un secret partagé :
Pour utiliser le secret partagé, incluez-le dans la charge utile JSON envoyée aux serveurs d’Apple lors de la validation d’un reçu d’achat dans l’application pour un abonnement renouvelable automatiquement, comme suit :
{
"receipt-data" : "(receipt bytes here)",
"password" : "(shared secret bytes here)"
}
Le champ status de la réponse est égal à zéro si l’achat est valide, comme pour les autres types de produits.
Téléchargement des éléments après la période d’abonnement initiale
Dans le cadre de la livraison des produits d’abonnement, le code doit fréquemment vérifier le dernier reçu connu sur les serveurs d’Apple. Si un abonnement a été renouvelé automatiquement depuis la dernière vérification, la réponse JSON contient des champs supplémentaires qui notifient l’application de la transaction qui s’est produite (ce qui doit étendre la validité des abonnements). La réponse JSON contient :
{
"status" : 0,
"receipt" : { (receipt here) },
"latest_receipt" : "(base-64 encoded receipt here)",
"latest_receipt_info" : { (latest receipt info here) }
}
Si le status est égal à zéro, l’abonnement est toujours valide et les autres champs contiennent des données valides. Si le status est 21006, l’abonnement a expiré. Consultez la documentation Vérification d’un reçu d’abonnement renouvelable automatiquement pour obtenir d’autres codes d’erreur.
Restauration des abonnements auto-renouvelables
Vous récupérerez plusieurs transactions : la transaction d’achat d’origine plus une transaction distincte pour chaque période de renouvellement de l’abonnement. Vous devez suivre les dates et conditions de début pour comprendre la période de validité.
L’objet SKPaymentTransaction n’inclut PAS la période d’abonnement : vous devez utiliser un ID de produit différent pour chaque terme et écrire du code qui peut extrapoler la période d’abonnement à partir de la date d’achat de la transaction.
Test du renouvellement automatique
Pour faciliter le test des abonnements, leurs durées sont compressées lors du test dans le bac à sable. Les abonnements d’une semaine sont renouvelés toutes les 3 minutes, les abonnements d’un an sont renouvelés toutes les heures. Les abonnements sont renouvelés automatiquement un maximum de 6 fois lors du test dans le bac à sable.
Rapports
iTunes Connect ( itunesconnect.apple.com) fournit :
Ventes et tendances : affiche les détails des téléchargements d’applications, des mises à jour et des achats dans l’application.
Paiements et rapports financiers : détaille les revenus gagnés par vos applications, ainsi que la liste des paiements qui vous ont été versés et le montant que vous devez.
Voici un exemple de rapport Ventes et tendances :
Il existe également une application iOS ITC Connect Mobile . Les captures d’écran de l’iPhone pour certaines des statistiques disponibles sont affichées ici :