Amplitude

Amplitude es un potente servicio de análisis móvil. Con Adapty, puedes enviar eventos a Amplitude fácilmente, ver cómo se comportan tus usuarios y tomar decisiones más inteligentes.

Adapty proporciona un conjunto completo de datos que te permite hacer seguimiento de eventos de suscripción desde los stores en un solo lugar y los envía a tu cuenta de Amplitude. Esto te permite relacionar el comportamiento de tus usuarios con su historial de pagos en Amplitude, y así tomar mejores decisiones de producto.

Cómo configurar la integración con Amplitude

En Adapty puedes configurar flujos separados para eventos de producción y de prueba provenientes del entorno sandbox de Apple o Stripe, o de una cuenta de prueba de Google.

  • Para eventos de producción, introduce las claves API de Production desde el dashboard de Amplitude, con una clave API única para cada plataforma: iOS, Android y Stripe.
  • Para eventos de prueba, usa los campos de Sandbox según sea necesario.

Para configurar la integración con Amplitude:

  1. Abre Integrations -> Amplitude en tu Adapty Dashboard.
3b50552-CleanShot_2023-08-15_at_16.47.102x.webp
  1. Activa Amplitude integration para habilitarla.

  2. Rellena los campos de la integración:

    CampoDescripción
    Amplitude iOS/ Android/ Stripe API keyIntroduce la API Key de Amplitude para iOS/ Android/ Stripe en Adapty. Encuéntrala en Project settings dentro de Amplitude. Para más ayuda, consulta la documentación de Amplitude. Comienza con las claves de Sandbox para pruebas y luego cambia a las claves de Production tras pruebas exitosas.
    2297782-CleanShot_2023-08-15_at_16.53.512x.webp
  3. Ajustes opcionales para mayor personalización:

    ParámetroDescripción
    How the revenue data should be sentElige si enviar los ingresos brutos o los ingresos después de impuestos y comisiones. Consulta Comisión del store e impuestos para más detalles.
    Exclude historical eventsElige excluir los eventos anteriores a la instalación del SDK de Adapty para evitar datos duplicados. Por ejemplo, si un usuario se suscribió el 10 de enero pero instaló el SDK de Adapty el 6 de marzo, Adapty solo enviará eventos a partir del 6 de marzo.
    Send User AttributesSelecciona esta opción para enviar atributos específicos del usuario, como preferencias de idioma.
    Always populate user_idAdapty envía automáticamente device_id como amplitudeDeviceId. Para user_id, esta configuración define el comportamiento:
    • ON: Envía el profile_id de Adapty si amplitudeUserId o customer_user_id no están disponibles.
    • OFF: Deja user_id vacío si ninguno de los IDs está disponible.
  4. Elige los eventos que deseas recibir y asigna sus nombres.

  5. Haz clic en Save para confirmar los cambios.

Una vez que hagas clic en Save, Adapty comenzará a enviar eventos a Amplitude.

Además de los eventos, Adapty envía el estado de la suscripción y el ID del producto de suscripción a las propiedades de usuario de Amplitude.

Eventos y etiquetas

Debajo de las credenciales encontrarás tres grupos de eventos que puedes enviar a Amplitude desde Adapty. Simplemente activa los que necesites. Consulta la lista completa de eventos disponibles en Adapty aquí.

da67694-CleanShot_2023-08-15_at_16.52.352x.webp

Recomendamos usar los nombres de eventos predeterminados que proporciona Adapty. No obstante, puedes cambiarlos según tus necesidades. Adapty enviará los eventos de suscripción a Amplitude mediante una integración servidor a servidor, lo que te permitirá ver todos los eventos de suscripción en tu dashboard de Amplitude.

Configuración del SDK

Usa el método setIntegrationIdentifier() para establecer el parámetro amplitude_device_id. Es imprescindible configurarlo para que la integración funcione.

Si tienes registro de usuarios, también puedes pasar amplitude_user_id.

Note

Los SDKs de terceros generan los IDs de usuario de forma asíncrona. Es posible que el ID no esté disponible cuando se ejecuta Adapty.activate(). Si tu Customer User ID proviene de uno de estos SDKs, llama a Adapty.activate() sin él. Una vez que el ID esté disponible, llama a setIntegrationIdentifier() y luego a identify() con el CUID.

Estructura del evento de Amplitude

Adapty envía eventos a Amplitude a través de la HTTP API v2. Cada evento tiene la siguiente estructura:

{
  "api_key": "your_amplitude_api_key",
  "events": [
    {
      "partner_id": "adapty",
      "event_type": "subscription_renewed",
      "time": 1709294400000,
      "insert_id": "123e4567-e89b-12d3-a456-426614174000",
      "user_id": "user_12345",
      "device_id": "device_12345",
      "platform": "iOS",
      "os_name": "iOS",
      "productId": "yearly.premium.6999",
      "revenue": 9.99,
      "event_properties": {
        "vendor_product_id": "yearly.premium.6999",
        "original_transaction_id": "GPA.3383...",
        "currency": "USD",
        "environment": "Production",
        "store": "app_store"
      },
      "user_properties": {
        "subscription_state": "subscribed",
        "subscription_product": "yearly.premium.6999"
      }
    }
  ]
}

Donde:

ParámetroTipoDescripción
api_keyStringTu clave API de Amplitude.
eventsArrayLista de objetos de evento (Adapty envía uno a la vez).
events[].partner_idStringSiempre “adapty”.
events[].event_typeStringEl nombre del evento (mapeado desde el evento de Adapty).
events[].timeLongMarca de tiempo del evento en milisegundos.
events[].insert_idStringID único del evento (UUID).
events[].user_idStringID de usuario de Amplitude o ID de usuario del cliente.
events[].device_idStringID del dispositivo en Amplitude.
events[].platformStringPlataforma (p. ej., “iOS”, “Android”).
events[].os_nameStringNombre del sistema operativo.
events[].productIdStringEl ID del producto en el store.
events[].revenueFloatImporte de los ingresos.
events[].event_propertiesObjectAtributos detallados del evento (contiene todos los campos de evento disponibles).
events[].user_propertiesObjectAtributos del usuario, como el estado de la suscripción.

Solución de problemas

access_level_updated aparece como fallido en el Event Feed

access_level_updated es un evento exclusivo de webhooks. Adapty nunca lo envía a esta integración. Sin embargo, Adapty registra un resultado para cada integración habilitada, y un evento no compatible se muestra como un error.