Langkah 3: Mulai pengukuran konversi di perangkat menggunakan Google Analytics
| Pengantar: Mengukur konversi Iklan iOS |
|
Langkah 1: Terapkan pengalaman login |
| Langkah 2: Integrasikan Google Analytics |
|
Langkah 3: Mulai pengukuran konversi di perangkat menggunakan Google Analytics |
| Langkah 4: Memecahkan masalah dan menangani masalah umum |
Setelah Anda dapat mengumpulkan alamat email dan nomor telepon pengguna serta aplikasi Anda memiliki Google Analytics untuk Firebase SDK, Anda dapat menggunakan keduanya untuk mulai mengukur konversi.
Memanggil API
Panggil API pengukuran konversi dengan alamat email atau nomor telepon yang telah disetujui dari Langkah 1, yang digunakan untuk pengukuran konversi iklan, tanpa mengizinkan informasi identitas pribadi apa pun keluar dari perangkat pengguna.
Ada dua cara untuk memulai pengukuran:
Menggunakan alamat email atau nomor telepon
Swift
Impor modul FirebaseAnalytics dan teruskan alamat email atau nomor telepon ke initiateOnDeviceConversionMeasurement() API.
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
Impor modul FirebaseAnalytics dan teruskan alamat email ke
initiateOnDeviceConversionMeasurementWithEmailAddress: API atau nomor
telepon ke initiateOnDeviceConversionMeasurementWithPhoneNumber: API.
@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
Impor namespace Firebase.Analytics dan teruskan alamat email ke
InitiateOnDeviceConversionMeasurementWithEmailAddress() API atau nomor
telepon ke InitiateOnDeviceConversionMeasurementWithPhoneNumber() API:
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");
Praktik Terbaik untuk memanggil API
Untuk memastikan pengukuran konversi di perangkat yang akurat dan berkelanjutan, lakukan salah satu hal berikut:
Panggil pada setiap update aplikasi (Direkomendasikan)
Google Analytics untuk Firebase SDK versi 12.1.0 dan yang lebih baru mencakup peningkatan pengukuran konversi di perangkat. Untuk memastikan peningkatan ini berlaku bagi semua pengguna, termasuk pengguna yang sudah login sebelum aplikasi Anda diupdate, Anda harus memanggil initiateOnDeviceConversionMeasurement API lagi setelah aplikasi diupdate.
Secara khusus, pengguna yang login sebelum aplikasi Anda diupdate ke SDK versi 12.1.0 tidak disertakan dalam cakupan pengukuran yang ditingkatkan hingga API initiateOnDeviceConversionMeasurement dipanggil lagi untuk mereka. Tanpa pemeriksaan update aplikasi, hal ini hanya akan terjadi jika mereka logout dan login kembali.
Praktik terbaiknya adalah memanggil API untuk pengguna yang login setidaknya sekali per versi aplikasi. Anda dapat menerapkan pemeriksaan saat peluncuran aplikasi untuk memanggil API hanya jika versi aplikasi telah berubah sejak panggilan terakhir.
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(); }
Panggilan segera setelah login
Selalu panggil API initiateOnDeviceConversionMeasurement tepat setelah pengguna berhasil login atau mendaftarkan email atau nomor teleponnya.
Pertimbangan waktu untuk pendaftaran baru
Jika peristiwa konversi utama terjadi segera setelah pengguna mendaftar (dan Anda memanggil API), pertimbangkan untuk menerapkan sedikit penundaan (misalnya, lima detik) antara panggilan API dan pencatatan peristiwa utama. Hal ini membantu memastikan pengukuran di perangkat diinisialisasi sepenuhnya sebelum peristiwa dicatat.
Menggunakan alamat email atau nomor telepon yang di-hash
API akan menerima alamat email dan nomor telepon yang di-hash dengan SHA256. Anda dapat mempertahankan kontrol atas data pengguna Anda dengan melakukan hashing dalam kode Anda sebelum melakukan panggilan ke SDK.
Untuk menggunakan kredensial yang di-hash, normalisasi alamat dan nomor, hash dengan SHA256, lalu panggil API.
Menormalisasi alamat email dan nomor telepon
Untuk alamat email, Google Analytics API mengasumsikan bahwa normalisasi tertentu dilakukan sebelum SHA256 diterapkan, jadi ikuti langkah-langkah berikut untuk menormalisasi data Anda:
Konversi seluruh alamat email menjadi huruf kecil.
Jika alamat email berakhir dengan domain @googlemail.com, ganti domain @googlemail.com dengan @gmail.com.
Untuk alamat yang diakhiri dengan domain @gmail.com (termasuk yang diubah pada langkah sebelumnya):
Hapus semua titik dari bagian nama pengguna.
Lakukan penggantian berikut di bagian nama pengguna:
- Untuk huruf I atau i, atau angka 1, ganti dengan huruf l
- Untuk angka 0, ganti dengan huruf o
- Untuk digit 2, ganti dengan huruf z
- Untuk angka 5, ganti dengan huruf s
Misalnya, setelah normalisasi:
an.email.user0125@googlemail.commenjadianemalluserolzs@gmail.comCAPSUSER0125@provider.netmenjadicapsuser0125@provider.net
Untuk nomor telepon, nomor harus sudah dalam format E.164 (yaitu, diawali dengan +, 1-3 digit untuk kode negara, maksimal 12 digit untuk nomor pelanggan) sebelum di-hash dengan SHA256.
Perhatikan bahwa email atau nomor telepon SHA256 yang di-hash harus memiliki panjang 32 byte dan bukan string heksadesimal.
Memanggil API dengan kredensial yang di-hash
Swift
Impor modul FirebaseAnalytics dan teruskan alamat email atau nomor telepon ke initiateOnDeviceConversionMeasurement() API.
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
Impor modul FirebaseAnalytics dan teruskan alamat email ke
initiateOnDeviceConversionMeasurementWithHashedEmailAddress: API atau
nomor telepon ke
initiateOnDeviceConversionMeasurementWithHashedPhoneNumber: API.
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:hashedPhoneNumber];
Unity
Impor namespace Firebase.Analytics dan teruskan alamat email ke
InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() API atau
nomor telepon ke
InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber() API:
using Firebase.Analytics; // ... // If you're using an email address.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress); // If you're using a phone number.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);
Verifikasi integrasi
Aktifkan mode debug. Setelah memanggil API mulai pengukuran, pastikan pesan seperti pesan log berikut muncul di konsol debug Xcode:
[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement
Jika Anda mengaktifkan mode debug dan menyertakan argumen peluncuran -DebugOnDeviceConversionMeasurement, maka panggilan API initiateOnDeviceConversionMeasurement() akan menyimulasikan kecocokan.
[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match
Langkah 2: Integrasikan Google Analytics Langkah 4: Memecahkan masalah dan menangani masalah umum