Apple, iOS 14.5 ile birlikte geliştiricilerin kullanıcıları izlemek veya cihazlarının reklam kimliğine (IDFA) erişmek için App Tracking Transparency çerçevesi aracılığıyla kullanıcının iznini almasını zorunlu kılıyor. Daha fazla bilgi için Apple'ın Kullanıcı Gizliliği ve Veri Kullanımı ile Apple'ın Uygulama Takibi Şeffaflığı belgelerini inceleyin.
Etkilenen Firebase ürünleri
Firebase SDK'ları IDFA'ya erişmez ancak bazıları, IDFA erişimi gerektirebilecek Google Analytics ile entegrasyonlara sahiptir.
Aşağıdaki tabloda, Apple platformlarında kullanılabilen Firebase ürünleri listelenmekte ve IDFA'ya erişilememesi durumunda her ürünün işlevselliğinin nasıl etkilendiği açıklanmaktadır.
| Ürün | IDFA'ya erişilemiyorsa etkisi |
|---|---|
| A/B Testing | A/B Testing ile Google Analytics entegrasyonundaki bazı hedefleme verileri (ör. demografik bilgiler) IDFA'dan elde edilir. 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 üzerinde etkisi yoktur. |
| 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. Anlık kilitlenme verileri ve izleme bilgileri sağlayan Crashlytics Google Analytics ile entegrasyon, IDFA'ya bağlı değildir. |
| In-App Messaging | Etkisi yok |
| Firebase yüklemeler | 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Ğİ SONA ERDİRİLMİŞ VEYA DESTEKLENMEYEN KÜTÜPHANELER | |
| Dynamic Links | Bağlantı açma işlevi etkilenmez. Google Analytics ile kullanıldığında bağlantı dönüşümü etkinliklerinin ilişkilendirmesi 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ği takdirde etkilenen Firebase ile entegre ürünler listelenmiştir.
| Ürün | IDFA'ya erişilemiyorsa etkisi |
|---|---|
| Google Analytics | Analytics Etkinlik günlüğü, etkinlik raporlama ve dönüşüm ölçümü etkilenmez ancak IDFA'ya erişilemiyorsa ilişkilendirme etkilenir. Google'ın iOS 14'e verdiği yanıt hakkında daha fazla bilgi edinmek için blog yayınımıza göz atın. |
iOS 14'te uygulama izleme izni isteme
Apple uygulamanızın IDFA'ya erişebilmesini istiyorsanız uygulamanıza Apple'ın App Tracking Transparency çerçevesini 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 tanıtım 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ın yayınlanması için izin almanın yanı sıra Apple'ın yönergelerine uygun olarak kullanıcının izlenmesi için izin almayı da otomatik olarak gerçekleştiren Funding Choices'ı kullanabilirsiniz. Daha fazla bilgi için AdMob Kullanıcı Mesajlaşması ile İzin Alma sayfasına bakın.
Aşağıdaki rehberde, 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 kullanılarak sunulan bir çözüm yer almaktadır.
Uygulamanıza In-App Messaging ekleme
Apple uygulamanıza In-App Messaging ekleme talimatlarını uygulayın.
Uygulama içi mesajların kapatılmasını işleme
Öncelikle, iOS 13 çalıştıran cihazlar gibi izin iletişim kutusunu gösteremeyen cihazlarda açıklama ekranının gösterilmesini önleyin. Bu kodun FirebaseApp.configure() 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 sistem istemini uygulama izlemede şeffaflık çerçevesi aracılığıyla 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ın
app_launchetkinliğinde tetiklenmesini sağlayın. - 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.
Açıklama ekranının görünümünü özelleştirmek için In-App Messaging dokümanındaki talimatları uygulayabilirsiniz.
İsteğe bağlı: Farklı açıklama ekranları için A/B testi yapın
In-App Messaging, farklı açıklama ekranlarıyla denemeler yapabileceğiniz Firebase A/B Testing ile yerleşik entegrasyona sahiptir.
Firebase A/B Testing 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 kaydetme
Uygulama izleme izinleri yanıtını işlerken Google Analytics etkinliğini günlüğe kaydetmediyseniz A/B denemesi yaparken yanıt oranındaki değişiklikleri ölçmek için bu işlemi 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, ardından yukarıdaki örnek kodla 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 ve 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 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 metrikleri seçin.
Denemenizi yayınladıktan sonra kesin sonuçlar üretebilmesi için bir süre veri toplaması gerekir.
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 dokümanları okuyun.