iOS 14'ü destekleme

iOS 14.5'te Apple, geliştiricilerin kullanıcıyı izlemek veya cihazının reklam tanımlayıcısına (IDFA) erişmek için Uygulama İzleme Şeffaflığı çerçevesi üzerinden kullanıcının iznini almasını zorunlu kılıyor. Daha fazla ayrıntı için Apple'ın Kullanıcı Gizliliği ve Veri Kullanımı ile Apple'ın Uygulama İzleme Şeffaflığı dokümanlarına bakın.

Etkilenen Firebase ürünleri

Firebase SDK'ları IDFA'ya erişemez ancak bazılarının Google Analytics ile entegrasyonları IDFA erişimi içerebilir.

Aşağıdaki tabloda, Apple platformlarında kullanılabilen Firebase ürünleri listelenmektedir ve IDFA'nın erişilebilir olmaması durumunda her bir ürünün işlevlerinin nasıl etkileneceği açıklanmaktadır.

Ürün IDFA'nın erişilebilir olmamasının etkisi
A/B Testi Google Analytics ile A/B Testi entegrasyonundaki bazı hedefleme verileri (demografi gibi) IDFA'dan türetilir. IDFA'ya erişimi olmayan uygulamalarda bu hedefleme kullanılamaz.
Uygulama Kontrolü Etkisi yok
App Distribution Etkisi yok
Doğrulama Kimlik Doğrulama ve birinci taraf Kimlik Doğrulama sağlayıcıları (ör. Google ile Oturum Açma ve Telefonla Kimlik Doğrulama) üzerinde etkilenmez.
Crashlytics Etkisi yoktur. Gerçek zamanlı kilitlenme verileri ve içerik haritaları sağlayan Google Analytics ile Crashlytics entegrasyonu, IDFA'ya bağlı değildir.
Dynamic Links Bağlantı açma işlevi etkilenmez. Google Analytics ile birlikte kullanıldığında, bağlantı dönüşüm etkinlikleri için ilişkilendirme yapılamaz.
Cloud Firestore Etkisi yok
Cloud Functions Etkisi yok
Uygulama İçi Mesajlaşma Etkisi yok
Firebase yüklemeleri Etkisi yok
Örnek Kimliği Etkisi yok
Cloud Messaging Google Analytics, Google Analytics ile birlikte kullanıldığında FCM ile ilgili bazı dönüşüm etkinliklerini otomatik olarak günlüğe kaydeder. Bu etkinliklerin ilişkilendirilmesi için IDFA erişimi gerekir.
Firebase ML Etkisi yok
Performance Monitoring Etkisi yok
Remote Config Remote Config, Google Analytics ile birlikte kullanıldığında IDFA erişimi olmayan hedefleme için otomatik olarak oluşturulan kullanıcı özelliklerine izin vermez.
Realtime Database Etkisi yok
Cloud Storage Etkisi yok
Firebase için Vertex AI Etkisi yok

Etkilenen Firebase entegrasyonları

Aşağıdaki tabloda, IDFA'nın erişilebilir olmaması durumunda bundan etkilenen Firebase ile entegre ürünler listelenmiştir.

Ürün IDFA'nın erişilebilir olmamasının etkisi
Google Analytics Analytics olay günlüğü, etkinlik raporlaması ve dönüşüm ölçümü etkilenmez ancak IDFA'ya erişilemediğinde ilişkilendirme etkilenir. iOS 14'e Google'ın yanıtı hakkında daha fazla bilgi edinmek için blog yayınımızı inceleyin.

iOS 14'te Uygulama İzleme İzni İsteme

Apple uygulamanızın IDFA'ya erişebilmesini istiyorsanız Apple'ın App Tracking Transparency çerçevesini uygulamanıza ekleyebilir ve kullanıcılarınızın IDFA'sını izlemek veya bunlara erişmek için izin isteyebilirsiniz.

Birçok uygulama, izin istemeden önce bir ısınma veya açıklama ekranı göstermeyi tercih eder. Açıklama ekranı, erişim istemeden önce kullanıcılara uygulamanızın IDFA'yı nasıl kullandığı hakkında daha fazla bilgi sunmanıza olanak tanır.

AdMob veya Ad Manager uygulama yayıncısıysanız kişiselleştirilmiş reklamlar yayınlamak için izin alma ve kullanıcıyı Apple'ın yönergelerine göre otomatik olarak izlemek için izin alma işlemlerini yapan Funding Choices'ı kullanabilirsiniz. Daha fazla bilgi için Kullanıcı Mesajlaşması ile AdMob İzni sayfasını inceleyin.

Aşağıdaki kılavuzda, Uygulama İzleme Şeffaflığı aracılığıyla izleme erişimi isteğinde bulunmadan önce açıklama ekranı oluşturmak ve görüntülemek için Firebase Uygulama İçi Mesajlaşma'nın kullanıldığı bir çözüm sağlanmaktadır.

Uygulamanıza Uygulama İçi Mesajlaşma ekleyin

Apple uygulamanıza Uygulama İçi Mesajlaşma ekleme talimatlarını uygulayın.

Uygulama içi mesaj kapatma işlemini işleme

Öncelikle, iOS 13 çalıştıran cihazlar gibi izin iletişim kutusu sunamayan cihazlarda açıklama ekranını görüntülemekten kaçının. Bu kodun FirebaseApp.configure() tarihinden hemen sonra yürütüldiğinden emin olun.

Swift

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

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

Swift

// 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çi mesajlaşma kampanyası oluşturma

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 etkinliğinde tetiklenecek şekilde ayarlayın.
  3. Hedefleme bölümünde kampanyanın, uygulamanızın yalnızca en yeni sürümünü ve sonraki sürümleri hedeflediğinden emin olun.

Uygulama İçi Mesajlaşma dokümanlarındaki talimatları uygulayarak açıklama ekranının görünümünü özelleştirebilirsiniz.

İsteğe bağlı: Farklı açıklama ekranlarında A/B Testi yapma

Uygulama İçi Mesajlaşma, farklı açıklama ekranlarıyla deneme yapmak için kullanabileceğiniz Firebase A/B Testi ile yerleşik bir entegrasyona sahiptir.

Firebase A/B Testi, otomatik olarak deneme grupları oluşturur ve kullanıcıların, uygulamanızın farklı varyantlarıyla nasıl etkileşimde bulunduğunu görselleştirmenize yardımcı olur.

Uygulama izleme izinlerini kaydet

Uygulama izleme izinleri yanıtını işlerken bir Google Analytics etkinliği kaydetmediyseniz A/B denemesi çalıştırırken yanıt oranındaki değişiklikleri ölçmeniz gerekir.

Swift

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şturma

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

Yeni deneme oluşturun

Konsolun Uygulama İçi Mesajlaşma menüsünde, Yeni Deneme'yi tıklayın ve ardından ekranda görüntülenen talimatları uygulayın.

  • Hedefleme bölümünde kampanyanın, uygulamanızın yalnızca en yeni sürümünü ve sonraki sürümleri 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 metrikleri seçin.

Denemenizi yayınladıktan sonra, kesin sonuçlar sağlayabilmesi için denemenizin bir süre veri toplaması gerekir.

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