Eğitim: iOS Reklamları dönüşümlerini ölçme

3. adım: Google Analytics kullanarak cihaz üzerinde dönüşüm ölçümünü başlatın


Giriş: iOS reklam dönüşümlerini ölçme

1. adım: Oturum açma deneyimi uygulayın

2. adım: Entegrasyon Google Analytics

3. adım: Google Analytics kullanarak cihaz üzerinde dönüşüm ölçümünü başlatın

4. adım: Sık karşılaşılan sorunları giderme ve ele alma


Artık kullanıcıların e-posta adreslerini ve telefon numaralarını toplayabildiğinize ve uygulamanızda Firebase SDK'sı için Google Analytics bulunduğuna göre, dönüşümleri ölçmeye başlamak için bu ikisini kullanabilirsiniz.

API'yi çağırma

Kullanıcı cihazından kimliği tanımlayabilecek bilgilerin çıkmasına izin vermeden, reklam dönüşümü ölçümü için kullanılan 1. adımda izin verilen e-posta adresi veya telefon numarasıyla dönüşüm ölçümü API'sini çağırın.

Ölçümü başlatmanın iki yolu vardır:

E-posta adresi veya telefon numarası kullanma

Swift

FirebaseAnalytics modülünü içe aktarın ve e-posta adresini veya telefon numarasını FirebaseAnalytics API'ye iletin.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

FirebaseAnalytics modülünü içe aktarın ve e-posta adresini initiateOnDeviceConversionMeasurementWithEmailAddress: API'ye, telefon numarasını ise initiateOnDeviceConversionMeasurementWithPhoneNumber: API'ye iletin.

@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

Firebase.Analytics ad alanını içe aktarın ve e-posta adresini InitiateOnDeviceConversionMeasurementWithEmailAddress() API'sine, telefon numarasını ise InitiateOnDeviceConversionMeasurementWithPhoneNumber() API'sine iletin:

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");

API'yi çağırmayla ilgili en iyi uygulamalar

Cihaz üzerinde dönüşüm ölçümünün doğru ve kesintisiz olmasını sağlamak için aşağıdakilerden herhangi birini yapın:

Google Analytics Firebase SDK'nın 12.1.0 ve sonraki sürümlerinde cihaz üzerinde dönüşüm ölçümüyle ilgili iyileştirmeler yapılmıştır. Bu iyileştirmelerin, uygulamanız güncellenmeden önce oturum açmış olanlar da dahil olmak üzere tüm kullanıcılar için geçerli olmasını sağlamak amacıyla, uygulama güncellendikten sonra initiateOnDeviceConversionMeasurement API'sini tekrar çağırmak çok önemlidir.

Özellikle, uygulamanız SDK'nın 12.1.0 sürümüne güncellenmeden önce oturum açan kullanıcılar, kendileri için initiateOnDeviceConversionMeasurement API'si tekrar çağrılana kadar geliştirilmiş ölçüm kapsamına dahil edilmez. Uygulama güncelleme kontrolü yapılmadığında bu durum yalnızca kullanıcılar oturumu kapatıp yeniden açtığında gerçekleşir.

En iyi uygulama, API'yi uygulamaya giriş yapmış kullanıcılar için uygulama sürümü başına en az bir kez çağırmaktır. Uygulama başlatıldığında, API'yi yalnızca son çağrıdan bu yana uygulama sürümü değiştiyse çağırmak için bir kontrol uygulayabilirsiniz.

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();
}

Oturum açtıktan hemen sonra arama yapma

Kullanıcı başarılı bir şekilde oturum açtıktan veya e-posta ya da telefon numarasını kaydettikten hemen sonra her zaman initiateOnDeviceConversionMeasurement API'sini çağırın.

Yeni kayıtlar için zamanlama

Kullanıcı kaydolduktan hemen sonra önemli bir dönüşüm etkinliği gerçekleşirse (ve API'yi çağırırsanız) API çağrısı ile önemli etkinliğin günlüğe kaydedilmesi arasında kısa bir gecikme (örneğin, beş saniye) uygulayabilirsiniz. Bu, etkinlik kaydedilmeden önce cihaz üzerinde ölçümün tamamen başlatılmasını sağlar.

Karma oluşturma işlemi uygulanmış e-posta adresi veya telefon numarası kullanma

API, SHA256 ile karma oluşturma işlemi uygulanmış e-posta adreslerini ve telefon numaralarını kabul eder. SDK'ya çağrı yapmadan önce kodunuzda karma oluşturma işlemini gerçekleştirerek kullanıcı verilerinizin kontrolünü elinizde tutabilirsiniz.

Karma oluşturma işlemi uygulanmış kimlik bilgilerini kullanmak için adresleri ve numaraları normalleştirin, SHA256 ile karma oluşturma işlemi uygulayın ve ardından API'yi çağırın.

E-posta adreslerini ve telefon numaralarını normalleştirme

E-posta adresleri için Google Analytics API, SHA256 uygulanmadan önce belirli bir normalleştirme işleminin yapıldığını varsayar. Bu nedenle, verilerinizi normalleştirmek için aşağıdaki adımları uygulayın:

  1. E-posta adresinin tamamını küçük harfe dönüştürün.

  2. E-posta adresi @googlemail.com alanıyla bitiyorsa @googlemail.com alanını @gmail.com ile değiştirin.

  3. Alan adı @gmail.com ile biten adresler için (önceki adımda değiştirilenler dahil):

    1. Kullanıcı adı kısmındaki tüm noktaları kaldırın.

    2. Kullanıcı adı bölümünde aşağıdaki değişiklikleri yapın:

      • I veya i harfleri ya da 1 rakamı yerine l harfini kullanın.
      • 0 rakamı için o harfini kullanın.
      • 2. rakam için z harfini kullanın.
      • 5. rakam için s harfini kullanın.

Örneğin, normalleştirmeden sonra:

  • an.email.user0125@googlemail.com, anemalluserolzs@gmail.com olur
  • CAPSUSER0125@provider.net, capsuser0125@provider.net olur

Telefon numaraları için numaralar, SHA256 ile karma oluşturma işleminden önce E.164 biçiminde olmalıdır (ör. + ile önek, ülke kodu için 1-3 hane, abone numarası için en fazla 12 hane).

Karma oluşturma işlemi uygulanmış SHA256 e-posta veya telefon numaralarının 32 bayt uzunluğunda olması ve onaltılık dize olmaması gerektiğini unutmayın.

API'yi karma oluşturulmuş kimlik bilgileriyle çağırma

Swift

FirebaseAnalytics modülünü içe aktarın ve e-posta adresini veya telefon numarasını FirebaseAnalytics API'ye iletin.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

FirebaseAnalytics modülünü içe aktarın ve e-posta adresini initiateOnDeviceConversionMeasurementWithHashedEmailAddress: API'ye veya telefon numarasını initiateOnDeviceConversionMeasurementWithHashedPhoneNumber: API'ye iletin.

@import FirebaseAnalytics;

// ...
// If you're using an email address....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress];
// If you're using a phone number....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:hashedPhoneNumber];

Unity

Firebase.Analytics ad alanını içe aktarın ve e-posta adresini InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() API'ye veya telefon numarasını InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber() API'ye iletin:

using Firebase.Analytics;

// ...
// If you're using an email address....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress);
// If you're using a phone number....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);

Entegrasyonu doğrulama

Hata ayıklama modunu etkinleştirin. initiate measurement API'yi çağırdıktan sonra Xcode hata ayıklama konsolunda aşağıdaki günlük mesajına benzer bir mesajın göründüğünden emin olun:

[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement

Hata ayıklama modunu etkinleştirdiyseniz ve -DebugOnDeviceConversionMeasurement başlatma bağımsız değişkenini eklediyseniz initiateOnDeviceConversionMeasurement() API'sini çağırmak bir eşleşmeyi simüle eder.

[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match




2. adım: Entegrasyon yapın Google Analytics 4. adım: Sorunları giderin ve yaygın sorunları ele alın