iOS 14.5 ile Apple, geliştiricilerin, kullanıcıları takip edebilmeleri veya cihazlarının reklam tanımlayıcılarına (IDFA) erişebilmeleri için Uygulama İzleme Şeffaflığı çerçevesi aracılığıyla kullanıcıdan izin almasını zorunlu kılmaktadır. 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 gerektirebilecek entegrasyonları vardır.
Aşağıdaki tabloda, Apple platformlarında bulunan Firebase ürünleri listelenmekte ve IDFA'ya erişilemediği takdirde her ürünün işlevselliğinin nasıl etkileneceği açıklanmaktadır.
Ürün | IDFA'ya erişilemiyorsa etkisi |
---|---|
A/B Testi | A/B Testinin Google Analytics ile entegrasyonundaki bazı hedefleme verileri (demografik bilgiler 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 | Kimlik Doğrulama ve Google ile Oturum Açma ve Telefon Kimlik Doğrulaması gibi birinci taraf Kimlik Doğrulama sağlayıcıları üzerinde herhangi bir etkisi yoktur. |
Crashlytics | Etkisiz. Gerçek zamanlı kilitlenme verileri ve kırıntıları sağlayan Crashlytics'in Google Analytics ile entegrasyonu, IDFA'ya bağlı değildir. |
Dinamik Bağlantılar | Bağlantı açma işlevine etkisi yoktur. Google Analytics ile birlikte kullanıldığında bağlantı dönüştürme etkinliklerine ilişkin 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 etkinliklere ilişkin ilişkilendirme, IDFA erişimi gerektirir. |
Firebase ML | Etkisiz |
Performans İzleme | Etkisiz |
Uzaktan Yapılandırma | 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. |
Gerçek Zamanlı Veritabanı | Etkisiz |
Bulut depolama | Etkisiz |
Etkilenen Firebase entegrasyonları
Aşağıdaki tabloda, IDFA'ya erişilememesi durumunda etkilenen Firebase ile entegre ürünler listelenmektedir.
Ürün | IDFA'ya erişilemiyorsa etkisi |
---|---|
Google Analytics | Analytics etkinlik günlüğü tutma, etkinlik raporlama ve dönüşüm ölçümü etkilenmez ancak IDFA'ya erişilemediği takdirde ilişkilendirme etkilenir. Google'ın iOS 14'e yanıtı hakkında daha fazla bilgi edinmek için blog yayınımıza bakın. |
iOS 14'te Uygulama Takip İzni İsteme
Apple uygulamanızın IDFA'ya erişebilmesini istiyorsanız uygulamanıza Apple'ın Uygulama İzleme Şeffaflığı çerçevesini ekleyebilir ve kullanıcılarınızın IDFA'sını takip etmek veya bunlara 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 istemeden önce kullanıcılara uygulamanızın IDFA'yı nasıl kullandığı konusunda daha fazla bağlam sunmanıza olanak tanır.
AdMob veya Ad Manager uygulama yayıncısıysanız, kişiselleştirilmiş reklamların sunulması için izin alınmasının yanı sıra kullanıcıyı Apple'ın yönergelerine göre otomatik olarak takip etme iznini alan 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şma'yı kullanan bir çözüm sunmaktadır.
Uygulamanıza Uygulama İçi Mesajlaşma ekleyin
Uygulama İçi Mesajlaşma'yı Apple uygulamanıza eklemek için talimatları izleyin.
Uygulama içi mesajların reddedilmesini yönetin
Öncelikle, iOS 13 çalıştıran cihazlar gibi izin iletişim kutusunu sunamayan cihazlarda açıklayıcı ekranı görüntülemekten kaçının. Bu kodun FirebaseApp.configure()
işleminden hemen sonra yürütüldüğünden 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ını kapattığında meydana gelen olayları yönetmek 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şturma
Kod uygulamanıza yerleştirildikten sonra Firebase konsolunda bir uygulama içi mesaj oluşturun.
- Firebase konsolunda yeni bir Uygulama İçi Mesajlaşma kampanyası oluşturun.
- Uygulama içi mesajları istediğiniz içerikle doldurun ve mesajı
app_launch
etkinliğinde tetiklenecek şekilde ayarlayın. - Hedefleme bölümünde, kampanyanın uygulamanızın yalnızca en yeni sürümünü ve daha üstünü 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 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 kaydedin
Uygulama izleme izinleri yanıtını işlerken bir Google Analytics etkinliğini günlüğe kaydetmediyseniz, bir A/B denemesi çalıştırırken yanıt oranındaki değişiklikleri ölçmek için bunu yapmanız gerekecektir.
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şturun
Firebase konsolunun Analizler bölümünde Dönüşümler menüsüne gidin ve ardından yukarıdaki örnek kodla günlüğe kaydedilen etkinlikle aynı adı taşıyan yeni bir dönüşüm etkinliği ekleyin.
Yeni bir deneme oluştur
Konsolun Uygulama İçi Mesajlaşma menüsünde Yeni Deneme'yi tıklayın ve ardından ortaya çıkan ekranlardaki talimatları izleyin.
- Hedefleme bölümünde, kampanyanın uygulamanızın yalnızca en yeni sürümünü ve daha üstü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 ö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 varyantın nasıl kullanıma sunulacağı hakkında bilgi için Firebase A/B Testi belgelerini okuyun.