Schritt 3: On-Device-Conversion-Messung mit Google Analytics starten
| Einführung: Conversions von iOS-Anzeigen erfassen |
|
Schritt 1: Anmeldeverfahren implementieren |
| Schritt 2: Google Analyticseinbinden |
|
Schritt 3: On-Device-Conversion-Messung mit Google Analytics |
| Schritt 4: Häufige Probleme beheben |
Nachdem Sie die E-Mail-Adressen und Telefonnummern der Nutzer erfasst haben und Ihre App das Google Analytics für Firebase SDK enthält, können Sie mit diesen beiden Elementen Conversions erfassen.
API aufrufen
Rufen Sie die Conversion-Messungs-API mit der im ersten Schritt erfassten E-Mail-Adresse oder Telefonnummer auf, die für die Conversion-Messung von Anzeigen verwendet wird. Dabei dürfen keine personenbezogenen Daten das Gerät des Nutzers verlassen.
Es gibt zwei Möglichkeiten, die Messung zu starten:
E-Mail-Adresse oder Telefonnummer verwenden
Swift
Importieren Sie das Modul FirebaseAnalytics und übergeben Sie die E-Mail-Adresse oder Telefonnummer an die API initiateOnDeviceConversionMeasurement().
import FirebaseAnalytics // ... // If you're using an email address.... Analytics.initiateOnDeviceConversionMeasurement(emailAddress: "example@gmail.com") // If you're using a phone number.... Analytics.initiateOnDeviceConversionMeasurement(phoneNumber: "+15555555555")
Objective-C
Importieren Sie das Modul FirebaseAnalytics und übergeben Sie die E-Mail-Adresse an die API initiateOnDeviceConversionMeasurementWithEmailAddress: oder die Telefonnummer an die API initiateOnDeviceConversionMeasurementWithPhoneNumber:.
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithEmailAddress:@"example@gmail.com"]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithPhoneNumber:@"+15555555555"];
Einheit
Importieren Sie den Namespace Firebase.Analytics und übergeben Sie die E-Mail-Adresse an die API InitiateOnDeviceConversionMeasurementWithEmailAddress() oder die Telefonnummer an die API InitiateOnDeviceConversionMeasurementWithPhoneNumber():
using Firebase.Analytics; // ... // If you're using an email address.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithEmailAddress("example@gmail.com"); // If you're using a phone number.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithPhoneNumber("+15555555555");
Best Practices für den Aufruf der API
So sorgen Sie für eine genaue und kontinuierliche On-Device-Conversion-Messung:
Bei jedem App-Update aufrufen (empfohlen)
Google Analytics für Firebase SDK Version 12.1.0 und höher enthält
Verbesserungen für die On-Device-Conversion-Messung. Damit diese Verbesserungen für alle Nutzer gelten, auch für diejenigen, die sich bereits angemeldet haben, bevor Ihre App aktualisiert wurde, ist es wichtig, die API initiateOnDeviceConversionMeasurement nach den App-Updates noch einmal aufzurufen.
Nutzer, die sich vor dem App-Update auf SDK-Version 12.1.0 angemeldet haben, werden erst dann in den Bereich der optimierten Analysen aufgenommen, wenn die API initiateOnDeviceConversionMeasurement noch einmal für sie aufgerufen wird. Ohne die App-Update-Prüfung würde dies nur geschehen, wenn sie sich abmelden und wieder anmelden.
Als Best Practice gilt, die API für angemeldete Nutzer mindestens einmal pro App-Version aufzurufen. Sie können eine Prüfung beim Starten der App implementieren, um die API nur aufzurufen, wenn sich die App-Version seit dem letzten Aufruf geändert hat.
Swift
// On app launch if the app version has changed, call the API with the first-party data // (for example: email address, phone number, hashed email address, hashed phone number). let cachedAppVersion = UserDefaults.standard.string(forKey: "cachedAppVersion") let currentAppVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String if cachedAppVersion != currentAppVersion { let hashedEmailAddress = ... Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress) UserDefaults.standard.set(currentAppVersion, forKey: "cachedAppVersion") }
Objective-C
// On app launch if the app version has changed, call the API with the first-party data // (for example: email address, phone number, hashed email address, hashed phone number). NSString *cachedAppVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"cachedAppVersion"]; NSString *currentAppVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]; if (![cachedAppVersion isEqualToString:currentAppVersion]) { NSString *hashedEmailAddress = ... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress]; [[NSUserDefaults standardUserDefaults] setObject:currentAppVersion forKey:@"cachedAppVersion"]; }
Einheit
// On app launch if the app version has changed, call the API with the first-party data // (for example: email address, phone number, hashed email address, hashed phone number). string cachedAppVersion = PlayerPrefs.GetString("cached_app_version", ""); string currentAppVersion = Application.version; if (cachedAppVersion != currentAppVersion) { byte[] hashedEmailAddress = ... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress( hashedEmailAddress); PlayerPrefs.SetString("cached_app_version", currentAppVersion); PlayerPrefs.Save(); }
Sofort nach der Anmeldung aufrufen
Rufen Sie die API initiateOnDeviceConversionMeasurement immer auf, nachdem sich ein Nutzer erfolgreich angemeldet oder seine E-Mail-Adresse oder Telefonnummer registriert hat.
Timing für neue Registrierungen
Wenn ein wichtiges Conversion-Ereignis unmittelbar nach der Registrierung eines Nutzers eintritt (und Sie die API aufrufen), sollten Sie eine kurze Verzögerung (z. B. fünf Sekunden) zwischen dem API-Aufruf und der Protokollierung des Schlüsselereignisses implementieren. So wird sichergestellt, dass die On-Device-Messung vollständig initialisiert ist, bevor das Ereignis protokolliert wird.
Gehashte E-Mail-Adresse oder Telefonnummer verwenden
Die API akzeptiert E-Mail-Adressen und Telefonnummern, die mit SHA256 gehasht wurden. Sie können die Kontrolle über die Daten Ihrer Nutzer behalten, indem Sie das Hashing in Ihrem Code durchführen, bevor Sie Aufrufe an das SDK senden.
Wenn Sie gehashte Anmeldedaten verwenden möchten, normalisieren Sie Adressen und Nummern, hashen Sie sie mit SHA256 und rufen Sie dann die API auf.
E-Mail-Adressen und Telefonnummern normalisieren
Bei E-Mail-Adressen geht die Google Analytics API davon aus, dass eine bestimmte Normalisierung erfolgt ist, bevor SHA256 angewendet wird. Folgen Sie daher dieser Anleitung, um Ihre Daten zu normalisieren:
Wandeln Sie die gesamte E-Mail-Adresse in Kleinbuchstaben um.
Wenn die E-Mail-Adresse auf die Domain @googlemail.com endet, ersetzen Sie die @googlemail.com Domain durch @gmail.com.
Für Adressen, die auf die Domain @gmail.com enden (einschließlich der im vorherigen Schritt geänderten):
Entfernen Sie alle Punkte aus dem Nutzernamen.
Ersetzen Sie im Nutzernamen die folgenden Zeichen:
- Ersetzen Sie die Buchstaben „I“ oder „i“ oder die Ziffer „1“ durch den Buchstaben „l“.
- Ersetzen Sie die Ziffer „0“ durch den Buchstaben „o“.
- Ersetzen Sie die Ziffer „2“ durch den Buchstaben „z“.
- Ersetzen Sie die Ziffer „5“ durch den Buchstaben „s“.
Beispiel nach der Normalisierung:
an.email.user0125@googlemail.comwird zuanemalluserolzs@gmail.comCAPSUSER0125@provider.netwird zucapsuser0125@provider.net
Bei Telefonnummern müssen die Nummern bereits im E.164-Format vorliegen (d. h. mit „+“ beginnen, 1–3 Ziffern für den Ländercode und maximal 12 Ziffern für die Teilnehmernummer enthalten ), bevor sie mit SHA256 gehasht werden.
Die gehashten SHA256-E-Mail-Adressen oder ‑Telefonnummern müssen 32 Byte lang sein und dürfen keine Hexadezimalstrings sein.
API mit gehashten Anmeldedaten aufrufen
Swift
Importieren Sie das Modul FirebaseAnalytics und übergeben Sie die E-Mail-Adresse oder Telefonnummer an die API initiateOnDeviceConversionMeasurement().
import FirebaseAnalytics // ... // If you're using an email address.... Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress) // If you're using a phone number.... Analytics.initiateOnDeviceConversionMeasurement(hashedPhoneNumber: hashedPhoneNumber)
Objective-C
Importieren Sie das Modul FirebaseAnalytics und übergeben Sie die E-Mail-Adresse an die API initiateOnDeviceConversionMeasurementWithHashedEmailAddress: oder die Telefonnummer an die API initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:.
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:hashedPhoneNumber];
Einheit
Importieren Sie den Namespace Firebase.Analytics und übergeben Sie die E-Mail-Adresse an die API InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() oder die Telefonnummer an die API InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber():
using Firebase.Analytics; // ... // If you're using an email address.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress); // If you're using a phone number.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);
Einbindung verifizieren
Aktivieren Sie den Debug-Modus. Nachdem Sie die Measurement API zum Starten der Messung aufgerufen haben, muss in der Xcode-Debugging-Konsole eine Meldung wie der folgende Logeintrag angezeigt werden:
[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement
Wenn Sie den Debug-Modus aktiviert und das Startargument -DebugOnDeviceConversionMeasurement eingefügt haben, wird beim Aufrufen der API initiateOnDeviceConversionMeasurement() ein Treffer simuliert.
[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match
Schritt 2: Google Analytics einbinden Schritt 4: Häufige Probleme behebenGoogle Analytics