Depois de criar os links diretos, tem de os ativar no SDK de medição para os usar nas campanhas de apps.
Este artigo explica como ativar os links diretos diferidos (LDD) em App Attribution Partners (AAPs) de terceiros suportados ou no SDK do Google Analytics para Firebase (GA4F) mais recente. Saiba como fazer o acompanhamento de conversões de apps para dispositivos móveis com ferramentas de terceiros.
Antes de começar
Para ativar os LDD num AAP suportado, tem de ter links diretos em funcionamento que estejam corretamente incluídos no respetivo feed anexado ou enviados como um LDD de grupo de anúncios.
Instruções
Como ativar os LDD em AAPs suportados
Os AAPs de terceiros atualmente suportados pela Google para LDD são os seguintes:
- Adjust
- AppsFlyer
- Branch
- Kochava
- Singular
Siga os passos abaixo para ativar os LDDs no AAP escolhido.
Adjust
AppsFlyer
- No AppsFlyer, clique em Configuration > Integrated Partners e, em seguida, selecione Google Ads (AdWords).
- No separador Integration, ative "Deferred deep linking with Google feeds".
- Clique em Save integration (Guardar integração).
Branch
Kochava
Singular
Saiba mais sobre o acompanhamento de conversões de apps com um App Attribution Partner.
Como ativar os LDDs no SDK do GA4F
Pode ativar os LDD no SDK do GA4F através da versão 17.2.0 ou superior do Android, ou de uma versão mais recente ao seguir estes passos:
Passos para ativar os LDD no SDK do GA4F
1. Configure a app para usar o Google Analytics para Firebase
No ficheiro build.gradle da app, remova todas as dependências de firebase-core
. Em seguida, adicione ou atualize a dependência na versão 17.2.0 ou superior de firebase-analytics
. O exemplo abaixo usa uma versão mais recente do SDK.
dependencies {
...
implementation 'com.google.firebase:firebase-analytics:21.0.0'
...
}
2. Ative a funcionalidade na app
Modifique o manifesto da aplicação ao adicionar a seguinte etiqueta de metadados à etiqueta da aplicação.
<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">
<!-- Value to be added to enable deferred deep links -->
<meta-data android:name="google_analytics_deferred_deep_link_enabled" android:value="true"/>
<activity
android:name=".MainActivity" >
</activity>
</application>
</manifest>
Após a ativação, o GA4F obtém o link direto configurado, no arranque da app, para a campanha correspondente que configurou.
3. Capte o link direto
Configure um ouvinte de alterações de SharedPreferences na sua classe de atividade de lançamento principal. O ouvinte será acionado quando estiver disponível um LDD. Se registar o ouvinte mais adiante no ciclo de vida da app, é possível que o link direto já tenha sido obtido. Nesse caso, o ouvinte não é acionado, e pode procurar imediatamente o valor do link direto ao ler SharedPreferences.
O GA4F armazena o link direto num ficheiro SharedPreferences google.analytics.deferred.deeplink.prefs
com a chave deeplink
. O GA4F também armazena, no mesmo ficheiro SharedPreferences, a data/hora do clique num anúncio com a chave timestamp
. Tenha em atenção que o formato da data/hora é microssegundos (milissegundos seguido de um ponto e microssegundos) e é armazenado em SharedPreferences com um elemento Long quando o tipo é Double. Use Double.longBitsToDouble(...) para analisar o valor real.
Exemplo:
/**
* A atividade de lançamento principal da app.
*/
public class MainActivity extends AppCompatActivity {
privada SharedPreferences preferences;
privada SharedPreferences.OnSharedPreferenceChangeListener deepLinkListener;
@Override
protected void onStart() {
super.onStart();
preferences.registerOnSharedPreferenceChangeListener(deepLinkListener);
}
@Override
protected void onStop() {
super.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. Prepare os dados para testes de diagnóstico
Para validar a implementação, obtenha o ID de publicidade para o dispositivo com o qual quer fazer o teste. Pode usar o seguinte comando para definir o LDD que a app irá receber.
"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 verificar se o link direto foi definido corretamente, pode usar este pedido para confirmar a resposta.
Este link direto de teste expira após 24 horas. Repita este passo se o link direto de teste expirar.
5. Ative o modo de teste para obter o LDD de teste
Ative o modo de teste de LDD para iniciar os testes nos seus dispositivos.
adb shell setprop debug.deferred.deeplink <<a sua aplicação package>>
Em seguida, ative o modo de depuração no dispositivo. Comece a usar a app e, no Logcat, verifique se a mensagem de registo apresenta uma gmp_version
de, pelo menos, 18200
. Pesquisar a palavra-chave deferred
filtra todas as mensagens de depuração do Google Analytics para Firebase relacionadas com essa funcionalidade.
Exemplo:
D/FA: Deferred Deep Link feature enabled.
FA-SVC: Uploading data. app, uncompressed size, data: <<a sua aplicação package>>,
…
gmp_version: 18200