【问题标题】:Facebook Linking to your app from news feed does not work properlyFacebook 从新闻提要链接到您的应用程序无法正常工作
【发布时间】:2014-05-19 18:35:53
【问题描述】:

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

通缉行为: - 当他们没有安装应用程序的朋友点击共享内容时,他们将被重定向到 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

但我无法弄清楚“仅限移动设备:无网络内容”是什么意思,以及如何解决此问题并使我的应用程序表现得像 WANTED 一样。在我的 Facebook 应用程序设置中的 Facebook 上,我做了:

  • 设置App为iOS且为原生。
  • 启用深度链接并提供有效的应用商店 ID。
  • 没有为其配置网络平台。我以前有它,但后来删除它并保存了更改。

为什么它仍然会将未安装应用的用户重定向到网站而不是应用商店?对于那些安装了应用程序的用户,为什么它仍然打开网站?

感谢您的帮助!

【问题讨论】:

  • 您找到解决方法了吗?我也面临同样的问题请帮忙。提前致谢。

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


【解决方案1】:

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

您需要一个访问令牌,其中包括 "your_app_Id|your_app_secret" - 您可以从 Facebook 应用设置中获取这些值。

  1. 为您的应用添加 URL 方案,例如MyApp://fbLink
  2. 创建一个应用链接并获取应用链接 ID。打开终端窗口(在 MAC 上)并输入以下内容:

    卷曲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, “app_name”:“我的应用程序”, }, ]' -F 网络='{ “should_fallback”:假, }'

响应是您的应用链接 ID 例如

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

    卷曲-Ghttps://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"
}
  1. 在您的代码中发布新闻报道。添加包含您需要的任何字段的查询。在这种情况下,它是一个 userId,但它可以是你想要的任何东西。

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

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

【讨论】:

  • 您的遮阳篷为我节省了很多时间。通过 brag 传递参数非常有帮助。非常感谢!
【解决方案2】:

来自 facebook 文档页面。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 2012-01-02
    • 2016-03-19
    • 1970-01-01
    • 2012-03-20
    • 2016-10-16
    相关资源
    最近更新 更多