Migrar el SDK de Adapty para Android a v4.1

El SDK de Adapty para Android 4.1 cambia la forma en que se activa Adapty Attribution y renombra las APIs de atribución externa.

Warning

Las APIs renombradas son un cambio radical. AdaptyAttributionSource se elimina por completo — no está deprecada ni existe un typealias para hacer de puente. El código que compila contra 4.0.x no compilará en 4.1 hasta que renombres todos los puntos de llamada indicados a continuación.

Referencia rápida

v4.0v4.1
Atribución de Adapty habilitada automáticamenteAtribución de Adapty deshabilitada por defecto; actívala con .withAdaptyAttributionEnabled(true)
Adapty.updateAttribution(attribution, source)Adapty.updateExternalAttribution(attribution, provider)
AdaptyAttributionSourceAdaptyExternalAttributionProvider, con un nuevo valor CUSTOM
AdaptyProfile.appliedAttributionSourcesAdaptyProfile.appliedExternalAttributionProviders

Instalación

Establece la versión de adapty-bom en 4.1.0 (o posterior) y sincroniza el proyecto. El BOM resuelve automáticamente las versiones correspondientes de android-sdk y android-ui. Consulta Instalar el SDK de Adapty para ver las declaraciones de dependencias.

Note

Si actualizas desde 4.0.0 o 4.0.1, también se aplican dos cambios de la versión 4.0.2:

  • Adapty trabaja con Google Play Billing Library 8 por defecto, en lugar de 7.0.0.
  • restorePurchases se completa correctamente cuando no hay nada que restaurar y devuelve el perfil actual, en lugar de fallar con NO_PURCHASES_TO_RESTORE. Consulta Restaurar compras.

La atribución de Adapty está desactivada por defecto

En la versión 4.0 y anteriores, el SDK registraba las instalaciones para Atribución de Adapty de forma automática. A partir de la versión 4.1, esto está desactivado por defecto: el SDK no registra instalaciones, el listener configurado con setOnInstallationDetailsListener no se dispara nunca, y getCurrentInstallationStatus devuelve AdaptyInstallationStatus.Determined.NotAvailable.

Si utilizas la atribución de Adapty, actívala al inicializar el SDK:

  val config = AdaptyConfig.Builder("PUBLIC_SDK_KEY")
+     .withAdaptyAttributionEnabled(true)
      .build()
  Adapty.activate(applicationContext, config)

Si no usas Adapty Attribution, no es necesario hacer ningún cambio.

APIs de atribución externa renombradas

updateAttribution → updateExternalAttribution

El método que pasa datos de atribución de un proveedor externo (Adjust, AppsFlyer, Branch, Tenjin o uno personalizado) cambia de nombre, y su parámetro source pasa a llamarse provider:

- Adapty.updateAttribution(attribution, AdaptyAttributionSource.ADJUST) { error -> /* handle the error */ }
+ Adapty.updateExternalAttribution(attribution, AdaptyExternalAttributionProvider.ADJUST) { error -> /* handle the error */ }

Se conservan ambas sobrecargas: attribution puede ser un Map<String, Any> o un String JSON.

El callback se activa una vez que el backend acepta los datos para su procesamiento asíncrono. Un resultado exitoso no significa que los datos ya se hayan aplicado al perfil.

AdaptyAttributionSource → AdaptyExternalAttributionProvider

El tipo ha sido renombrado, y los valores predefinidos conservan sus nombres: APPLE_ADS, ADJUST, APPSFLYER, BRANCH y TENJIN. Para cualquier otro proveedor, constrúyelo a partir de una cadena: AdaptyExternalAttributionProvider("your_provider").

La versión 4.1 también añade un valor predefinido CUSTOM para proveedores con los que Adapty no se integra directamente. En la 4.0, ese mismo valor solo estaba disponible como la cadena "custom".

AdaptyProfile.appliedAttributionSources → appliedExternalAttributionProviders

La propiedad del perfil que lista los proveedores de atribución aplicados al perfil cambia de nombre. El tipo de sus elementos cambia en consecuencia:

- if (profile.appliedAttributionSources.contains(AdaptyAttributionSource.APPLE_ADS)) {
+ if (profile.appliedExternalAttributionProviders.contains(AdaptyExternalAttributionProvider.APPLE_ADS)) {
      // Apple Ads attribution has been applied
  }