mParticle, un partner integrado de AppsFlyer, recopila datos de clientes y los envía a diferentes plataformas de análisis, marketing y almacenamiento de datos.
Importante:
Algunas fuentes de medios restringen el intercambio de datos con terceros. Por lo tanto, los postbacks para eventos restringidos no se enviarán a este partner, independientemente de la selección configurada para enviar postbacks.
Integraciones de eventos
El objetivo de este documento es proporcionarte detalles sobre cómo activar datos de eventos de mParticle para AppsFlyer.
1. los clientes de mParticle deben integrar el kit de AppsFlyer en su aplicación. El SDK de mParticle inicializará el SDK de AppsFlyer y también reenviará todos los eventos del ciclo de vida necesarios al SDK de AppsFlyer.
2. Consulta los repositorios de GitHub de los SDK de iOS y Android para obtener información detallada sobre cómo configurar el kit de AppsFlyer con el SDK de mParticle en tu app.
Configura la integración de eventos de AppsFlyer
1. En el Dashboard de mParticle (https://app.mparticle.com), selecciona tu App (también llamada Workspace)
2. Haz clic en Directory en la navegación izquierda
3. Haz clic en el mosaico de AppsFlyer para ver los detalles de la integración, que incluyen información como Categorías, plataformas disponibles, versiones mínimas del SDK de mParticle (si las hay), tipos de datos, ID de usuario, ID de dispositivo, eventos disponibles y configuraciones disponibles.
4. Haz clic en Add AppsFlyer to Setup.
Se abre la ventana Add to Setup:
5. Selecciona el tipo de integración de eventos de salida y haz clic en Add to Setup para abrir la pantalla Event Configuration Setup, donde puedes continuar el proceso de configuración.
6. Introduce los ajustes de configuración de AppsFlyer y haz clic en Save:
- Nombre de la configuración
- Usa la misma configuración para desarrollo y producción
- Dev Key
- La configuración que acabas de crear se muestra en el grupo predeterminado de AppsFlyer
El siguiente paso es establecer una conexión entre tus plataformas de entrada y la configuración de eventos de salida de AppsFlyer.
7. Haz clic en Conexiones.
8. Selecciona la entrada (iOS en este ejemplo) y, a continuación, haz clic en Connect Output.
9. Selecciona el mosaico de AppsFlyer y, a continuación, selecciona la configuración de AppsFlyer creada anteriormente.
10. Introduce la configuración de la conexión de AppsFlyer:
ID de la app de Apple (introduce solo el número y no el prefijo del ID. Por ejemplo, si el ID de tu app es id123456789, introduce 123456789)
11. Haz clic en Agregar conexión.
AppsFlyer ahora se muestra como una salida conectada. Puede que haya más opciones disponibles, como asignaciones personalizadas. Consulta la documentación de mParticle para obtener más información.
Integraciones de feeds
Esta sección te ayuda a entender cómo conectar un feed de datos de AppsFlyer con mParticle.
Puedes encontrar información general sobre la integración de AppsFlyer en https://docs.mparticle.com/integrations/appsflyer/feed/.
1. En el Dashboard de mParticle (https://app.mparticle.com), selecciona tu app (también llamada Workspace)
2. Haz clic en Directory desde la navegación de la izquierda
3. Haz clic en el mosaico de AppsFlyer para mostrar los detalles de la integración, que proporcionan información sobre la integración.
4. Haz clic en Añadir AppsFlyer a Setup.
5. Selecciona el tipo de integración del feed de entrada y haz clic en Añadir a Setup.
Ahora se te dirige a la pantalla de Setup, donde puedes continuar con el proceso de configuración.
6. Introduce los ajustes de configuración de AppsFlyer y haz clic en Crear:
- Nombre de la configuración
- Actuar como aplicación
7. Completa la configuración en el dashboard de AppsFlyer con la información de autenticación proporcionada.
Enlaces profundos diferidos
AppsFlyer te permite acceder a los datos de atribución de los usuarios en tiempo real directamente en el nivel del SDK. Te permite personalizar la página de aterrizaje que ve el usuario la primera vez que abre una aplicación recién instalada. Esto se denomina comúnmente enlaces profundos "diferidos".
Para obtener más información sobre Deferred deep linking, haz clic aquí.
Los datos de conversión de AppsFlyer contienen un parámetro llamado is_First_Launch. El valor de is_First_Launch es 'true' solo en el primer lanzamiento y 'false' en todos los lanzamientos posteriores. Puedes usar este parámetro para determinar en cada lanzamiento si la aplicación debe aplazar el deep link para el usuario o no.
af_dp → $deeplink_path
Ejemplo
$deeplink_path=product/Banana-Pet-Costume/dd67268672b345e491656c871af8aa29
af_dp incluye el esquema de URI codificado y la ruta
af_dp →
%20jet%3A%2F%2Fproduct%2FBanana-Pet-Costume%2Fdd67268672b345e491656c871af8aa29
Android
Para Android: hazlo con Shared Preferences: aquí.
AttributionListener myListener = new AttributionListener() {
@Override
public void onResult(@NonNull AttributionResult attributionResult) {
if (attributionResult.getServiceProviderId() == MParticle.ServiceProviders.APPSFLYER) {
JSONObject attributionParams = attributionResult.getParameters();
if (attributionParams != null && attributionParams.has(AppsFlyerKit.INSTALL_CONVERSION_RESULT)) {
Log.d("Resultado de conversión", attributionParams.toString());
} else if (attributionParams != null && attributionParams.has(AppsFlyerKit.APP_OPEN_ATTRIBUTION_RESULT)) {
Log.d("Resultado de apertura de la aplicación", attributionParams.toString());
}
}
}
@Override
public void onError(@NonNull AttributionError attributionError) {
Log.d("Error de datos de atribución", attributionError.toString());
}
};
MParticleOptions options = MParticleOptions.builder(this)
.credentials("replaceWithAPIKey", "replace-withAPISecret")
.attributionListener(myListener)
.build();
MParticle.start(options);
apps de iOS,
Para iOS: haz esto en UserDefaults: aquí
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
MParticleOptions *options = [MParticleOptions optionsWithKey:@"<>" secret:@"<>"];
options.onAttributionComplete = ^void (MPAttributionResult *_Nullable attributionResult, NSError * _Nullable error) {
if (error) {
NSLog(@"La obtención de atribución para kitCode=%@ ha fallado con el error=%@", error.userInfo[mParticleKitInstanceKey], error);
return;
}
NSLog(@"La obtención de atribución para kitCode=%@ se ha completado con linkInfo: %@", attributionResult.kitCode, attributionResult.linkInfo);
}
[[MParticle sharedInstance] startWithOptions:options];
return YES;
}
Casos de uso de AppsFlyer/mparticle
| Caso de uso | Destino de engagement | Método del SDK de AppsFlyer | Método del Kit mParticle-AF |
|---|---|---|---|
| Deferred Deep Linking | apps de iOS, | onConversionDataSuccess | checkForDeferredDeepLinkWithCompletionHandler |
| enlaces universales | apps de iOS, | continueUserActivity | continueUserActivity |
| Apertura de la aplicación | apps de iOS, | onAppOpenAttribution | checkForDeferredDeepLinkWithCompletionHandler |
| Conexión profunda diferida (también conocido como deferred deep linking) | Android | onConversionDataSuccess | checkForDeepLink |
| Enlaces de la aplicación Android | Android | <intent-filter android:autoVerify="true"> | continueUserActivity |
| Apertura de la aplicación | Android | onAppOpenAttribution | checkForDeepLink |
Gestión de indicadores de usuario
AppsFlyer también te permite mostrar contenido personalizado o enviar a los usuarios existentes a ubicaciones específicas de la aplicación DESPUÉS del lanzamiento inicial. Cuando se aplica Deep Linking a usuarios existentes dentro de la aplicación, la aplicación se abre desde el método onOpenAttribution, que devuelve los datos de la URL de referencia.
if let conversionData = params?[MPKitAppsFlyerConversionResultKey] as? [AnyHashable: Any], !alreadyLoggedAppsflyerConversionData {
logAppsflyerConversionData(conversionData: conversionData)
alreadyLoggedAppsflyerConversionData = true
if let onelinkURL = (conversionData["af_dp"] as? String).flatMap(URL.init) {
UIApplication.appDelegate._linkController.handle(onelinkURL, source: .appsflyer)
}
} else if let appOpenData = params?[MPKitAppsFlyerAppOpenResultKey] as? [AnyHashable: Any] {
logAppsflyerAppOpenData(appOpenData: appOpenData as? [String: Any])
}AppsFlyer usa UserDefaults en iOS y Shared Preferences en Android para indicar si el usuario está abriendo la aplicación por primera vez y debe ser redirigido a la página correspondiente, o si la aplicación ya se ha abierto y el usuario ya ha sido dirigido a esa página. Para ello, el valor alreadyLoggedAppsflyerConversionData se lee y se escribe en UserDefaults/
Para obtener más información sobre cómo mostrar contenido personalizado en Deep Linking, haz clic aquí.
Activación de la medición de desinstalación de AppsFlyer en mParticle
La medición de desinstalación de AppsFlyer no se activa automáticamente con el kit SDK de mParticle-AppsFlyer. Para medir las desinstalaciones de la aplicación, llama directamente a los métodos de AppsFlyer siguiendo la documentación sobre la medición de desinstalación de AppsFlyer.
Para implementar la medición de desinstalación en iOS o Android:
- Llama directamente a los métodos de AppsFlyer siguiendo nuestra documentación sobre la medición de desinstalación