Saltar al contenido

Seguimiento de suscripciones de la App Store

Resumen de la integración

Anchor link to

App Store Server Notifications es el servicio de servidor a servidor de Apple que envía a su backend un mensaje en tiempo real cada vez que cambia el estado de una suscripción.

Al conectar las Notificaciones del Servidor de la App Store a Pushwoosh, puede reaccionar a todo el ciclo de vida de la suscripción, incluyendo compras, renovaciones, cancelaciones, problemas de facturación, expiraciones y reembolsos, sin necesidad de construir su propia infraestructura de backend. Cada vez que el estado de una suscripción cambia en la cuenta de la App Store de un usuario, Apple notifica a Pushwoosh, y Pushwoosh dispara el evento PW_Subscription* correspondiente en el perfil del usuario.

Tipo de integración

Anchor link to

Fuente: Las Notificaciones del Servidor de la App Store se envían desde Apple a Pushwoosh.

Eventos rastreados

Anchor link to

Pushwoosh asigna cada notificación compatible de la App Store a un conjunto de eventos unificado PW_Subscription*, para que pueda activar campañas en cualquier etapa del ciclo de vida de la suscripción.

EventoSe dispara cuando
PW_SubscriptionStartUn usuario compra la suscripción por primera vez.
PW_SubscriptionRenewLa suscripción se renueva automáticamente para un nuevo período de facturación.
PW_SubscriptionCancelUn usuario desactiva la renovación automática. La suscripción permanece activa hasta que expira.
PW_SubscriptionResumeUn usuario vuelve a habilitar la renovación automática o se vuelve a suscribir antes de que la suscripción caduque.
PW_SubscriptionBillingIssueFalla un pago de renovación y la suscripción entra en el período de reintento de facturación de Apple.
PW_SubscriptionRecoveredUna renovación que había fallado anteriormente se procesa y la suscripción vuelve a estar activa.
PW_SubscriptionExpiredLa suscripción ha caducado por completo y ya no está activa.
PW_SubscriptionRefundApple reembolsa la compra o revoca el acceso.

Cada evento lleva los mismos atributos:

  • productID: el identificador de producto de la App Store de la suscripción.
  • expiresAt: cuándo finaliza el período de pago actual, como una marca de tiempo Unix en segundos. Se incluye cuando Apple lo proporciona.
Cómo se asignan los eventos a las Notificaciones del Servidor de la App Store

Para los desarrolladores que verifican la integración, cada evento de Pushwoosh corresponde a estos valores de notificationType (y subtype) de la App Store:

Evento de PushwooshnotificationType / subtype
PW_SubscriptionStartSUBSCRIBED / INITIAL_BUY
PW_SubscriptionRenewDID_RENEW
PW_SubscriptionCancelDID_CHANGE_RENEWAL_STATUS / AUTO_RENEW_DISABLED
PW_SubscriptionResumeDID_CHANGE_RENEWAL_STATUS / AUTO_RENEW_ENABLED, SUBSCRIBED / RESUBSCRIBE
PW_SubscriptionBillingIssueDID_FAIL_TO_RENEW
PW_SubscriptionRecoveredDID_RENEW / BILLING_RECOVERY
PW_SubscriptionExpiredEXPIRED
PW_SubscriptionRefundREFUND, REVOKE

Otros tipos de notificaciones, como aumentos de precios, cambios de plan, en espera y solicitudes de consumo, se reconocen pero no publican un evento.

Cómo funciona

Anchor link to
  1. El estado de una suscripción cambia en la cuenta de la App Store de un usuario (una compra, renovación, cancelación, etc.).
  2. Apple envía una Notificación del Servidor de la App Store (V2) a su URL de notificación de Pushwoosh.
  3. Pushwoosh decodifica la carga útil firmada y lee el appAccountToken de la transacción.
  4. Pushwoosh busca el dispositivo cuyo HWID coincide con ese token, encuentra al usuario vinculado a él y publica el evento PW_Subscription* correspondiente para ese usuario.

Casos de uso

Anchor link to

Recuperar suscriptores que abandonan: Desactivar la renovación automática no finaliza el acceso de inmediato. La suscripción permanece activa hasta que finaliza el período de pago, y esa es su ventana para recuperar al usuario. En PW_SubscriptionCancel, lance un Customer Journey con un push de retención, un correo electrónico sobre las características que perderían, o un mensaje in-app con un descuento de renovación antes de que el acceso caduque.

Incorporar nuevos suscriptores: Active una serie de bienvenida en PW_SubscriptionStart para ayudar a los usuarios a obtener valor de su plan desde el principio y preparar el terreno para la renovación.

Rescatar pagos fallidos: Cuando se dispara PW_SubscriptionBillingIssue, un pago de renovación no se ha procesado y la suscripción está en la ventana de reintento de Apple. Pida al usuario que actualice su método de pago antes de que pierda el acceso, y haga un seguimiento con PW_SubscriptionRecovered para confirmar una vez que se haya resuelto.

Volver a atraer a usuarios inactivos: Inicie una campaña de reactivación en PW_SubscriptionExpired con una oferta de cliente recurrente para los suscriptores que han abandonado por completo.

Configuración de la integración

Anchor link to

Establecer appAccountToken en el HWID de Pushwoosh del dispositivo

Anchor link to

Pushwoosh identifica al usuario correcto a partir del HWID del dispositivo, por lo que su aplicación debe adjuntar el HWID de Pushwoosh del dispositivo como el appAccountToken cuando se compra la suscripción a través de StoreKit.

Por defecto, el SDK de iOS de Pushwoosh utiliza el identifierForVendor (IDFV) del dispositivo como HWID. IDFV ya es un UUID, exactamente el formato que Apple requiere para appAccountToken. Pushwoosh luego resuelve automáticamente al usuario actualmente vinculado a ese dispositivo, por lo que esto funciona tanto si asigna sus propios ID de usuario con setUserId como si no.

// Adjuntar el HWID de Pushwoosh del dispositivo (el IDFV por defecto) como el appAccountToken
var options: Set<Product.PurchaseOption> = []
if let hwid = UIDevice.current.identifierForVendor {
options.insert(.appAccountToken(hwid))
}
let result = try await product.purchase(options: options)

Encontrar su Código de Aplicación de Pushwoosh

Anchor link to

Abra su aplicación en el Panel de Control de Pushwoosh. Su Código de Aplicación (formato XXXXX-XXXXX) se muestra debajo del nombre del proyecto en la barra lateral.

Necesitará el Código de Aplicación para construir la URL de notificación.

Añadir la URL de notificación en App Store Connect

Anchor link to
  1. En App Store Connect, vaya a Apps → su app → Información de la app (en General), y desplácese hasta Notificaciones del Servidor de la App Store.
  2. Seleccione notificaciones de la Versión 2.
  3. Establezca tanto la URL del Servidor de Producción como la URL del Servidor de Sandbox en:
https://appstore-notifications.pushwoosh.com/appstore/YOUR_APPLICATION_CODE/
  1. Reemplace YOUR_APPLICATION_CODE con el Código de Aplicación del paso anterior. Mantenga la barra inclinada final.

Confirmar los eventos en Pushwoosh

Anchor link to

Pushwoosh registra cada evento PW_Subscription* en su proyecto la primera vez que ocurre, con los atributos productID y expiresAt. Después de una prueba en el sandbox, abra Audiencia → Eventos para verificar que los eventos aparecen. Luego están listos para la segmentación, las estadísticas y los Customer Journeys.

Construir su campaña

Anchor link to

Cree un Customer Journey con una entrada basada en un disparador en cualquier evento PW_Subscription*, por ejemplo PW_SubscriptionCancel para recuperación o PW_SubscriptionStart para incorporación, y añada los mensajes que desea enviar.

Las Notificaciones del Servidor de la App Store se pueden activar en el entorno Sandbox de Apple. Para verificar la integración:

  1. Realice una compra de suscripción en el sandbox con appAccountToken establecido como se describió anteriormente. Esto dispara PW_SubscriptionStart.
  2. Desactive la renovación automática desde la pantalla de gestión de suscripciones del dispositivo. Esto dispara PW_SubscriptionCancel.
  3. En el Panel de Control de Pushwoosh, abra el perfil del usuario y vaya al Historial de eventos.
  4. Confirme que los eventos aparecen en unos instantes.