
Vous avez donc une application avec des abonnements renouvelables automatiquement. Cela fonctionne très bien, les utilisateurs émettent de façon incontrôlable des abonnements premium et rédigent des critiques élogieuses. La beauté!
Bonjour à tous, je m'appelle Denis, je suis chef de projet pour Apphud , un service d'analyse des abonnements auto-renouvelables pour les applications iOS.
En tant que chef de projet, il est essentiel que vous vous teniez au courant des principales mesures de produit. L'un des plus importants est la valeur à vie (LTV) - le revenu moyen de chaque utilisateur pendant toute la durée d'utilisation de l'application. Mais comment le calculer dans le cas des abonnements auto-renouvelables sur iOS? Comment suivre l'heure de renouvellement, d'annulation, de renouvellement d'un abonnement par un utilisateur?
Jusqu'à récemment (c'est-à-dire jusqu'en 2017), la seule façon de procéder était le soi-disant sondage sur le statut des abonnements. À tout moment, vous pouvez obtenir des informations sur l'état de l'abonnement en envoyant le reçu nécessaire à l'URL: https://buy.itunes.apple.com/verifyReceipt . Une fois que vous l'avez reçu, vous pouvez afficher des informations de base sur l'abonnement, y compris la date de fin. Certes, vous n'en aurez toujours pas le coût.
Pour implémenter le sondage d'état, vous devez:
- transférer et stocker sur le serveur toutes les vérifications de tous les abonnements de chaque utilisateur,
- implémenter une logique de serveur complexe, qui vérifiera régulièrement ces vérifications.
C'est compliqué. Mais en 2017, Apple semble résoudre ce problème. À la WWDC, avec une ovation debout, ils présentent des notifications de mise à jour du statut des abonnements Apple.
Que sont les notifications d'abonnement?
Les notifications de mise à jour de l'état des abonnements Apple sont un mécanisme permettant d'envoyer des webhooks à votre serveur Apple lorsque des événements d'abonnement auto-renouvelables se produisent. Pour les activer, vous devez d'abord configurer votre serveur pour les accepter: le serveur doit prendre en charge le protocole App Transport Security (généralement tout fonctionne par défaut). Après cela, vous devez vous rendre sur l' App Store Connect et dans la section «App Store» des paramètres de votre application insérer un lien où Apple enverra une demande POST chaque fois qu'un événement se produit:

Notez qu'Apple recommande d'utiliser les notifications d'abonnement conjointement avec l'interrogation de l'état. Mauvais signe ...
C'est fait! Vous devez maintenant être averti chaque fois qu'un abonnement est émis, renouvelé ou annulé, par exemple.
Variétés de notifications
Apple envoie 6 types de notifications qui se produisent lors de divers événements. Nous analyserons chacun d'eux.
INITIAL_BUY
Apple envoie cette notification lorsqu'un utilisateur s'inscrit pour la première fois à un groupe d' abonnement.
Vous pouvez en savoir plus sur les groupes d'abonnement dans notre article .

ANNULER
Cet événement est envoyé lorsque l'utilisateur annule l'abonnement via l'assistance Apple Care et rembourse l'achat. Nous soulignons qu'il ne s'agit pas de l'annulation habituelle de l'abonnement via les paramètres iOS.
CANCEL
événement CANCEL
n'est pas distribué lors d'une annulation normale via les paramètres iOS.

DID_CHANGE_RENEWAL_STATUS
Cet événement a été ajouté récemment. Il est envoyé lorsque l'utilisateur se déconnecte ou (encore) active le renouvellement de l'abonnement via les paramètres iOS, l'application App Store ou le support Apple:
Ne confondez pas cet événement avec l'événement CANCEL
qui se déclenche lorsque vous annulez votre abonnement et remboursez via l'assistance Apple Care.

RENOUVELLEMENT
La première chose qui vous vient à l'esprit lorsque vous voyez le nom de cet événement: Apple l'envoie lorsque le renouvellement est automatiquement renouvelé. Peu importe comment!
L'événement RENEWAL
envoyé lorsque:
l'abonnement de l'utilisateur a été annulé automatiquement en raison de problèmes avec la carte bancaire de l'utilisateur ...
et après cela, l'utilisateur a renouvelé à nouveau l'abonnement. C'est à ce stade que l'événement RENEWAL
est RENEWAL
.

Un RENEWAL
RENOUVELLEMENT RENEWAL
pas envoyé en cas de renouvellement régulier d'un abonnement. Au lieu de cela, Apple suggère de vérifier la vérification de l'abonnement via /VerifyReceipt
avant et après le renouvellement prévu, et d'analyser la date d' expiration_date
résultante

INTERACTIVE_RENEWAL
Cet événement est envoyé si:
L'utilisateur a annulé l'abonnement et quelque temps après cela ...
abonnement renouvelé par l'utilisateur. C'est à ce moment que INTERACTIVE_RENEWAL
envoyé.
Le nouvel abonnement (qui est indiqué dans la clause 2) peut différer de la souscription de la clause 1, mais les deux doivent appartenir au même groupe d'achat. Par exemple, un utilisateur peut se désinscrire du plan tarifaire Bronze et après un certain temps renouveler son abonnement en choisissant le plan Gold. Dans ce cas, Apple enverra l'événement INTERACTIVE_RENEWAL
à votre serveur (à condition que les abonnements Bronze et Gold appartiennent au même groupe d'achats). Vous pouvez en savoir plus sur les groupes d'abonnement ici .

DID_CHANGE_RENEWAL_PREF
DID_CHANGE_RENEWAL_PREF
envoyé lorsqu'un utilisateur passe d'un abonnement à un autre au sein du même groupe d'achats:

Quel est le résultat?
Apple propose jusqu'à 6 événements, mais aucun d'entre eux n'est envoyé lors du renouvellement automatique d'un abonnement en mode normal. Pourquoi ont-ils fait ça? Pas clair. De plus, les noms de ces événements sont trompeurs.
Le tableau ci-dessous résume les événements.

Comment utiliser les notifications d'abonnement Apple?
Étant donné que l'événement le plus important dont vous avez besoin pour calculer LTV - le renouvellement de l'abonnement en mode normal - n'est pas envoyé, vous devez toujours utiliser le sondage d'état. Il est possible qu'Apple ajoute cet événement dans un proche avenir, mais même si cela se produit, vous ne pouvez toujours pas vous passer de votre propre serveur. Ce serveur agira comme une «couche» entre Apple et un autre système d'analyse (par exemple, Amplitude, Flurry ou Mixpanel). En recevant des événements et en vérifiant les chèques, vous lui enverrez des informations sur les renouvellements, les annulations et les remboursements.
Une fois que nous avons rencontré ce problème et décidé de développer un service qui résoudrait ces problèmes. L'idée est donc née du service sur lequel nous travaillons actuellement - le service d'analyse d'abonnement pour iOS, qui comble le vide dans l'envoi d'événements d'Apple.
Conclusion
Les notifications d'abonnement Apple ne sont pas aussi bonnes qu'elles le semblent, car ce n'est qu'avec elles que vous ne pouvez pas résoudre le problème principal: savoir combien d'argent un utilisateur vous apporte. Apple pourrait faciliter la vie des développeurs à l'avenir, mais une chose est sûre: la mise en œuvre actuelle des notifications d'abonnement est extrêmement peu évidente et ressemble à des béquilles.
Vous souhaitez mettre en œuvre des abonnements dans votre application iOS en 10 minutes? Intégrez Apphud et:
- Faites des achats en utilisant une seule méthode;
- suivre automatiquement l'état de l'abonnement de chaque utilisateur;
- Intégrez facilement les offres d'abonnement
- envoyer des événements d'abonnement à Amplitude, Mixpanel, Slack et Telegram en tenant compte de la devise locale de l'utilisateur;
- diminuer le taux de désabonnement dans les applications et renvoyer les utilisateurs non abonnés.
Que lire?