Apple, iOS 14.5 ile birlikte geliştiricilerin kullanıcıları izlemek veya cihazlarının reklam kimliğine (IDFA) erişmek için Uygulama İzleme Şeffaflığı çerçevesi aracılığıyla kullanıcıdan izin almasını zorunlu kılıyor. Daha fazla bilgi için Apple'ın Kullanıcı Gizliliği ve Veri Kullanımı ve Apple'ın Uygulama Takibi Şeffaflığı belgelerini inceleyin.
Etkilenen Firebase ürünleri
Firebase SDK'ları IDFA'ya erişmez ancak bazılarında IDFA erişimi içerebilecek Google Analytics entegrasyonları vardır.
Aşağıdaki tabloda, Apple platformlarında kullanılabilen Firebase ürünleri listelenmekte ve IDFA'ya erişilemediğinde her bir ürünün işlevselliğinin nasıl etkilendiği açıklanmaktadır.
| Ürün | IDFA'ya erişilememesinin etkisi |
|---|---|
| A/B Testing | Google Analytics ile A/B Testing entegrasyonundaki bazı hedefleme verileri (demografi gibi) IDFA'dan türetilir. IDFA'ya erişimi olmayan uygulamalarda bu hedefleme kullanılamaz. |
| Firebase AI Logic 1 | Etkisi yok |
| App Check | Etkisi yok |
| App Distribution | Etkisi yok |
| Authentication | Google ile Oturum Açma ve Telefonla Kimlik Doğrulama gibi Authentication ve birinci taraf Authentication sağlayıcıları etkilenmez. |
| Cloud Firestore | Etkisi yok |
| Cloud Functions | 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 için IDFA erişimi gerekir. |
| Cloud Storage | Etkisi yok |
| Crashlytics | Etkilemez. Gerçek zamanlı kilitlenme verileri ve içerik haritaları sağlayan Google Analytics ile Crashlytics entegrasyonu, IDFA'ya bağlı değildir. |
| In-App Messaging | Etkisi yok |
| Firebase kurulum | Etkisi yok |
| Performance Monitoring | Etkisi yok |
| Realtime Database | Etkisi yok |
| Remote Config | Google Analytics ile kullanıldığında Remote Config, IDFA erişimi olmadan hedefleme için otomatik olarak oluşturulan kullanıcı özelliklerine izin vermez. |
| DESTEĞİ SONLANDIRILMIŞ VEYA DESTEKLENMEYEN KİTAPLIKLAR | |
| Dynamic Links | Bağlantı açma işlevi etkilenmez. Google Analytics ile kullanıldığında, bağlantı dönüşümü etkinlikleri için ilişkilendirme kullanılamaz. |
| InstanceID | Etkisi yok |
| Firebase ML | Etkisi yok |
1 Firebase AI Logic, daha önce "Vertex AI in Firebase" olarak adlandırılıyordu.
Etkilenen Firebase entegrasyonları
Aşağıdaki tabloda, IDFA'ya erişilemediğinde etkilenen Firebase entegrasyonlu ürünler listelenmiştir.
| Ürün | IDFA'ya erişilememesinin etkisi |
|---|---|
| Google Analytics | Analytics olay günlüğü, etkinlik raporlama ve dönüşüm ölçümü etkilenmez ancak IDFA'ya erişilemiyorsa ilişkilendirme etkilenir. Google'ın iOS 14'e nasıl yanıt verdiği 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 Uygulama İzleme Şeffaflığı çerçevesini uygulamanıza ekleyebilir ve kullanıcılarınızın IDFA'sını izlemek veya buna erişmek için izin isteyebilirsiniz.
Birçok uygulama, izin istemeden önce bir açıklama ekranı göstermeyi tercih eder. Açıklama ekranı, erişim isteğinde bulunmadan önce kullanıcılara 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 Funding Choices'ı kullanabilirsiniz. Bu araç, kişiselleştirilmiş reklamcılık yayınlama izninin yanı sıra Apple'ın yönergelerine göre kullanıcıyı izleme iznini otomatik olarak alır. Daha fazla bilgi için AdMob Kullanıcı Mesajlaşma ile Kullanıcı Rızası 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östermek için Firebase In-App Messaging kullanan bir çözüm sunulmaktadır.
Uygulamanıza In-App Messaging ekleyin
In-App Messaging uygulamasını Apple uygulamanıza ekleme talimatlarını uygulayın.
Uygulama içi mesajın kapatılmasını işleme
Öncelikle, açıklama ekranını iOS 13 çalıştıran cihazlar gibi izin iletişim kutusunu gösteremeyen cihazlarda göstermeyin. Bu kodun FirebaseApp.configure()'den hemen sonra yürütüldüğünden 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 App Tracking Transparency çerçevesi üzerinden sistem istemini gösterin.
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
}
}
In-App Messaging kampanyası oluşturma
Kod uygulamanıza yerleştirildikten sonra Firebase konsolunda bir uygulama içi mesaj oluşturun.
- Firebase konsolunda yeni bir In-App Messaging kampanyası oluşturun.
- Uygulama içi mesajları istediğiniz içerikle doldurun ve mesajı
app_launchetkinliğinde tetiklenecek şekilde ayarlayın. - Hedefleme bölümünde, kampanyanın yalnızca uygulamanızın en son sürümünü ve daha yeni sürümleri hedeflediğinden emin olun.
In-App Messaging belgelerindeki talimatları uygulayarak açıklama ekranının görünümünü özelleştirebilirsiniz.
İsteğe bağlı: Farklı açıklama ekranları için A/B testi yapın
In-App Messaging, farklı açıklama ekranlarıyla denemeler yapmak için kullanabileceğiniz Firebase A/B Testing ile yerleşik bir entegrasyona sahiptir.
Firebase A/B Testing, otomatik olarak deneme amaçlı 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 kaydetme
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ç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şturma
Firebase konsolunun Analytics bölümünde Dönüşümler menüsüne gidin ve 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 In-App Messaging menüsünde Yeni Deneme'yi tıklayın, ardından açılan ekranlardaki talimatları uygulayın.
- Hedefleme bölümünde, kampanyanın yalnızca uygulamanızın en son sürümünü ve daha yeni 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 elde edebilmek için bir süre veri toplamanız gerekir.
Bir denemeyi nasıl izleyeceğiniz ve başarılı bir varyantı nasıl kullanıma sunacağınız hakkında bilgi edinmek için Firebase A/B Testing belgelerini okuyun.