iOS 14'ü destekleme

Apple, iOS 14.5 ile geliştiricilerin, onları izlemek veya cihazlarının reklam tanımlayıcısına (IDFA) erişmek için Uygulama İzleme Şeffaflığı çerçevesi aracılığıyla kullanıcının iznini almasını gerektirir. Daha fazla ayrıntı için Apple'ın Kullanıcı Gizliliği ve Veri Kullanımı ve Apple'ın Uygulama İzleme Şeffaflığı belgelerine bakın.

Etkilenen Firebase ürünleri

Firebase SDK'ları IDFA'ya erişmez, ancak bazılarının Google Analytics ile IDFA erişimini içerebilecek entegrasyonları vardır.

Aşağıdaki tablo, Apple platformlarında bulunan Firebase ürünlerini listeler ve IDFA'ya erişilemiyorsa her bir ürünün işlevselliğinin nasıl etkilendiğini açıklar.

Ürün IDFA'ya erişilemiyorsa etki
A/B Testi Google Analytics ile A/B Testi entegrasyonundaki bazı hedefleme verileri (demografik veriler gibi) IDFA'dan türetilir. IDFA'ya erişimi olmayan uygulamalarda bu hedefleme kullanılamaz.
Uygulama Kontrolü Etkisiz
Uygulama Dağıtımı Etkisiz
kimlik doğrulama Google Oturum Açma ve Telefonla Kimlik Doğrulama gibi Kimlik Doğrulama ve birinci taraf Kimlik Doğrulama sağlayıcıları üzerinde hiçbir etkisi yoktur.
Crashlytics Etkisiz. Gerçek zamanlı kilitlenme verileri ve içerik haritaları sağlayan Google Analytics ile Crashlytics entegrasyonu, IDFA'ya bağlı değildir.
Dinamik Bağlantılar Bağlantı açma işlevi için hiçbir etkisi yoktur. Google Analytics ile birlikte kullanıldığında, bağlantı dönüştürme etkinlikleri için ilişkilendirme kullanılamaz.
Bulut Firestore Etkisiz
Bulut İşlevleri Etkisiz
Uygulama İçi Mesajlaşma Etkisiz
Firebase kurulumları Etkisiz
Örnek Kimliği Etkisiz
Bulut Mesajlaşma Google Analytics ile birlikte kullanıldığında Google Analytics, FCM ile ilgili bazı dönüşüm etkinliklerini otomatik olarak günlüğe kaydeder. Bu etkinlikler için ilişkilendirme, IDFA erişimi gerektirir.
Firebase Makine Öğrenimi Etkisiz
Performans İzleme Etkisiz
Uzak Yapılandırma Google Analytics ile birlikte kullanıldığında Remote Config, IDFA erişimi olmadan hedefleme için otomatik olarak oluşturulan kullanıcı özelliklerine izin vermez.
Gerçek Zamanlı Veritabanı Etkisiz
Bulut depolama Etkisiz

Etkilenen Firebase entegrasyonları

Aşağıdaki tablo, IDFA'ya erişilemiyorsa etkilenen Firebase entegreli ürünleri listeler.

Ürün IDFA'ya erişilemiyorsa etki
Google Analytics Analytics olay günlüğü, olay raporlama ve dönüşüm ölçümü etkilenmez, ancak IDFA erişilebilir değilse ilişkilendirme etkilenir. Google'ın iOS 14'e yanıtı hakkında daha fazla bilgi edinmek için blog gönderimize bakın.

iOS 14'te Uygulama İzleme İzni İsteme

Apple uygulamanızın IDFA'ya erişebilmesini istiyorsanız, Apple'ın Uygulama İzleme Şeffaflığı çerçevesini uygulamanıza ekleyebilir ve kullanıcılarınızın IDFA'sını izlemek veya IDFA'ya erişmek için izin isteyebilirsiniz.

Birçok uygulama, izin istemeden önce bir ısınma veya açıklayıcı ekran sunmayı tercih eder. Açıklayıcı ekran, erişim talebinde bulunmadan önce kullanıcılara uygulamanızın IDFA'yı nasıl kullandığı hakkında daha fazla bilgi vermenizi sağlar.

Bir AdMob veya Ad Manager uygulama yayıncısıysanız, kişiselleştirilmiş reklamlar sunmak için izin almanın yanı sıra kullanıcıyı Apple'ın yönergelerine göre otomatik olarak izlemek için onay almayı işleyen Funding Choices'ı kullanmayı düşünün. Daha fazla ayrıntı için Kullanıcı Mesajlarıyla AdMob Onayı sayfasına bakın.

Aşağıdaki kılavuz, Uygulama İzleme Şeffaflığı yoluyla izleme erişimi talep etmeden önce bir açıklayıcı ekran oluşturmak ve görüntülemek için Firebase Uygulama İçi Mesajlaşmayı kullanan bir çözüm sunar.

Uygulamanıza Uygulama İçi Mesajlaşma ekleyin

Uygulama İçi Mesajlaşmayı Apple uygulamanıza eklemek için talimatları izleyin.

Uygulama içi mesaj kapatmayı yönetin

İlk olarak, iOS 13 çalıştıran cihazlar gibi izin iletişim kutusu sunamayan cihazlarda açıklayıcı ekranı görüntülemekten kaçının. Bu kodun FirebaseApp.configure() sonrasında hemen çalıştırıldığından emin olun.

Süratli

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

Kullanıcı açıklayıcı ekranı kapattığında olayları işlemek için InAppMessagingDisplayDelegate protokolünü uygulayın. Kullanıcı Tamam'a dokunursa, Uygulama İzleme Şeffaflığı çerçevesi aracılığıyla sistem istemini görüntüleyin.

Süratli

// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self

func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
                    with action: InAppMessagingAction) {
  switch action.actionText {
  case "OK":
    ATTrackingManager.requestTrackingAuthorization { status in
      switch status {
      case .authorized:
        // Optionally, log an event when the user accepts.
        Analytics.logEvent("tracking_authorized", parameters: nil)
      case _:
        // Optionally, log an event here with the rejected value.
      }
    }
  case _:
    // do nothing
  }
}

Uygulama İçi Mesajlaşma kampanyası oluşturun

Kod uygulamanıza yerleştirildikten sonra Firebase konsolunda bir uygulama içi mesaj oluşturun.

  1. Firebase konsolunda yeni bir Uygulama İçi Mesajlaşma kampanyası oluşturun.
  2. Uygulama içi mesajları istediğiniz içerikle doldurun ve mesajı app_launch olayında tetiklenecek şekilde ayarlayın.
  3. Hedefleme bölümünde, kampanyanın yalnızca uygulamanızın en son sürümünü ve sonraki sürümlerini hedeflediğinden emin olun.

Uygulama İçi Mesajlaşma belgelerindeki talimatları izleyerek açıklayıcı ekranın görünümünü özelleştirebilirsiniz.

İsteğe bağlı: A/B Testi farklı açıklayıcı ekranlar

Uygulama İçi Mesajlaşma, farklı açıklayıcı ekranlarla denemeler yapmak için kullanabileceğiniz Firebase A/B Testing ile yerleşik bir entegrasyona sahiptir.

Firebase A/B Testing, otomatik olarak deney grupları oluşturur ve kullanıcıların uygulamanızın farklı değişkenleriyle nasıl etkileşim kurduğunu görselleştirmenize yardımcı olur.

Uygulama izleme izinlerini kaydedin

Uygulama izleme izinleri yanıtını işlerken bir Google Analytics etkinliği günlüğe kaydetmediyseniz, bir A/B denemesi çalıştırırken yanıt oranındaki değişiklikleri ölçmek için kaydetmeniz gerekir.

Süratli

ATTrackingManager.requestTrackingAuthorization { status in
  switch status {
  case .authorized:
    // Optionally, log an event when the user accepts.
    Analytics.logEvent("tracking_authorized", parameters: nil)
  case _:
    // Optionally, log an event here with the rejected value.
  }
}

Yeni bir dönüşüm etkinliği oluştur

Firebase konsolunun Analytics bölümünde , Dönüşümler menüsüne gidin, ardından yukarıdaki örnek kodla günlüğe kaydedilen etkinlikle aynı ada sahip yeni bir dönüşüm etkinliği ekleyin.

Yeni bir deneme oluştur

Konsolun Uygulama İçi Mesajlaşma menüsünde , Yeni Deney 'i tıklayın ve ardından açılan ekranlardaki talimatları izleyin.

  • Hedefleme bölümünde, kampanyanın yalnızca uygulamanızın en son sürümünü ve sonraki sürümlerini hedeflediğinden emin olun.
  • Hedefler bölümünde, yukarıdaki örnek kodla oluşturduğunuz dönüşüm etkinliğini ve izlemek istediğiniz diğer ölçümleri seçin.

Denemenizi yayınladıktan sonra, kesin sonuçlar üretebilmesi için bir süre veri toplaması gerekecektir.

Bir denemenin nasıl izleneceği ve başarılı bir değişkenin nasıl kullanıma sunulacağı hakkında bilgi için Firebase A/B Testi belgelerini okuyun.