我的应用程序允许用户将一些内容分享到他们的 Facebook 新闻提要。预期和想要的行为是这样的:
通缉行为: - 当他们没有安装应用程序的 friend 点击共享内容时,他们将被重定向到 App Store,以便他们可以下载该应用程序。 - 当确实安装了应用程序的用户点击共享内容时,他们应该被重定向到设备上安装的应用程序......
它现在对我有用的方式是这样的:
当设备上未安装应用程序的用户被重定向到应用程序网站时
已安装应用的用户仍会被重定向到应用网站,但底部会显示一条消息,询问他们是否希望打开已安装的应用。
Faecbook 确实在他们的页面上对此进行了解释 https://developers.facebook.com/docs/ios/share#linking这张图片:https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-ash3/t39.2178-6/10173495_549418608510092_1399488908_n.png
但我无法弄清楚“仅限移动设备:无网络内容”是什么意思以及如何解决此问题并使我的应用程序按预期运行。在 Facebook 的 Facebook 应用程序设置中,我做了:
- 将应用设置为 iOS 且为原生应用。
- 启用深层链接并提供有效的应用商店 ID。
- 没有为其配置网络平台。我以前曾经拥有它,但后来将其删除并保存了更改。
为什么它仍会将未安装应用程序的用户重定向到网站而不是应用程序商店?对于那些安装了应用程序的用户,为什么它仍然打开网站?
感谢您的帮助!
最佳答案
在新闻源故事中实现深层链接的过程非常复杂,需要几个步骤。 首先,您需要创建一个 App Link。这里有一些解释 https://developers.facebook.com/docs/applinks/hosting-api
您需要一个访问 token ,其中包含 “your_app_Id|your_app_secret” - 您可以从 Facebook 应用设置中获取这些值。
- 为您的应用添加网址方案,例如MyApp://fbLink
创建应用链接并获取应用链接 ID。打开终端窗口(在 MAC 上)并输入以下内容:
curl https://graph.facebook.com/app/app_link_hosts -F access_token=“your_app_Id|your_app_secret” -F 名字=“名字” -F ios=' [ { "url": "MyApp://fbLink", “app_store_id”:1234567, “应用程序名称”:“我的应用程序”, }, ]' -F 网络=' { “should_fallback”:假的, }'
响应是您的应用链接 ID 例如
{"id":"1234567890"}
下一步是使用您在第 2 步中获得的应用链接 ID 检索您可以在代码中使用的规范 URL。
curl -G https://graph.facebook.com/1234567890 -d access_token=“your_app_Id|your_app_secret” -d 字段=canonical_url -d 漂亮=真
响应(例如)
{
"canonical_url": "https://fb.me/1234567890",
"id": "1234567890"
}
在您的代码中发布新闻报道。添加包含您需要的任何字段的查询。在本例中,它是一个 userId,但它可以是您想要的任何内容。
NSString *linkURL = [NSString stringWithFormat: @"https://fb.me/1234567890?brag=%li", (long)userId]; NSDictionary *参数 = @{ @"name": NSLocalizedString(@"我在玩 MyApp!",nil), @"caption":NSLocalizedString( @"试着打败我吧!", nil), @"description":NSLocalizedString( @"My Score is x", nil), @“链接”:链接网址 };
在您的 App Delegate 中处理传入链接。 搜索包含@"吹嘘"的查询 提取查询并处理参数
关于ios - Facebook 从新闻提要链接到您的应用程序无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23744851/