首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS 14广告跟踪和Facebook 13.2

iOS 14广告跟踪和Facebook 13.2
EN

Stack Overflow用户
提问于 2022-05-25 06:38:30
回答 1查看 288关注 0票数 0

嗨,我在想什么是正确的方法。Facebook文档有点误导。在名为启用广告跟踪的开发人员网站上,他们说你应该使用代码片段

代码语言:javascript
运行
复制
Settings.shared.isAdvertiserTrackingEnabled = true

但是在文档底部附近的开始吧- iOS上,有标题获取设备的同意。他们还提到

代码语言:javascript
运行
复制
Settings.shared.isAutoLogAppEventsEnabled = false
Settings.shared.isAdvertiserIDCollectionEnabled = true
  1. 因此,如果用户拒绝共享数据,我是否也应该将这两者设置为false?
  2. 另外,如果我编辑我的Info.plist文件并添加行 FacebookAutoLogAppEventsEnabled FacebookAdvertiserIDCollectionEnabled

正如刚起步时所建议的那样,每当我启动这个应用程序时,它不是就会被禁用吗?当iOS本机AppTracking对话框出现并用户单击“允许”时,只有一次会将其改写为true。我说的对吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-08-28 15:47:45

当我集成Facebook时,我也有同样的问题。最后我解决了这样的问题。

  1. 用所有错误初始化Facebook
代码语言:javascript
运行
复制
func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
... 
   // initialize Facebook SDK 
   ApplicationDelegate.shared.application(application, 
   didFinishLaunchingWithOptions: launchOptions)
   Settings.isAutoLogAppEventsEnabled = false
   Settings.setAdvertiserTrackingEnabled(false)
   Settings.isAdvertiserIDCollectionEnabled = false
} 
  1. 显示提示后更新Facebook设置
代码语言:javascript
运行
复制
ATTrackingManager.requestTrackingAuthorization { [weak self] status in
   let isConsented = status == .authorized
   Settings.isAutoLogAppEventsEnabled = isConsented
   Settings.setAdvertiserTrackingEnabled(isConsented)
   Settings.isAdvertiserIDCollectionEnabled = isConsented
}
  1. 正如您所说的,提示只出现一次,每次应用程序激活时,我都会检查授权状态。(我使用了didBecomeActiveNotification)
代码语言:javascript
运行
复制
func checkATTStatus() {
        log.debug("current ATT status: \(ATTrackingManager.trackingAuthorizationStatus)")
        let isConsented = ATTrackingManager.trackingAuthorizationStatus == .authorized
        Settings.isAutoLogAppEventsEnabled = isConsented
        Settings.setAdvertiserTrackingEnabled(isConsented)
        Settings.isAdvertiserIDCollectionEnabled = isConsented
    }

我不能百分之百肯定这一点,因为我还在测试阶段(Facebook的测试事件页面也不能正常工作)。

如果我错了,请纠正我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72372929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档