如何解决如何在 Swift/iOS 中的 Google Admob 中集成“跟踪透明度”和“欧盟同意”?
我正在尝试在 Swift 中使用“跟踪透明度”和“欧盟同意”来实施 Admob。
我的应用适用于 iOS 14.0+ 设备,因此我已按照 https://developers.google.com/admob/ios/ios14 上的说明进行操作。为了符合欧盟对 GDPR 的同意,我实施了 https://developers.google.com/admob/ump/ios/quick-start 中的说明(这是欧盟同意的当前实施,而不是旧实施。
此后,应用程序首次启动后会显示“跨设备跟踪用户”对话框。在此之后,将显示欧盟同意对话框。一切正常。
我的问题是,我的实现是否有效,以便当 Google 初始化 Admob 时,它会通过跟踪透明度和欧盟同意设置尊重用户的偏好?
这是我的代码:
import SwiftUI
import GoogleMobileAds
import AppTrackingTransparency
import UserMessagingPlatform
@main
struct SampleAdmobWithEuConsent: App {
init() {
requestIDFA()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
private func initGoogleMobileAds() {
GADMobileAds.sharedInstance()
.start(completionHandler: nil)
}
private func requestIDFA() {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
// Tracking authorization completed. Start loading ads here.
showConsentinformation()
})
}
private func showConsentinformation() {
let parameters = UMPRequestParameters()
// false means users are not under age.
parameters.tagForUnderAgeOfConsent = false
UMPConsentinformation.sharedInstance.requestConsentInfoUpdate(
with: parameters,completionHandler: { error in
if error != nil {
// Handle the error.
} else {
// The consent information state was updated.
// You are Now ready to check if a form is
// available.
loadForm()
}
})
}
func loadForm() {
UMPConsentForm.load(
completionHandler: { form,loadError in
if loadError != nil {
// Handle the error
} else {
// Present the form
if UMPConsentinformation.sharedInstance.consentStatus == UMPConsentStatus.required {
form?.present(from: UIApplication.shared.windows.first!.rootViewController! as UIViewController,completionHandler: { dimissError in
if UMPConsentinformation.sharedInstance.consentStatus == UMPConsentStatus.obtained {
// App can start requesting ads.
initGoogleMobileAds()
}
})
}
}
})
}
}
我在 GADMobileAds.sharedInstance() 中找不到根据对话框中用户的偏好设置指定设置的方法。 (例如:跨应用跟踪我或向我展示个性化广告)。
提前致谢!
解决方法
我遵循了您的代码示例,当我在模拟器上进行测试时,我从未收到欧盟同意对话框。虽然我在第一个对话框中选择了允许跟踪。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。