
Entonces, tiene una aplicación con suscripciones renovables automáticas. Funciona muy bien, los usuarios emiten sin restricciones suscripciones premium y escriben críticas elogiosas. Belleza!
Hola a todos, mi nombre es Denis, soy el gerente de proyectos de Apphud , un servicio de análisis de suscripciones auto-renovables para aplicaciones iOS.
Como gerente de proyecto, es vital que se mantenga al tanto de las métricas clave del producto. Uno de los más importantes es el valor del tiempo de vida (LTV): el ingreso promedio de cada usuario durante todo el tiempo que usa la aplicación. ¿Pero cómo calcularlo en el caso de suscripciones auto-renovables en iOS? ¿Cómo hacer un seguimiento del tiempo de renovación, cancelación, renovación de una suscripción por parte de un usuario?
Hasta hace poco (es decir, hasta 2017), la única forma de hacerlo era la llamada Encuesta de estado de suscripciones. En cualquier momento, puede obtener información sobre el estado de la suscripción enviando el recibo necesario a la URL: https://buy.itunes.apple.com/verifyReceipt . Una vez que lo reciba, puede ver información básica sobre la suscripción, incluida la fecha de finalización. Es cierto, aún no obtendrá su costo.
Para implementar el sondeo de estado debe:
- transfiere y almacena en el servidor todas las comprobaciones sobre todas las suscripciones de cada usuario,
- implementará una lógica de servidor compleja, que verificará regularmente estas verificaciones.
Esto es complicado Pero en 2017, Apple parecería resolver este problema. En WWDC, con una gran ovación, presentan notificaciones de actualización de estado de suscripciones de Apple.
¿Qué son las notificaciones de suscripciones?
Las notificaciones de actualización de estado de suscripciones de Apple son un mecanismo para enviar webhooks a su servidor Apple cuando se producen eventos de suscripción renovables automáticamente. Para habilitarlos, primero debe configurar su servidor para que los acepte: el servidor debe admitir el protocolo de seguridad de transporte de aplicaciones (generalmente todo funciona de manera predeterminada). Después de eso, vaya a App Store Connect y en la sección "App Store" de la configuración de su aplicación, inserte un enlace donde Apple enviará una solicitud POST cada vez que ocurra un evento:

Tenga en cuenta que Apple recomienda usar las notificaciones de suscripciones junto con el sondeo de estado. Mala señal ...
Hecho Ahora debe recibir una notificación cada vez que, por ejemplo, se emite, renueva o cancela una suscripción.
Variedades de notificaciones
Apple envía 6 tipos de notificaciones que ocurren en varios eventos. Analizaremos cada uno de ellos.
COMPRAS INICIALES
Apple envía esta notificación cuando un usuario se registra por primera vez en un grupo de suscripción.
Puede leer más sobre los grupos de suscripción en nuestro artículo .

CANCELAR
Este evento se envía cuando el usuario cancela la suscripción a través del soporte de Apple Care y reembolsa la compra. Hacemos hincapié en que esto no se trata de la cancelación habitual de la suscripción a través de la configuración de iOS.
CANCEL
evento CANCEL
no se envía durante la cancelación normal a través de la configuración de iOS.

DID_CHANGE_RENEWAL_STATUS
Este evento ha sido agregado recientemente. Se envía cuando el usuario se desconecta o (nuevamente) permite la renovación de la suscripción a través de la configuración de iOS, la aplicación App Store o el soporte de Apple:
No confunda este evento con el evento CANCEL
que se activa cuando cancela su suscripción y reembolso a través del soporte de Apple Care.

RENOVACION
Lo primero que viene a la mente cuando ve el nombre de este evento: Apple lo envía cuando la renovación se renueva automáticamente. ¡No importa cómo!
El evento RENEWAL
despacha cuando:
la suscripción del usuario se canceló automáticamente debido a problemas con la tarjeta bancaria del usuario ...
y luego el usuario renovó la suscripción nuevamente. Es en este punto que se RENEWAL
evento RENEWAL
.

El RENEWAL
RENOVACIÓN no se envía en caso de una renovación regular de la suscripción. En cambio, Apple sugiere verificar el cheque de suscripción a través de /VerifyReceipt
antes y después de la renovación esperada y analizar la fecha de expiration_date

RENOVACIÓN INTERACTIVA
Este evento se envía si:
El usuario canceló la suscripción y poco después ...
suscripción renovada por el usuario. Es en este momento que INTERACTIVE_RENEWAL
envía INTERACTIVE_RENEWAL
.
La nueva suscripción (que se indica en la cláusula 2) puede diferir de la suscripción de la cláusula 1, pero ambas deben pertenecer al mismo grupo de compras. Por ejemplo, un usuario puede darse de baja del plan Bronze y después de un tiempo renovar su suscripción eligiendo Gold. En este caso, Apple enviará el evento INTERACTIVE_RENEWAL
a su servidor (siempre que las suscripciones Bronce y Oro pertenezcan al mismo grupo de compras). Puede leer más sobre los grupos de suscripción aquí .

DID_CHANGE_RENEWAL_PREF
DID_CHANGE_RENEWAL_PREF
envía cuando un usuario cambia de una suscripción a otra dentro del mismo grupo de compras:

Cual es el resultado?
Apple ofrece hasta 6 eventos, pero ninguno de ellos se envía cuando se renueva automáticamente una suscripción en modo normal. ¿Por qué hicieron eso? Poco claro Además, los nombres de estos eventos son engañosos.
La siguiente tabla resume los eventos.

¿Cómo usar las notificaciones de suscripciones de Apple?
Debido al hecho de que el evento más importante que necesita para calcular LTV (renovación de la suscripción en el modo normal) no se envía, aún debe usar el sondeo de estado. Existe la posibilidad de que Apple agregue este evento en un futuro cercano, pero incluso si esto sucede, aún no puede prescindir de su propio servidor. Este servidor actuará como una "capa" entre Apple y otro sistema de análisis (por ejemplo, Amplitude, Flurry o Mixpanel). Al recibir eventos y verificar cheques, le enviará datos sobre renovaciones, cancelaciones y reembolsos.
Una vez que nos encontramos con este problema y decidimos desarrollar un servicio que resolvería estos problemas. Así que la idea nació del servicio en el que estamos trabajando ahora: el servicio de análisis de suscripción para iOS, que llena el vacío en el envío de eventos desde Apple.
Conclusión
Las notificaciones de suscripciones de Apple no son tan buenas como parecen, porque solo con ellas no puede resolver el problema principal: averiguar cuánto dinero le aporta un usuario. Apple puede facilitarles la vida a los desarrolladores en el futuro, pero una cosa es segura: la implementación actual de Notificaciones de suscripciones es extremadamente obvia y parece muletas.
¿Desea implementar suscripciones en su aplicación iOS en 10 minutos? Integra Apphud y:
- Haga compras usando solo un método;
- rastrea automáticamente el estado de la suscripción de cada usuario;
- Integre ofertas de suscripción fácilmente
- enviar eventos de suscripción a Amplitude, Mixpanel, Slack y Telegram teniendo en cuenta la moneda local del usuario;
- disminuir la tasa de abandono en las aplicaciones y devolver a los usuarios no suscritos.
Que leer