如何为新安装使用 Facebook 延迟深度链接功能,并在将 iOS 应用发布到应用商店之前对其进行测试?

How to use Facebook deferred deep linking feature for new installs and to test the same before publishing iOS App to appStore?

我进行了一些探索,发现了以下内容,这是我目前所做的:

  1. 已实施自定义 URL,如 myApp://

  2. 已添加 FacebookAppID,显示名称到我的 info.plist 文件

  3. 包含 Facebook SDK

  4. 通过 Facebook 移动主机 API 创建了 Facebook 应用程序 link 并获得了 URL 类似的内容: https://fb.me/1601524146753610

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

  6. 在我的 AppDelegate.m

    中实现了以下功能
     - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
    
  7. 在我的AppDelegate.m

    中添加了以下代码
    //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];
    }];
    

    如果我在获取延迟深度时遗漏了什么,请告诉我 link。
    另外,如何在将我的 iOS APP 发布到 appStore.

  8. 之前进行相同的测试

我报告了相同的 facebook 支持,他们说上述步骤是正确的,以实现延迟的深度 link 功能。

另外,同样可以测试如下:

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

  2. Select 您的应用并点击 'Submit'。

  3. 在底部,您会在开发人员工具下找到 'Deep Link Tester'。 点击 'Test Deep Link' 然后在对话框中你可以输入你的深度 link 来测试。

  4. 如果要验证延迟的 links,请在对话框中选中 'Send Deferred'。

因此,执行此操作后,您需要卸载该应用程序(如果已经存在),然后从应用程序商店重新安装。 您将在其中进行测试的设备应该安装了 Facebook 应用程序并使用您从应用程序广告助手发送 [​​=37=] 的帐户登录。

现在当您打开您的应用程序时,您应该能够看到您的延迟深度 link 功能正在运行。

以上步骤对我有用。

  1. 登录你的脸书
  2. 然后点击https://developers.facebook.com/tools/app-ads-helper
  3. Select 您要从下拉列表中测试的应用程序
  4. 点击提交
  5. 在底部,您会在开发人员工具下找到 'Deep Link Tester'。
  6. 点击 'Test Deep Link' 并在对话框中输入您的深度 link。
  7. Select 'Send Notification' 和 'Send Deferred' 复选标记。

    然后您将在您的 Facebook 应用程序中收到通知。

8.Add 您的 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 Like "testScheme://......."

FB app id Like "fb........."

现在我们可以测试2个案例。

  1. 应用程序已安装在您的设备中并延迟 link 实施

  2. 新安装

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

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

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

  2. 然后点击 deeplink facebook 通知,它被重定向到 appstore,不要从 appstore 安装,因为你发布的应用程序没有 app deep link 实现

  3. 然后你可以运行来自xcode的应用程序,安装后,它会打开你的深度link作为第一种情况。

就是这样....

注意:不要忘记实施

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

附加信息:

So you need to deploy the app to the store? – locoboy Aug 7 '15 at 16:38

用于测试 Deep Link 或 Deferred Deep Link 正如他们在我之前所说:

  • 不需要部署到存储,使用 FB Ads panel 进行测试
  • 检查以防万一 statistic for app installs (not equal zero) - may be AppEvents(自动记录)不能正常工作(请记住,在计算统计数据时,也可能会有延迟)
  • 为您的设备安装 Facebook 应用程序,使用您用于发送通知的相同配置文件进行授权(运行 FB 应用程序在后台)
  • Select 'Send Notification' 和 'Send Deferred' 复选标记(或仅复选 'Send Deferred' - 手动重新安装应用程序后结果将可用,并且不要忘记触发 FBSDKAppEvents activateApp)
  • Example after successful sending
  • 主要 objective - 发送消息后您将在 Facebook 中看到它!应用通知,带有徽标 + 文字 "Tap to launch your deep link"
  • 点击通知