Passaggio 3: avvia la misurazione delle conversioni sul dispositivo utilizzando Google Analytics
| Introduzione: Misura le conversioni degli annunci iOS |
|
Passaggio 1: Implementa un'esperienza di accesso |
| Passaggio 2: integra Google Analytics |
|
Passaggio 3: avvia la misurazione delle conversioni sul dispositivo utilizzando Google Analytics |
| Passaggio 4: risolvi e gestisci i problemi comuni |
Ora che puoi raccogliere gli indirizzi email e i numeri di telefono degli utenti e la tua app ha l'Google Analytics per SDK Firebase, puoi utilizzare questi dati per iniziare a misurare le conversioni.
Chiama l'API
Chiama l'API di misurazione delle conversioni con l'indirizzo email o il numero di telefono per il quale è stato fornito il consenso del passaggio 1, che viene utilizzato per la misurazione delle conversioni degli annunci, senza consentire che le informazioni che consentono l'identificazione personale lascino il dispositivo dell'utente.
Esistono due modi per avviare la misurazione:
Utilizza l'indirizzo email o il numero di telefono
Swift
Importa il modulo FirebaseAnalytics e trasmetti l'indirizzo email o il numero di telefono all'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
Importa il modulo FirebaseAnalytics e trasmetti l'indirizzo email all'API initiateOnDeviceConversionMeasurementWithEmailAddress: o il numero di telefono all'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"];
Unity
Importa lo spazio dei nomi Firebase.Analytics e trasmetti l'indirizzo email all'API InitiateOnDeviceConversionMeasurementWithEmailAddress() o il numero di telefono all'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 practice per chiamare l'API
Per garantire una misurazione delle conversioni sul dispositivo accurata e continua, esegui una delle seguenti operazioni:
Chiama a ogni aggiornamento dell'app (opzione consigliata)
Google Analytics per la versione 12.1.0 e successive dell'SDK Firebase include
miglioramenti alla misurazione delle conversioni sul dispositivo. Per assicurarti che questi miglioramenti vengano applicati a tutti gli utenti, inclusi quelli che hanno già eseguito l'accesso prima dell'aggiornamento dell'app, è fondamentale chiamare di nuovo l'API initiateOnDeviceConversionMeasurement dopo l'aggiornamento dell'app.
In particolare, gli utenti che hanno eseguito l'accesso prima dell'aggiornamento dell'app alla versione 12.1.0 dell'SDK non sono inclusi nell'ambito della misurazione avanzata finché non viene chiamata di nuovo l'API initiateOnDeviceConversionMeasurement per questi utenti. Senza il controllo dell'aggiornamento dell'app, questa operazione avverrebbe solo se gli utenti eseguono la disconnessione e poi di nuovo l'accesso.
La best practice consiste nel chiamare l'API per gli utenti che hanno eseguito l'accesso almeno una volta per versione dell'app. Puoi implementare un controllo all'avvio dell'app per chiamare l'API solo quando la versione dell'app è cambiata dall'ultima chiamata.
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"]; }
Unity
// 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(); }
Chiama immediatamente dopo l'accesso
Chiama sempre l'API initiateOnDeviceConversionMeasurement subito dopo che un utente ha eseguito l'accesso o ha registrato il suo indirizzo email o numero di telefono.
Considerazioni sui tempi per le nuove registrazioni
Se un evento di conversione chiave si verifica immediatamente dopo la registrazione di un utente (e chiami l'API), valuta la possibilità di implementare un piccolo ritardo (ad esempio, cinque secondi) tra la chiamata API e la registrazione dell'evento chiave. In questo modo, la misurazione sul dispositivo viene inizializzata completamente prima della registrazione dell'evento.
Utilizza un indirizzo email o un numero di telefono sottoposto ad hashing
L'API accetterà indirizzi email e numeri di telefono sottoposti ad hashing con SHA256. Puoi mantenere il controllo dei dati dei tuoi utenti eseguendo l'hashing nel codice prima di effettuare chiamate all'SDK.
Per utilizzare le credenziali sottoposte ad hashing, normalizza gli indirizzi e i numeri, esegui l'hashing con SHA256, quindi chiama l'API.
Normalizza gli indirizzi email e i numeri di telefono
Per gli indirizzi email, l'API Google Analytics presuppone che venga eseguita una normalizzazione specifica prima dell'applicazione di SHA256, quindi segui questi passaggi per normalizzare i dati:
Converti l'intero indirizzo email in lettere minuscole.
Se l'indirizzo email termina con il dominio @googlemail.com, sostituisci il @googlemail.com dominio con @gmail.com.
Per gli indirizzi che terminano con il dominio @gmail.com (inclusi quelli modificati nel passaggio precedente):
Rimuovi tutti i punti dalla parte del nome utente.
Esegui le seguenti sostituzioni nella parte del nome utente:
- Per le lettere I o i o la cifra 1, sostituisci la lettera l
- Per la cifra 0, sostituisci la lettera o
- Per la cifra 2, sostituisci la lettera z
- Per la cifra 5, sostituisci la lettera s
Ad esempio, dopo la normalizzazione:
an.email.user0125@googlemail.comdiventaanemalluserolzs@gmail.comCAPSUSER0125@provider.netdiventacapsuser0125@provider.net
Per i numeri di telefono, i numeri devono essere già in formato E.164 (ovvero, con il prefisso +, 1-3 cifre per il codice paese, massimo 12 cifre per il numero dell'abbonato) prima dell'hashing con SHA256.
Tieni presente che gli indirizzi email o i numeri di telefono sottoposti ad hashing con SHA256 devono avere una lunghezza di 32 byte e non essere una stringa esadecimale.
Chiama l'API con le credenziali sottoposte ad hashing
Swift
Importa il modulo FirebaseAnalytics e trasmetti l'indirizzo email o il numero di telefono all'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
Importa il modulo FirebaseAnalytics e trasmetti l'indirizzo email all'API initiateOnDeviceConversionMeasurementWithHashedEmailAddress: o il numero di telefono all'API initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:.
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:hashedPhoneNumber];
Unity
Importa lo spazio dei nomi Firebase.Analytics e trasmetti l'indirizzo email all'API InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() o il numero di telefono all'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);
Verifica l'integrazione
Attiva la modalità di debug. Dopo aver chiamato l'API di avvio della misurazione, assicurati che nella console di debug di Xcode venga visualizzato un messaggio di log simile al seguente:
[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement
Se hai attivato la modalità di debug e hai incluso l'argomento di avvio -DebugOnDeviceConversionMeasurement, la chiamata all'API initiateOnDeviceConversionMeasurement() simulerà una corrispondenza.
[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match
Passaggio 2: integra Google Analytics Passaggio 4: risolvi e gestisci i problemi comuni