如何为新安装使用 Facebook 延迟深度链接功能,并在将 iOS 应用发布到应用商店之前对其进行测试?
How to use Facebook deferred deep linking feature for new installs and to test the same before publishing iOS App to appStore?
我进行了一些探索,发现了以下内容,这是我目前所做的:
已实施自定义 URL,如 myApp://
已添加 FacebookAppID,显示名称到我的 info.plist 文件
包含 Facebook SDK
通过 Facebook 移动主机 API 创建了 Facebook 应用程序 link 并获得了 URL 类似的内容:
https://fb.me/1601524146753610
在创建应用安装广告时使用了上述 URL 作为深度 link。
在我的 AppDelegate.m
中实现了以下功能
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
在我的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.
之前进行相同的测试
我报告了相同的 facebook 支持,他们说上述步骤是正确的,以实现延迟的深度 link 功能。
另外,同样可以测试如下:
Select 您的应用并点击 'Submit'。
在底部,您会在开发人员工具下找到 'Deep Link Tester'。
点击 'Test Deep Link' 然后在对话框中你可以输入你的深度 link 来测试。
- 如果要验证延迟的 links,请在对话框中选中 'Send Deferred'。
因此,执行此操作后,您需要卸载该应用程序(如果已经存在),然后从应用程序商店重新安装。
您将在其中进行测试的设备应该安装了 Facebook 应用程序并使用您从应用程序广告助手发送 [=37=] 的帐户登录。
现在当您打开您的应用程序时,您应该能够看到您的延迟深度 link 功能正在运行。
以上步骤对我有用。
- 登录你的脸书
- 然后点击https://developers.facebook.com/tools/app-ads-helper
- Select 您要从下拉列表中测试的应用程序
- 点击提交
- 在底部,您会在开发人员工具下找到 'Deep Link Tester'。
- 点击 'Test Deep Link' 并在对话框中输入您的深度 link。
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个案例。
应用程序已安装在您的设备中并延迟 link 实施
新安装
对于第一种情况,安装您的应用程序,然后点击 facebook 通知,它被重定向到您的应用程序。
对于第二种情况,对于新安装
卸载您的应用程序并将您的设备连接到 xcode
然后点击 deeplink facebook 通知,它被重定向到 appstore,不要从 appstore 安装,因为你发布的应用程序没有 app deep link 实现
然后你可以运行来自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"
- 点击通知
我进行了一些探索,发现了以下内容,这是我目前所做的:
已实施自定义 URL,如
myApp://
已添加 FacebookAppID,显示名称到我的 info.plist 文件
包含 Facebook SDK
通过 Facebook 移动主机 API 创建了 Facebook 应用程序 link 并获得了 URL 类似的内容: https://fb.me/1601524146753610
在创建应用安装广告时使用了上述 URL 作为深度 link。
在我的 AppDelegate.m
中实现了以下功能- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
在我的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. 之前进行相同的测试
我报告了相同的 facebook 支持,他们说上述步骤是正确的,以实现延迟的深度 link 功能。
另外,同样可以测试如下:
Select 您的应用并点击 'Submit'。
在底部,您会在开发人员工具下找到 'Deep Link Tester'。 点击 'Test Deep Link' 然后在对话框中你可以输入你的深度 link 来测试。
- 如果要验证延迟的 links,请在对话框中选中 'Send Deferred'。
因此,执行此操作后,您需要卸载该应用程序(如果已经存在),然后从应用程序商店重新安装。 您将在其中进行测试的设备应该安装了 Facebook 应用程序并使用您从应用程序广告助手发送 [=37=] 的帐户登录。
现在当您打开您的应用程序时,您应该能够看到您的延迟深度 link 功能正在运行。
以上步骤对我有用。
- 登录你的脸书
- 然后点击https://developers.facebook.com/tools/app-ads-helper
- Select 您要从下拉列表中测试的应用程序
- 点击提交
- 在底部,您会在开发人员工具下找到 'Deep Link Tester'。
- 点击 'Test Deep Link' 并在对话框中输入您的深度 link。
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个案例。
应用程序已安装在您的设备中并延迟 link 实施
新安装
对于第一种情况,安装您的应用程序,然后点击 facebook 通知,它被重定向到您的应用程序。
对于第二种情况,对于新安装
卸载您的应用程序并将您的设备连接到 xcode
然后点击 deeplink facebook 通知,它被重定向到 appstore,不要从 appstore 安装,因为你发布的应用程序没有 app deep link 实现
然后你可以运行来自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"
- 点击通知