Una vez que hayas creado enlaces profundos, tendrás que habilitarlos en tu SDK de medición para usarlos en las campañas de aplicaciones.
En este artículo se explica cómo habilitar los enlaces profundos diferidos en partners de atribución para aplicaciones (AAPs) externos admitidos o en el SDK de Google Analytics for Firebase (GA4F) más reciente. Consulta cómo hacer un seguimiento de las conversiones en aplicaciones móviles con herramientas de terceros.
Antes de empezar
Para habilitar los enlaces profundos diferidos en un AAP compatible, debes tener enlaces profundos que funcionen y que estén correctamente incluidos en el feed adjunto o que se hayan enviado como enlace profundo diferido de grupo de anuncios.
Instrucciones
Activar los DDLs en AAPs admitidos
Los AAPs de terceros que Google admite actualmente para los enlaces profundos diferidos son los siguientes:
- Adjust
- AppsFlyer
- Branch
- Kochava
- Singular
Sigue los pasos que se indican a continuación para habilitar los enlaces profundos de terceros en el AAP que elijas.
Adjust
AppsFlyer
- En AppsFlyer, haz clic en Configuration > Integrated Partners (Configuración > Partners integrados) y, a continuación, selecciona Google Ads (AdWords).
- En la pestaña Integration (Integración), habilita "Deferred deep linking with Google feeds" (Enlaces profundos diferidos con feeds de Google).
- Haz clic en Save integration (Guardar integración).
Branch
Kochava
Singular
Consulta más información acerca del seguimiento de las conversiones de aplicaciones con un partner de atribución para aplicaciones.
Activar los DDLs en el SDK de GA4F
Para activar los DDLs en el SDK de GA4F usando Android 17.2.0 o una versión posterior, sigue estos pasos:
Pasos para activar los DDLs en el SDK de GA4F
1. Configura tu aplicación para que use Google Analytics for Firebase
En el archivo build.gradle de la aplicación, quita todas las dependencias de firebase-core
. A continuación, añade o actualiza la dependencia en firebase-analytics
versión 17.2.0 o una versión posterior. En el siguiente ejemplo, se usa una versión más reciente del SDK.
dependencias {
...
implementación 'com.google.firebase:firebase-analytics:21.0.0'
...
}
2. Habilita la función en tu aplicación
Modifica el archivo de manifiesto de tu aplicación añadiendo la siguiente etiqueta de metadatos a la etiqueta de la aplicación.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myawesome.app">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name=".MainActivity">
<!-- Valor que debe añadirse para habilitar los enlaces profundos diferidos -->
<meta-data android:name="google_analytics_deferred_deep_link_enabled" android:value="true"/>
<activity
android:name=".MainActivity" >
</activity>
</application>
</manifest>
Una vez que esté habilitada la función, GA4F obtendrá el enlace profundo configurado para usarlo en la campaña correspondiente cuando se abra la aplicación.
3. Recoger el enlace profundo
Configura un procesador de cambios de SharedPreferences en tu tipo de actividad de lanzamiento principal. Se activará cuando haya un DDL disponible. Si registras el procesador en una etapa posterior del ciclo de vida de la aplicación, puede que el enlace profundo ya se haya obtenido. En ese caso, el procesador no se activará y podrás consultar inmediatamente el valor del enlace profundo en SharedPreferences.
GA4F almacena el enlace profundo en un archivo google.analytics.deferred.deeplink.prefs
de SharedPreferences con la clave deeplink
. GA4F también almacena en el mismo archivo de SharedPreferences la marca de tiempo del clic en el anuncio con la clave timestamp
. Ten en cuenta que la marca de tiempo se expresa en microsegundos (milisegundos seguidos de un punto y microsegundos) y se almacena en SharedPreferences usando un tipo Long cuando el tipo es Double. Usa Double.longBitsToDouble(...) para analizar el valor real.
Ejemplo:
/**
* La actividad de lanzamiento principal de la aplicación.
*/
public class MainActivity extends AppCompatActivity {
privado SharedPreferences preferences;
privado SharedPreferences.OnSharedPreferenceChangeListener deepLinkListener;
@Override
protected void onStart() {
sensacional.onStart();
preferences.registerOnSharedPreferenceChangeListener(deepLinkListener);
}
@Override
protected void onStop() {
sensacional.onStop();
preferences.unregisterOnSharedPreferenceChangeListener(deepLinkListener);
deepLinkListener = null;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
preferences =
getSharedPreferences("google.analytics.deferred.deeplink.prefs", MODE_PRIVATE);
deepLinkListener = (sharedPreferences, key) -> {
Log.d("DEEPLINK_LISTENER", "Deep link changed");
if ("deeplink".equals(key)) {
String deeplink = sharedPreferences.getString(key, null);
Double cTime = Double.longBitsToDouble(sharedPreferences.getLong("timestamp", 0));
Log.d("DEEPLINK_LISTENER", "Deep link retrieved: " + deeplink);
showDeepLinkResult(deeplink);
}
};
}
public void showDeepLinkResult(String result) {
String toastText = result;
if (toastText == null) {
toastText = "The deep link retrieval failed";
} else if (toastText.isEmpty()) {
toastText = "Deep link empty";
}
Toast.makeText(MainActivity.this, toastText, Toast.LENGTH_LONG).show();
Log.d("DEEPLINK", toastText);
}
}
4. Preparar los datos para los análisis diagnósticos
Para validar tu implementación, obtén el AdID del dispositivo con el que quieres hacer la prueba. Para definir el DDL que recibirá la aplicación, puedes usar el siguiente comando:
"googleadservices.com/pagead/conversion/app/deeplink?&rdid=<<your device adid>>&id_type=adid&bundleid=<<your application package>>&deeplink=<<deeplink you want to receive>>&ddl_test=1"
Para comprobar si el enlace profundo se ha definido correctamente, puedes verificar la respuesta con esta solicitud:
El enlace profundo de la prueba caduca al cabo de 24 horas. Repite este paso si caduca el enlace profundo de la prueba.
5. Habilitar el modo de prueba para obtener el enlace profundo diferido de la prueba
Para empezar a hacer pruebas en tus dispositivos, habilita el modo de prueba de DDL.
adb shell setprop debug.deferred.deeplink <<your application package>>
A continuación, habilita el modo de depuración en tu dispositivo. Empieza a usar tu aplicación y, en Logcat, comprueba que el mensaje de registro muestre un valor gmp_version
de al menos 18200
. Si buscas la palabra clave deferred
, se excluirán todos los mensajes de depuración de Google Analytics for Firebase relacionados con esa función.
Ejemplo:
D/FA: Deferred Deep Link feature enabled.
FA-SVC: Uploading data. app, uncompressed size, data: <<your application package>>,
…
gmp_version: 18200