首页 > 解决方案 > Facebook iOS延迟链接`url`总是返回`nil`

问题描述

任何人都可以帮助我吗??,我正在尝试将 Facebook 的延迟链接与以下功能一起使用:

 AppLinkUtility.fetchDeferredAppLink { (url, error) in ... } 

不管我用哪种方式写代码,url总是nil

重现此问题的必要步骤是什么?描述起来非常简单:
1- 登录您的 Facebook
2- 然后点击https://developers.facebook.com/tools/app-ads-helper
2- 从下拉列表中选择您要测试的应用程序。
3-点击提交。
4- 在底部,您会在开发者工具下找到“深度链接测试器”。
5-点击“测试深层链接”,在对话框中您可以输入您的深层链接。
6- 选择“发送通知”和“延迟发送”复选标记。
7- 然后你会收到一个通知到你的 facebook 应用程序。
8- 点击通知,打开 App Store。
9- 通过 Xcode 安装应用程序。

然后在我的代码中,我尝试了至少 5 种变体:

例如我试过这个:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        // Set the trackings to true in test mode
        Settings.setAdvertiserTrackingEnabled(true)
        Settings.isAdvertiserIDCollectionEnabled = true
        Settings.isAutoLogAppEventsEnabled = true

        // Initialize the Facebook SDK
        ApplicationDelegate.initializeSDK(nil)

        AppLinkUtility.fetchDeferredAppLink { (url, error) in
            if let url = url {
                print(url)
            }
            print(error as Any)
        }
}

无论我尝试哪种变体,结果总是一样的,url = nil

我正在使用:

我之前做过一些搜索,但对我没有任何帮助:(
不工作)。
iOS - 测试获取 Facebook 延迟深层链接

(也不起作用)
如何使用 Facebook 延迟深度链接功能进行新安装并在将 iOS 应用程序发布到 appStore 之前对其进行测试?

(不是我的情况)
iOS - 测试获取 Facebook 延迟深层链接

(现在不同的情况,我们必须执行用户的 IDFA 同意)
Facebook 推迟 iOS 上的深度链接不起作用

(没有答案)
https://developer.apple.com/forums/thread/77046 https://developers.facebook.com/community/threads/304205737647076/?locale=es_LA

特别注意:
此代码: ATTrackingManager.requestTrackingAuthorization(completionHandler:)从不显示提示并始终denied在真实设备中返回(iPhone 12 和 iPhone SE(第 2 代)iOS 14.4 两者)。我不知道这对这个问题是否重要,但我认为提及这一点很重要

标签: iosswiftfacebooknotificationsdeferred

解决方案


显然,IDFA 的问题总是 00000000-0000-0000-0000-000000000000,希望当这个问题得到解决后,这个问题就会消失。
来自 Facebook 团队:
“感谢您的回复。返回的 appLinkData 始终为空,因为广告 ID 无效。”

https://developers.facebook.com/support/bugs/349628616375797/

更新:

Facebook的问题,更多细节在这里: https ://developers.facebook.com/bugs/278254417309196


推荐阅读