我的应用允许用户将一些内容分享到他们的Facebook新闻Feed。预期和想要的行为是:
通缉行为: - 当他们未安装应用程序的朋友点击共享内容时,他们会被重定向到App Store,以便他们可以下载该应用程序。 - 当安装了应用程序的用户点击共享内容时,他们应该被重定向到设备上安装的应用程序...
现在它对我有用的方式是:
当未在其设备上安装应用的用户被重定向到App网站时
安装了应用程序的用户仍然被重定向到App网站,但底部的消息询问他们是否希望打开已安装的应用程序。
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应用程序设置中,我做了:
为什么它仍会将没有安装app的用户重定向到网站而不是App store?对于那些安装了应用程序的用户,为什么还要打开网站?
感谢您的帮助!
答案 0 :(得分:2)
在新闻源故事中实现深层链接的过程非常复杂,需要几个步骤。 首先,您需要创建一个App Link。这里有一些解释https://developers.facebook.com/docs/applinks/hosting-api
您需要一个包含的访问令牌 “your_app_Id | your_app_secret” - 您可以从Facebook应用设置中获取这些值。
创建App LInk并获取App Link ID。打开终端窗口(在MAC上)并输入以下内容:
curl https://graph.facebook.com/app/app_link_hosts -F access_token =“your_app_Id | your_app_secret” -F name =“name” -F ios ='[ { “url”:“MyApp:// fbLink”, “app_store_id”:1234567, “app_name”:“MyApp”, }, ]” -F web ='{ “should_fallback”:false, }“
响应是您的应用链接ID e.g。
{"id":"1234567890"}
下一步是使用您在步骤2中获得的应用链接ID检索您可以在代码中使用的规范网址。
卷曲-G https://graph.facebook.com/1234567890 -d access_token =“your_app_Id | your_app_secret” -d fields = canonical_url -d pretty = true
回应(例如)
{
"canonical_url": "https://fb.me/1234567890",
"id": "1234567890"
}
在您的代码中发布新闻报道。添加您需要的任何字段的查询。在这种情况下,它是userId,但它可以是你想要的任何东西。
NSString * linkURL = [NSString stringWithFormat:@“https://fb.me/1234567890?brag=%li”,(long)userId]; NSDictionary * params = @ { @“name”:NSLocalizedString(@“我正在玩MyApp!”,无), @“caption”:NSLocalizedString(@“试着打败我!”,无), @“description”:NSLocalizedString(@“我的分数是x”,零), @“link”:linkURL };
处理App Delegate中的传入链接。 搜索查询包含@“brag” 提取查询并处理参数
答案 1 :(得分:0)
来自facebook文档页面。
如果您的应用没有网页,您可以使用Facebook的App Links Hosting API来托管您的应用链接。如果您这种情况很常见 有一个仅限移动设备的应用。