我正在使用 SwiftUI 构建 iOS 应用程序并集成 Firebase Analytics、Crashlytics 和 AdMob。
据我所知,我应该添加应用程序跟踪透明度(ATT)以请求用户允许跟踪数据。
有人可以提供用于实施 ATT 的 SwiftUI 代码示例,并指导我如何处理用户拒绝,特别是在禁用 Firebase Analytics 和 Crashlytics 的数据收集时?我们将非常感谢您的见解。
在 Info.plist 中:
添加 NSUserTrackingUsageDescription 密钥
<key>NSUserTrackingUsageDescription</key>
<string>Your description of why you need the permission.</string>
请求许可
import AppTrackingTransparency
使用以下功能
func requestTracking() {
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Tracking permission authorized. Start tracking.
break
case .denied, .restricted, .notDetermined:
Analytics.setAnalyticsCollectionEnabled(false)
// and other services
break
@unknown default:
break
}
}
}
尝试一下
struct ContentView: View {
var body: some View {
VStack {
Button("Request Tracking Permission") {
requestTracking()
}
}
.onAppear {
requestTracking()
}
}
}