Facebook从新闻Feed链接到您的应用程序无法正常运行

Sim*_*lyi 5 facebook ios facebook-graph-api-v2.0

我的应用程序允许用户将一些内容分享到他们的Facebook新闻源.预期和想要的行为是这样的:

通缉行为: - 当他们没有安装应用程序的朋友点击共享内容时,他们会被重定向到App Store,以便他们可以下载该应用程序. - 当安装了应用程序的用户点击共享内容时,他们应该被重定向到设备上安装的应用程序...

它现在对我有用的方式是这样的:

  • 当未在其设备上安装应用程序的用户被重定向到App Web站点时

  • 安装了应用程序的用户仍然会被重定向到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应用程序设置中,我做了:

  • 设置应用程序是iOS,它是原生的.
  • 启用深层链接并提供有效的App store ID.
  • 没有为它配置Web平台.我以前曾经拥有它,但后来删除它并保存更改.

为什么它仍然会将没有安装app的用户重定向到网站而不是App store?对于那些安装了应用程序的用户,为什么还要打开网站?

谢谢您的帮助!

pri*_*ris 2

在新闻源故事中实现深层链接的过程非常复杂,需要几个步骤。\n首先,您需要创建一个应用程序链接。这里有一些解释https://developers.facebook.com/docs/applinks/hosting-api

\n\n

您需要一个由\n“your_app_Id|your_app_secret”组成的访问令牌 - 您可以从 Facebook 应用设置中获取这些值。

\n\n
    \n
  1. 将 URL 方案添加到您的应用程序,例如 MyApp://fbLink
  2. \n
  3. 创建App LInk并获取App Link ID。打开终端窗口(在 MAC 上)并输入以下内容:

    \n\n

    卷曲https://graph.facebook.com/app/app_link_hosts \n -F access_token=\xe2\x80\x9cyour_app_Id|your_app_secret" \n -F name="name" \n -F ios=\' [\n { \n "url" : "MyApp://fbLink",\n "app_store_id" : 1234567,\n "app_name" : "MyApp",\n },\n ]\' \n -F web=\' { \n "should_fallback" : false,\n }\'

  4. \n
\n\n

响应是您的应用链接 ID\ne.g。

\n\n
{"id":"1234567890"}\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  1. 下一步是使用在步骤 2 中获得的应用程序链接 ID 检索可在代码中使用的规范 URL。

    \n\n

    卷曲 -G https://graph.facebook.com/1234567890 \nd access_token=\xe2\x80\x9cyour_app_Id|your_app_secret" \nd fields=canonical_url \nd Pretty=true

  2. \n
\n\n

回应(例如)

\n\n
{\n  "canonical_url": "https://fb.me/1234567890",\n  "id": "1234567890"\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  1. 在您的代码中发布新闻故事。添加包含您需要的任何字段的查询。在本例中,它是一个 userId,但它可以是您想要的任何内容。

    \n\n

    NSString *linkURL = [NSString stringWithFormat: @" https://fb.me/1234567890?brag=%li ", (long)userId];\nNSDictionary *params = @{\n @"name" : NSLocalizedString(@"我正在玩 MyApp!",nil),\n @"caption":NSLocalizedString( @"试着打败我!", nil),\n @"description" :NSLocalizedString( @"我的分数是 x", nil),\n @"link" : linkURL\n };

  2. \n
  3. 在您的应用程序委托中处理传入链接。\n搜索包含@“brag”的查询\n提取查询并处理参数

  4. \n
\n