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

时间:2014-05-19 18:35:54

标签: ios facebook facebook-graph-api-v2.0

我的应用允许用户将一些内容分享到他们的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应用程序设置中,我做了:

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

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

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

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

  1. 为您的应用添加网址方案,例如MyApp的:// fbLink
  2. 创建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,      }“

  3. 响应是您的应用链接ID e.g。

    {"id":"1234567890"}
    
    1. 下一步是使用您在步骤2中获得的应用链接ID检索您可以在代码中使用的规范网址。

      卷曲-G https://graph.facebook.com/1234567890 -d access_token =“your_app_Id | your_app_secret” -d fields = canonical_url -d pretty = true

    2. 回应(例如)

      {
        "canonical_url": "https://fb.me/1234567890",
        "id": "1234567890"
      }
      
      1. 在您的代码中发布新闻报道。添加您需要的任何字段的查询。在这种情况下,它是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                             };

      2. 处理App Delegate中的传入链接。 搜索查询包含@“brag” 提取查询并处理参数

答案 1 :(得分:0)

来自facebook文档页面。

  

如果您的应用没有网页,您可以使用Facebook的App Links Hosting API来托管您的应用链接。如果您这种情况很常见   有一个仅限移动设备的应用。