在 iOS 中使用 Firebase 和 AdMob 实现应用跟踪透明度 (ATT)?

问题描述 投票:0回答:1

我正在使用 SwiftUI 构建 iOS 应用程序并集成 Firebase Analytics、Crashlytics 和 AdMob。

据我所知,我应该添加应用程序跟踪透明度(ATT)以请求用户允许跟踪数据。

有人可以提供用于实施 ATT 的 SwiftUI 代码示例,并指导我如何处理用户拒绝,特别是在禁用 Firebase Analytics 和 Crashlytics 的数据收集时?我们将非常感谢您的见解。

xcode firebase swiftui google-analytics admob
1个回答
0
投票

在 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()
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.