iOS 14'ü destekleme

iOS 14.5 ile birlikte 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 almalarını zorunlu kılmaktadır. Daha fazla ayrıntı için Apple'ın Kullanıcı Gizliliği ve Veri Kullanımı ile Apple'ın App Tracking Transparency belgelerine bakın.

Etkilenen Firebase ürünleri

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

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

Ürün IDFA'nın erişilebilir olmamasının etkileri
A/B Testi Google Analytics ile A/B Testi entegrasyonundaki bazı hedefleme verileri (ör. demografi) 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 Google ile Oturum Açma ve Telefonla Kimlik Doğrulama gibi birinci taraf kimlik doğrulama sağlayıcıları bu durumdan etkilenmez.
Crashlytics Etkisi yok. Gerçek zamanlı kilitlenme verileri ve içerik haritaları sağlayan Crashlytics ile Google Analytics entegrasyonu, IDFA'ya bağlı değildir.
Dynamic Links Bağlantı açma işlevi bundan etkilenmez. Google Analytics ile birlikte kullanıldığında, bağlantı dönüşüm etkinlikleri için ilişkilendirme kullanı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 ile birlikte kullanıldığında Google Analytics, FCM ile ilgili bazı dönüşüm etkinliklerini otomatik olarak günlüğe kaydeder. Bu etkinliklerin ilişkilendirilmesi IDFA erişimi gerektirir.
Firebase ML Etkisi yok
Performance Monitoring Etkisi yok
Remote Config Remote Config, Google Analytics ile birlikte kullanıldığında, IDFA erişimi olmadan 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 etkilenen Firebase ile entegre ürünler listelenmiştir.

Ürün IDFA'nın erişilebilir olmamasının etkileri
Google Analytics Analytics olay günlüğü, etkinlik raporlaması ve dönüşüm ölçümü etkilenmez. Ancak IDFA erişilebilir değilse ilişkilendirme etkilenir. Google'ın iOS 14'e yaklaşımı hakkında daha fazla bilgi edinmek için blog yayınımıza göz atın.

iOS 14'te Uygulama İzleme İzni İsteme

Apple uygulamanızın IDFA'ya erişebilmesini isterseniz Apple'ın App Tracking Transparency çerçevesini uygulamanıza ekleyip kullanıcılarınızın IDFA'sını izleme veya erişme izni isteyebilirsiniz.

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

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

Aşağıdaki kılavuzda, Uygulama İzleme Şeffaflığı aracılığıyla izleme erişimi istemeden ö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 sunulmaktadır.

Uygulama içi mesajlaşmayı uygulamanıza ekleyin

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

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

Öncelikle, izin iletişim kutusunu sunamayan cihazlarda (ör. iOS 13 çalıştıran cihazlar) açıklama ekranını görüntülemekten kaçının. Bu kodun FirebaseApp.configure() tarihinden hemen sonra çalıştığından 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 Takibi Ş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ümünü 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ına A/B testi uygulama

Uygulama İçi Mesajlaşma, farklı açıklayıcı ekranlarla denemeler yapmak için kullanabileceğiniz Firebase A/B Testi ile dahili 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şim kurduğunu görselleştirmenize yardımcı olur.

Uygulama izleme izinlerini kaydet

Uygulama izleme izinleri yanıtını işlerken günlüğe bir Google Analytics etkinliği kaydetmediyseniz bir A/B denemesi çalıştırırken yanıt hızındaki değişiklikleri ölçmek için bunu yapmanız 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şturun

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 deneme oluşturun

Konsolun Uygulama İçi Mesajlaşma menüsünde Yeni Deneme'yi tıklayın ve ardından görüntülenen ekranlardaki 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ümünü 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 alabilmesi için bir süre veri toplaması gerekecektir.

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.