如何在发布iOS应用程序到App Store之前,使用Facebook延迟深度链接功能进行新安装和测试?

18

我已经做了一些探索,并发现以下事项,这是我迄今为止所做的:

  1. 实现了自定义URL,如myApp://

  2. 在我的info.plist文件中添加了FacebookAppID和显示名称

  3. 包含了Facebook SDK

  4. 通过Facebook移动主机API创建了Facebook应用链接,并获得了类似于以下URL的URL:https://fb.me/1601524146753610

  5. 在创建应用安装广告时使用上述URL作为深度链接。

  6. 在我的AppDelegate.m中实现了以下函数

  7.  - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
    
  8. 我在我的AppDelegate.m中添加了以下代码

  9. //Initialization
    [FBAppEvents activateApp];
    [FBSettings setClientToken:@"ca45a3a2133ae2f37ebd4d90408816e6"];
    
    //Function to check for deferred deep link and call the method with recieved url
    [FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url,NSError *error){if(url)[self application:nil openURL:url sourceApplication:nil annotation:nil];
    }];
    

    如果在获取延迟深度链接方面我有遗漏,请告诉我。
    同时,在发布我的iOS应用程序到App Store之前,我该如何测试相同的功能


你是什么意思,"实现自定义URL,例如-- myApp://"? - coolcool1994
3个回答

13

我向Facebook支持团队报告了同样的问题,他们说以上提到的步骤是正确的,可以实现延迟深度链接功能。

另外,可以按照以下步骤进行测试:

  1. 访问https://developers.facebook.com/tools/app-ads-helper

  2. 选择您的应用程序并点击“提交”。

  3. 在开发人员工具下方,您将找到“Deep Link Tester”。单击“Test Deep Link”,在对话框中可以输入您的深度链接进行测试。

  4. 如果您想验证延迟链接,请在对话框中勾选“Send Deferred”。

因此,在这样做之后,您需要卸载应用程序(如果已经安装),然后从应用商店重新安装。进行测试的设备应该安装有Facebook应用程序,并使用从app-ads帮助程序发送“延迟深度链接请求”的账户登录。

现在,当您打开您的应用时,您应该能够看到您的延迟深度链接功能正常工作。

以上步骤对我起作用。


那么你需要将应用程序部署到商店吗? - locoboy
来自 https://branch.io 团队的一些额外说明:
  1. iOS 上的应用邀请中延迟深度链接不起作用。
  2. 广告生成器中的测试安装广告不会触发延迟深度链接。
  3. 您帐户中的实时广告不会触发延迟深度链接。
  4. 确保您正在使用与应用相关联的帐户登录 Facebook 手机进行测试。
- Alex Austin
1
另外需要注意的是,虽然广告可能有效,但在延迟情况下,对于常规新闻动态帖子的点击不会导致数据被检索。因此,广告通过安装进行深度链接,但您用户的有机分享却不能 :( - st.derrick
1
到目前为止,app-ads-helper中的测试深度链接工具总是有效的,但对于我来说,实际过程并非如此(从通知栏中的邀请进入应用程序安装,启动应用程序等)。我已经在此设置了另一个线程。http://stackoverflow.com/questions/38238491/ - Wappenull
4
所以你需要将应用程序部署到商店吗?实际上,在测试深度链接工具中,您无需在商店上进行真正的发布,只需单击它发送给您的通知,然后切换并以某种方式安装应用程序(使用Xcode或APK)。延迟的应用链接将在您的第一次应用启动时出现。 - Wappenull
显示剩余6条评论

9
  1. 登录你的Facebook账号
  2. 然后点击https://developers.facebook.com/tools/app-ads-helper
  3. 从下拉菜单中选择你想测试的应用程序
  4. 点击提交
  5. 在“开发人员工具”下方,你会找到“深度链接测试器”
  6. 点击“测试深度链接”,在对话框中输入你的深度链接。
  7. 同时选中“发送通知”和“发送延迟”复选框。

    然后你将收到一个Facebook应用程序的通知。

8.在你的info.plist文件中添加以下键:

<key>CFBundleURLTypes</key>
        <array>
            <dict>
                <key>CFBundleURLSchemes</key>
                <array>
                    <string>**Your URL Scheme** </string>
                    <string>**Your FB app id** </string>
                </array>
            </dict>
        </array>

URL scheme 就像 "testScheme://......."

FB app id 就像 "fb........."

现在我们可以测试两种情况。

  1. 已经在您的设备上安装了应用程序并实施了延迟链接

  2. 新安装

对于第一种情况,请安装您的应用程序,然后单击 Facebook 通知,它将被重定向到您的应用程序。

对于第二种情况,对于新安装

  1. 卸载您的应用程序并将设备连接到 Xcode

  2. 然后单击深度链接 Facebook 通知,它将被重定向到 AppStore,不要从 AppStore 安装,因为您发布的应用程序没有应用程序深度链接实现

  3. 然后您可以从 xcode 运行应用程序,一旦安装完毕,它将打开您的 deeplink,就像第一种情况一样。

就是这样....

注意:不要忘记实施

- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url,NSError *error){
            if(url)
            {
                // redirect to where you want 
            }
        }];
      ...........
}

添加 <string>你的URL Scheme</string> 真是救了我的一天!谢谢! - agritton
从未在没有将URL方案添加到Info.plist中的情况下与我一起工作!此外,在applicationDidBecomeActive中添加链接处理逻辑是一个好的注意点。谢谢,兄弟! - Essam Fahmi
请更新为SDK v9和Swift版本。它无法工作。 - Sajjad
如何在Android中实现这个 - Abhi

2

附加信息:

所以你需要将应用程序部署到商店吗?- locoboy Aug 7 '15 at 16:38

为了测试Deep Link或Deferred Deep Link,如之前所说:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接