En este documento, se muestra cómo usar la referencia de instalación de Meta en tu app para Android a fin de obtener metadatos para las campañas publicitarias de Facebook, Instagram y Audience Network que tienen por objetivo que se instale la app. Mientras que la referencia de instalación de Google Play (GPIR) solo proporciona información sobre las instalaciones mediante clic en una misma sesión, la referencia de instalación de Meta incluye datos sobre lo siguiente:
Hay dos opciones para configurar la referencia de instalación de Meta para tus campañas de apps de Android: integración directa o integración asistida a través de tu socios de medición de dispositivos móviles (MMP).
Para empezar, necesitarás lo siguiente:
Agrega los elementos queries
de las apps de Facebook, Instagram y Facebook Lite en tu archivo AndroidManifest.xml para permitir que tu app obtenga datos de atribución de referencia de estas apps de Meta.
<queries> <package android:name="com.facebook.katana" /> </queries> <queries> <package android:name="com.instagram.android" /> </queries> <queries> <package android:name="com.facebook.lite" /> </queries>
Agrega el código de ContentProvider para obtener datos de atribución de referencia de las apps de Facebook e Instagram. Te conviene obtener estos datos la primera vez que inicies la app.
Cursor c = null; try { String [] projection = { "install_referrer", "is_ct", "actual_timestamp", }; Uri providerUri = null; // This IF statement queries the facebook app first. // To query from the instagram app first, change the sequence of the IF statement if (context.getPackageManager().resolveContentProvider( "com.facebook.katana.provider.InstallReferrerProvider", 0) != null) { providerUri = Uri.parse( "content://com.facebook.katana.provider.InstallReferrerProvider/" + FB_APP_ID); } else if (context.getPackageManager().resolveContentProvider( "com.instagram.contentprovider.InstallReferrerProvider", 0) != null) { providerUri = Uri.parse( "content://com.instagram.contentprovider.InstallReferrerProvider/" + FB_APP_ID); } else if (context.getPackageManager().resolveContentProvider( "com.facebook.lite.provider.InstallReferrerProvider", 0) != null) { providerUri = Uri.parse("content://com.facebook.lite.provider.InstallReferrerProvider/" + FB_APP_ID); } else { return null; } c = context.getContentResolver().query(providerUri, projection, null, null, null); if (c == null || !c.moveToFirst()) { return null; } int installReferrerIndex = c.getColumnIndex("install_referrer"); int timestampIndex = c.getColumnIndex("actual_timestamp"); int isCTIndex = c.getColumnIndex("is_ct"); String installReferrer = c.getString(installReferrerIndex); // serialized and encrypted attribution details // TODO: // 1. deserialize installReferrer (convert String to JSON) // 2. decrypt attribution details in install_referrer.utm_content.source.data using // key: GPIR decryption key // nonce: retrieve from installReferrer.utm_content.source.nonce // data: retrieve from installReferrer.utm_content.source.data // decrypt data long actualTimestamp = c.getLong(timestampIndex); // timestamp in seconds for click/impression int isCT = c.getInt(isCTIndex); // VT or CT, 0 = VT, 1 = CT } catch (Exception e) { return null; } finally { if (c != null) { c.close(); } }
Los pasos para deserializar y descifrar los datos son similares a los que se encuentran en la guía de la referencia de instalación.
La estructura de datos recibida como respuesta de la install_referrer
tras la deserialización de cada app de Meta incluirá lo siguiente:
actual_timestamp
: el valor es la marca de tiempo en segundos cuando se produjo el clic o la impresión.is_ct
: los valores pueden ser 1
, que representa un clic, o 0
, que representa una impresión.install_referrer
: el valor representa los datos de atribución cifrados de la GPIR.{ is_ct=1, actual_timestamp=123, install_referrer={ utm_campaign = fb4a, utm_content: { source: { data: “7fb9bd76…”, // encrypted attribution information nonce: “1234” // nonce from encryption }, a: <app_id>, t: <timestamp> } utm_source : “apps.facebook.com” //OR “apps.instagram.com” } }
install_referrer.utm_content.source
{ "ad_id":"6110809314024", "adgroup_id":"6110808725024", "adgroup_name":"RTG_Storie_", "campaign_id":"6110808710224", "campaign_name":"Mobex_Conversiones_Storie_Android_21 a 31 de Diciembre_OP39895", "campaign_group_id":"6110808710624", "campaign_group_name":"Mobex_Instagram Storie_ Conversiones_ Diciembre OP 43918", "account_id":"485495091598353", "ad_objective_name":"CONVERSIONS", // data included for Instagram ads "is_instagram":true, "publisher_platform":"instagram", "platform_position":"instagram_stories" }
Si los metadatos de la campaña publicitaria de la GPIR están disponibles, deberías seguir el proceso de deduplicación de GPIR actual.
Puedes eliminar los datos deduplicados usando los datos que se devuelven en install_referrer
, ya que los valores son los mismos en instalaciones o campañas de clic en la referencia de instalación de Meta y GPIR.
En relación con las VT y CT en diferentes secciones, usa los datos de la referencia de instalación de Meta, ya que GPIR no los admite.
Si no hay metadatos de campañas publicitarias de GPIR, debes deduplicar los datos en función de si trabajas con un socio de medición de dispositivos móviles (MMP) o no.
El socio de medición de dispositivos móviles (MMP) tiene acceso a datos de atribución en el nivel de la fila en las instalaciones que no tienen una red publicitaria ganadora, ya sea debido a que Meta realizó la atribución o a que las instalaciones son orgánicas. Puedes comprobar si se proporcionó una referencia de instalación a través de la referencia de instalación de Meta. En caso afirmativo, puedes considerar que la instalación está impulsada por Meta, y que los datos proporcionados de la referencia de instalación son los metadatos de la campaña publicitaria de la instalación.
La referencia de instalación de Meta proporciona información sobre la última interacción de la instalación, incluidos los metadatos de la campaña publicitaria, la marca de tiempo real de la última interacción y el tipo de acción de esta (impresión o clic). Puedes comparar el tipo de acción y la marca de tiempo de la última interacción con los datos de atribución que obtienes de las otras redes publicitarias, y decidir cuál es la red publicitaria ganadora.
En primer lugar, asegúrate de usar una versión de la app que sea compatible con esta solución. Las versiones mínimas son las siguientes:
Sigue estos pasos para verificar la configuración:
Tu app debería recibir una respuesta y descifrarla para ver los datos de la campaña.
Actualiza el SDK de tu MMP a una versión que haya integrado la referencia de instalación de Meta:
Consulta las instrucciones a través de los enlaces disponibles a continuación.
Consulta las instrucciones a través de los enlaces disponibles a continuación.
Nota: Si ya hiciste esto para la referencia de instalación de Google Play Store, este paso no es necesario.