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ıldı. Daha fazla bilgi için Apple'ın Kullanıcı Gizliliği ve Veri Kullanımı ile Apple'ın Uygulama İzleme Şeffaflığı belgelerini inceleyin.
Etkilenen Firebase ürünleri
Firebase SDK'ları IDFA'ya erişmez ancak bazılarında IDFA erişimini içerebilecek Google Analytics entegrasyonları vardır.
Aşağıdaki tabloda, Apple platformlarında kullanılabilen Firebase ürünleri listelenmiştir 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şilememesi durumundaki etki |
---|---|
A/B Testing | A/B Testing entegrasyonundaki bazı hedefleme verileri (ör. demografi) değeri IDFA'dan türetilir.Google Analytics Aşağıdakileri içermeyen uygulamalarda IDFA'ya erişimi yoksa bu hedefleme kullanılamaz. |
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. |
Crashlytics | Etkisi yok. Gerçek zamanlı kilitlenme verileri ve içerik haritası 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 kullanıldığında, bağlantı dönüşümü etkinlikleri için ilişkilendirme kullanılamaz. |
Cloud Firestore | Etkisi yok |
Cloud Functions | Etkisi yok |
In-App Messaging | Etkisi yok |
Firebase yükleme | 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 kaydeder. Bu etkinliklerin ilişkilendirilmesi için IDFA erişimi gerekir. |
Firebase ML | Etkisi yok |
Performance Monitoring | Etkisi yok |
Remote Config | Google Analytics ile birlikte kullanıldığında Remote Config, IDFA erişimi olmadan hedefleme için otomatik olarak oluşturulan kullanıcı özelliklerine izin vermez. |
Realtime Database | Etkisi yok |
Cloud Storage | Etkisi yok |
Vertex AI in Firebase | Etkisi yok |
Etkilenen Firebase entegrasyonları
Aşağıdaki tabloda, IDFA'nın geçerli olduğu durumlarda bu durumdan etkilenen Firebase ile entegre ürünler listelenmiştir. erişilebilir değil.
Ürün | IDFA'ya erişilememesi durumunda etki |
---|---|
Google Analytics | Analytics olay günlüğü kaydı, etkinlik raporlama ve dönüşüm ölçümü etkilenmez ancak IDFA'ya erişilemediğinde ilişkilendirme etkilenir. Google'ın iOS 14'e yaklaşımı hakkında daha fazla bilgi edinmek için blog yayınımızı inceleyebilirsiniz. |
iOS 14'te uygulama izleme izni isteme
Apple uygulamanızın IDFA'ya erişebilmesini isterseniz Apple'ın App Tracking Transparency (Uygulama İzleme Şeffaflığı) çerçevesini uygulamanıza ekleyip izin isteme veya erişimi takip etmek için IDFA.
Birçok uygulama, izin istemeden önce bir tanıtım veya açıklama ekranı sunmayı tercih eder. Açıklama ekranı, kullanıcılara daha ayrıntılı bilgi vermenizi sağlar. uygulamanızın IDFA'yı nasıl kullandığına dair bağlam bilgisi.
AdMob veya Ad Manager uygulama yayıncısıysanız kişiselleştirilmiş reklam yayınlama ve Apple'ın kurallarına göre kullanıcıyı otomatik olarak izleme izni alma işlemlerini üstlenen Funding Choices'ı kullanabilirsiniz. Daha fazla bilgi için AdMob Kullanıcı Mesajlarıyla Kullanıcı Rızası Alma sayfasına bakın.
Aşağıdaki kılavuzda, App Tracking Transparency aracılığıyla izleme erişimi istemeden önce açıklama ekranı oluşturmak ve görüntülemek için Firebase In-App Messaging kullanılarak bir çözüm sağlanmaktadır.
In-App Messaging uygulamasını uygulamanıza ekleyin
Talimatları uygulayarak Apple uygulamanıza In-App Messaging ekleyin.
Uygulama içi mesaj kapatma işlemini işleme
Öncelikle, iOS 13 çalıştıran cihazlar gibi izin iletişim kutusunu gösteremeyen cihazlarda açıklama ekranını göstermekten kaçının. Bu kodun çalıştığından emin olun
FirebaseApp.configure()
tarihinden hemen sonra.
Swift
if NSClassFromString("ATTrackingManager") == nil {
// Avoid showing the App Tracking Transparency explainer if the
// framework is not linked.
InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}
Şunu uygulayın:
InAppMessagingDisplayDelegate
kullanıcı açıklama ekranını kapattığında etkinlikleri işleyecek protokolü. Kullanıcı Tamam'a dokunursa uygulama izleme şeffaflığı çerçevesi aracılığıyla 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şturun
Kod uygulamanıza yerleştirildikten sonra, Firebase konsolu.
- Firebase konsolunda: yeni bir In-App Messaging kampanyası oluşturun.
- Uygulama içi mesajlara istediğiniz içeriği ekleyip mesajı ayarlayın.
app_launch
etkinliğinde tetiklenir. - Hedefleme bölümünde, kampanyanın yalnızca uygulamanızın en son sürümünü ve sonraki sürümleri hedeflediğinden emin olun.
In-App Messaging dokümanlarında yer alan talimatları uygulayarak açıklama ekranının görünümünü özelleştirebilirsiniz.
İsteğe bağlı: Farklı açıklama ekranlarını A/B testi ile karşılaştırın
In-App Messaging, farklı açıklama ekranlarıyla denemeler yapmak için kullanabileceğiniz Firebase A/B Testing ile yerleşik entegrasyona sahiptir.
Firebase A/B Testing, deneme gruplarını otomatik olarak 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 günlüğe 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şturun
Firebase konsolunun Analytics bölümünde Dönüşümler menüsüne gidin ve 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ü, Yeni Deneme'yi tıklayın ve ardından ekranları.
- Hedefleme bölümünde, kampanyanın yalnızca uygulamanızın en son 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.
Denemeniz yayınlandıktan sonra, kesin sonuçlar elde edebilmesi için bir süre boyunca veri toplaması 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 dokümanlarını okuyun.