繁体   English   中英

Facebook 延迟深度链接在 iOS 上是否有效,以及如何在应用商店发布应用之前对其进行测试?

[英]Does Facebook Deferred Deep Linking on iOS work, and how to test it before publishing the app on Store?

我在 iOS 上使用 Facebook 延迟深度链接时遇到问题。 深度链接有效,但延迟深度链接不起作用。 我已经阅读了很多关于这个问题的信息,但仍然找不到解决方案。

我已经设置了深层链接并且它有效。 当我还尝试在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 始终为零。

注意:我在 Store 上还没有应用程序,所以我输入了另一个应用程序的 Apple Id。 即使我在 Store 上有自己的应用程序,我如何在不在 Store 上发布应用程序的情况下测试延迟深度链接?

另外,我在 Facebook 文档中阅读了以下内容:

从 iOS 10 开始,iOS 不支持延迟深度链接,因此一旦人们安装了该应用程序,您将无法打开除起始屏幕之外的内容。 来源

所以,我不确定这是否可能。

另外,我已经阅读了关于 Stackoverflow 的另一篇文章,但没有我正在寻找的答案,即它们看起来不完整,或者我只是看不到字里行间的答案:

如何使用 Facebook 延迟深度链接功能进行新安装并在将 iOS 应用程序发布到 appStore 之前对其进行测试? -> 这个问题的答案不是我要找的:

如果要验证延迟链接,请在对话框中选中“发送延迟”。 因此,执行此操作后,您需要卸载该应用程序(如果已经存在),然后从应用程序商店重新安装。 您将在其中进行测试的设备应该安装了 facebook 应用程序,并使用您从 app-ads 助手发送“延迟深层链接请求”的帐户登录。 现在,当您打开应用程序时,您应该能够看到延迟深层链接功能正在运行。

这不起作用,所以这就是我问这个问题的原因。

此外,我发现我可以使用 Tune SDK 进行延迟深度链接:

...这不是 iOS 10 操作系统本身的问题。 延迟深度链接对于使用 TUNE SDK 的 iOS 10 来说效果很好。 来源

此外,我发现我可以使用 Branch.io 进行延迟深度链接:

使用 Branch,您可以获得通用链接的所有基本路由以及新用户获取流程的延迟深度链接和安装归因。 来源

我还没有尝试过 Tune 和 Branch.io。 我想使用 Facebook 广告并在没有第三方解决方案的情况下执行延迟深度链接。 Facebook 是否有可能,以及如何在 iOS 上测试 Facebook 的延迟深度链接?

重置广告标识符后,它对我们有用。 也许在内部,如果它是相同的广告标识符,他们会在同一个应用程序中两次阻止归因。 因此,在测试之前,请转到设置并重置您的广告标识符。 还要确保手机没有选择退出跟踪。

对我来说,答案就在我的 iPhone 设置中。 我启用了“限制广告跟踪”。 我没有太多文档证明这是导致问题的原因,但是在更改它之后,它现在可以工作了。 值得自己测试一下。

在您的 iPhone 上:设置 -> 隐私 -> 广告(在页面底部)

在那里您应该确保“限制广告跟踪”设置为关闭。

如果您正确设置了应用程序 URL Scheme(如果没有,请参阅此处),您应该会收到一个 URL,对于 swift 代码应该如下所示:

AppLinkUtility.fetchDeferredAppLink { [weak self] (url, error) in
        guard let self = self else {return}
        if (url != nil) {
            
        } else if error != nil {
            print("Error: \(error!.localizedDescription)")
        }
}

要测试延迟链接,您可以去这里

有点晚了,但根据您对上一个答案的评论:收到消息后:

该链接已排队等待您在您的设备上启动第一个应用程序。 这意味着您需要删除该应用程序,然后重新安装并打开您的应用程序。 请首先通过检查上面的 iOS 和 Android 设置信息来验证您的应用程序可以处理延迟的深层链接。

  1. 从您的设备中删除应用程序
  2. 从您的设备打开 Facebook 通知,您应该有一个深层链接通知
  3. 选择深层链接通知应将您引导至相应的应用商店以再次安装该应用程序
  4. 安装后,启动应用程序应触发预期的“延迟”深层链接

要使延迟深层链接起作用,您还需要登录 Facebook 应用程序。 广告助手工具: https : //developers.facebook.com/tools/app-ads-helper/知道您在 facebook.com 上的登录用户 ID。 Facebook 然后使用此信息来匹配您的 ID、应用程序和设备信息,并在匹配时将 appLink 返回给您的应用程序。

不幸的是,鉴于安装 Facebook 等其他应用程序的限制,这在模拟器上是不可能的。

您唯一的选择是使用真实设备并在其上构建您的 XCode 项目。 确保您已安装 Facebook,并且您使用与桌面 Web 浏览器相同的用户登录。

如果您在启用深度链接的情况下运行 Facebook 广告,您可以在此处测试延迟的深度链接设置: https : //developers.facebook.com/tools/app-ads-helper/

您需要选择您的应用程序,然后您应该能够访问页面底部的深层链接测试器(您也可以在其中选择deferred

在此处输入图片说明

附加信息:

那么您需要将应用程序部署到商店吗? – locoboy 2015 年 8 月 7 日 16:38

用于测试 Deep Link 或 Deferred Deep Link,就像他们在我之前所说的那样:

  • 部署到商店不需要,使用FB Ads面板进行测试
  • 检查以防万一应用安装统计(不等于零) - 可能是AppEvents (自动记录)工作不正确(请记住,在计算统计数据时,也可能会有延迟)
  • 为您的设备安装 Facebook 应用程序,使用您用于发送通知的相同配置文件进行身份验证(在后台运行 FB 应用程序)
  • 选择“发送通知”和“发送延迟”复选标记(或只选中“发送延迟” - 结果将在手动重新安装应用程序后可用,并且不要忘记触发 FBSDKAppEvents activateApp
  • 发送成功后的示例
  • 主要目标 - 发送消息后,您将在 Facebook 中看到它! 应用通知,带有徽标 + 文字“点击以启动您的深层链接”
  • 点按通知

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM