Tutorial: Mengukur konversi Iklan iOS

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:

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:

  1. Konversi seluruh alamat email menjadi huruf kecil.

  2. Jika alamat email berakhir dengan domain @googlemail.com, ganti domain @googlemail.com dengan @gmail.com.

  3. Untuk alamat yang diakhiri dengan domain @gmail.com (termasuk yang diubah pada langkah sebelumnya):

    1. Hapus semua titik dari bagian nama pengguna.

    2. 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.com menjadi anemalluserolzs@gmail.com
  • CAPSUSER0125@provider.net menjadi capsuser0125@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