Nadat u deep links heeft gemaakt, moet u deze aanzetten in uw metingen-SDK om ze te kunnen gebruiken in uw app-campagnes.
In dit artikel wordt uitgelegd hoe u uitgesteld deep linken aanzet voor ondersteunde app-attributiepartners (AAP's) van derden of in de nieuwste Google Analytics voor Firebase-SDK (GA4F). Ontdek meer informatie over hoe u conversies voor mobiele apps bijhoudt met tools van derden.
Voordat u begint
Als u uitgesteld deep linken wilt aanzetten voor een ondersteunde AAP, moet u werkende deep links hebben die correct zijn opgenomen in de bijgevoegde feed of zijn ingediend als uitgesteld deep linken voor een advertentiegroep.
Instructies
DDL activeren in ondersteunde AAP's
Dit zijn de externe AAP's die Google op het moment ondersteunt voor uitgesteld deep linken:
- Adjust
- AppsFlyer
- Branch
- Kochava
- Singular
Zo zet u uitgesteld deep linken aan voor de door u gekozen AAP.
Adjust
AppsFlyer
- Klik in AppsFlyer op Configuration > Integrated Partners en selecteer dan Google Ads (AdWords).
- Zet op het tabblad Integration de optie Deferred deep linking with Google feeds aan.
- Klik op Integratie opslaan.
Branch
Kochava
Singular
Meer informatie over hoe u app-conversies bijhoudt met een app-attributiepartner
Uitgesteld deep linken activeren in de GA4F-SDK
U kunt DDL activeren in de GA4F-SDK met Android-versie 17.2.0+ of hoger. Volg hiervoor deze stappen te volgen:
Stappen om DDL te activeren in de GA4F-SDK
1. Stel uw app zo in dat deze Google Analytics voor Firebase gebruikt
Verwijder in de app build.gradle alle afhankelijkheden voor firebase-core
. Voeg vervolgens de afhankelijkheid toe of update deze op firebase-analytics
versie 17.2.0+. In het voorbeeld hieronder wordt een nieuwere versie van de SDK gebruikt.
afhankelijkheden {
...
implementatie 'com.google.firebase:firebase-analytics:21.0.0'
...
}
2. De functie aanzetten in de app
Pas uw app-manifest aan door de volgende metadatatag toe te voegen aan uw app-tag.
<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>
Als deze optie aanstaat, haalt GA4F de geconfigureerde deep link op voor de bijbehorende campagne wanneer de app wordt gestart.
3. De deep link vastleggen
Stel een listener voor SharedPreferences-wijzigingen in binnen de activiteitsklasse voor de primaire lancering. Deze wordt geactiveerd als er een DDL beschikbaar is. Als u de listener later in de levenscyclus van de app registreert, is de deep link mogelijk al opgehaald. In dat geval wordt de listener niet geactiveerd en kunt u de waarde van de deep link direct opzoeken door SharedPreferences te lezen.
GA4F slaat de deep link op in een SharedPreferences-bestand google.analytics.deferred.deeplink.prefs
met de sleutel deeplink
. GA4F slaat in hetzelfde SharedPreferences-bestand ook het tijdstempel van de advertentieklik op met de sleutel timestamp
. De indeling van het tijdstempel is microseconden (milliseconden gevolgd door een punt en microseconden) en het wordt in SharedPreferences opgeslagen met de vermelding Long als het type Double is. Gebruik Double.longBitsToDouble(...) om de werkelijke waarde te parseren.
Voorbeeld:
/**
* De belangrijkste lanceringsactiviteit van de app.
*/
public class MainActivity extends AppCompatActivity {
private SharedPreferences preferences;
private 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. Gegevens voorbereiden voor diagnostische tests
Noteer de AdID voor het apparaat waarmee u wilt testen om uw implementatie te valideren. U kunt de volgende opdracht gebruiken om de DDL in te stellen die de app ontvangt.
"www.googleadservices.com/pagead/conversion/app/deeplink?&rdid=<<your device adid>>&id_type=adid&bundleid=<<your application package>>&deeplink=<<deeplink die u wilt ontvangen>>&ddl_test=1"
Als u wilt checken of de deep link correct is ingesteld, kunt u dit verzoek gebruiken om de reactie te verifiëren.
Deze deep link voor de test verloopt na 24 uur. Herhaal deze stap als de deep link voor de test verloopt.
5. Testmodus aanzetten om de test-DDL op te halen
Zet de DDL-testmodus aan om te beginnen met testen op uw apparaten.
adb shell setprop debug.deferred.deeplink <<uw app- pakket>>
U moet nu de foutopsporingsmodus aanzetten op uw apparaat. Ga aan de slag met de app en check of in Logcat of het logboekbericht een gmp_version
van ten minste 18200
toont. Als u het zoekwoord deferred
zoekt, worden alle foutopsporingsberichten van Google Analytics voor Firebase die betrekking hebben op die functionaliteit gefilterd.
Voorbeeld:
D/FA: De functie voor uitgestelde deep links staat aan.
FA-SVC: Uploading data. app, uncompressed size, data: <<uw app- pakket>>,
…
gmp_version: 18200