我在iOS上使用Facebook Deferred Deep Linking时出现问题。深层链接工作,但是深层次的深层链接不起作用。我已经阅读了很多关于这个问题但仍然无法找到解决方案。
我已经建立了深层链接,但它确实有用。当我还尝试在App Ads Helper上测试深层链接并点击“测试深层链接”时,输入深层链接并点击“发送通知”,我会在Facebook上收到通知,打开我的应用,这个深层链接工作。但是,当我点击“选择延期”时,我什么都没收到。我尝试删除应用并重新安装,但[FBSDKAppLinkUtility fetchDeferredAppLink:...];
方法在新安装后没有获得任何延迟的深层链接。
[FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url, NSError *error) {
if (error) {
NSLog(@"Received error while fetching deferred app link %@", error);
}
if (url) {
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
}];
}
}];
在此示例中,url始终为nil。
注意:我仍然没有应用商店,因此我输入了另一个应用程序的Apple ID。即使我在商店拥有自己的应用程序,如何在不在商店发布应用程序的情况下测试延迟深层链接?
另外,我在Facebook文档中读过:
从iOS 10开始,iOS不支持延迟深层链接,因此一旦人们安装了应用程序,您就无法打开除起始屏幕之外的内容。 (Source)
所以,我不确定这是否可能。
另外,我已经阅读了有关Stackoverflow的另一篇文章,但我没有找到答案,即它们看起来不完整,或者我只是不知道;看到答案之间的答案:
How to use facebook deferred deep linking feature for new installs and to test the same before publishing iOS App to appStore? - >这个问题的答案不是我要找的:
如果要验证延迟链接,请在对话框中选中“发送延迟”。 因此,执行此操作后,您需要卸载应用程序(如果已存在),然后再从应用商店安装。您将在其中测试此设备的设备应安装Facebook应用程序并使用您从app-ads帮助程序发送“延迟深层链接请求”的帐户登录。 现在,当您打开应用程序时,您应该能够看到延迟的深层链接功能正常运行。
这不起作用,这就是我问这个问题的原因。
另外,我发现我可以使用Tune SDK进行延迟深度链接:
...这不是iOS 10操作系统本身的问题。使用TUNE SDK,延迟深度链接适用于iOS 10。 (Source)
另外,我发现我可以使用Branch.io进行延迟深度链接:
使用Branch,您可以获得Universal Link的所有基本路由以及新用户获取流程的延迟深层链接和安装属性。 (Source)
我没有尝试过Tune和Branch.io。我想使用Facebook广告并在没有第三方解决方案的情况下执行延迟深度链接。是否有可能与Facebook,以及如何在iOS上测试Facebook的延迟深度链接?
答案 0 :(得分:1)
有点晚了,但根据您对上一个答案的评论:收到消息后:
该链接已排队等待您在设备上首次启动应用。这意味着您需要删除该应用,然后重新安装并打开您的应用。请首先通过查看上面的iOS和Android设置信息来验证您的应用可以处理延迟深层链接。
答案 1 :(得分:1)
重置广告标识符后,它对我们有用。如果在内部使用相同的广告标识符,他们可能会在内部两次阻止同一应用中的归因。因此,请在测试前转到设置并重置广告标识符。还要确保手机没有选择退出跟踪。
答案 2 :(得分:0)
如果您正在运行启用了深层链接的Facebook广告,则可以在此处测试延迟深层链接设置:https://developers.facebook.com/tools/app-ads-helper/
您需要选择自己的应用,然后您应该可以访问页面底部的深层链接测试人员(您也可以在其中选择deferred
)
答案 3 :(得分:0)
要使深层链接延迟工作,您还需要登录Facebook应用程序。广告帮助工具:https://developers.facebook.com/tools/app-ads-helper/知道您在facebook.com上登录的用户ID。然后,Facebook使用此信息来匹配您的ID,应用程序和设备信息,如果有,则将appLink返回到您的应用程序。
不幸的是,由于安装了Facebook之类的其他应用程序的限制,因此在模拟器上无法实现。
您唯一的选择是使用真实的设备并在其上构建XCode项目。确保已安装Facebook,并且使用与桌面Web浏览器相同的用户身份登录。
答案 4 :(得分:0)
对我来说,答案就在我的iPhone设置中。我启用了“限制广告跟踪”。我没有太多的文档证明这是造成此问题的原因,但是更改它之后,它现在可以工作了。值得自己进行测试。
在iPhone上,转到:设置->隐私->广告(在页面底部)
您应该确保将“限制广告跟踪”设置为关闭。
如果您正确设置了应用程序的URL方案(如果没有,请参见here),那么您应该接收一个URL。
AppLinkUtility.fetchDeferredAppLink { [weak self] (url, error) in
guard let self = self else {return}
if (url != nil) {
} else if error != nil {
print("Error: \(error!.localizedDescription)")
}
}
要测试延迟的链接,可以转到here。
答案 5 :(得分:-1)
其他信息:
所以你需要将应用程序部署到商店吗? - locoboy 8月7日和15日16:38
正如他们在我之前所说的那样测试Deep Link或Deferred Deep Link:
activateApp
)