如何在 ios 的新 facebook sdk 中实现深度链接?

Posted

技术标签:

【中文标题】如何在 ios 的新 facebook sdk 中实现深度链接?【英文标题】:How can implement deep linking in new facebook sdk in ios? 【发布时间】:2015-08-18 10:16:45 【问题描述】:

如何在 ios 的新 Facebook SDK 中实现深度链接?

【问题讨论】:

【参考方案1】:

要在 Facebook 上进行深度链接,您需要在您的网站上使用他们的 App Links 元标记。 Facebook 的 App Links 最令人困惑的是,它们实际上并不是链接,它们是您网站上的元标记。例如,IMDB 如何将应用链接添加到他们的 The Rock 电影网站:

<html prefix="og: http://ogp.me/ns#">
<head>
<title>The Rock (1996)</title>
...
<meta property="al:ios:app_store_id" content="342792525" />
<meta property="al:ios:url" content="imdb://title/tt0117500" />
<meta property="al:ios:app_name" content="IMDb Movies & TV" />

<meta property="al:android:package" content="com.imdb.mobile" />
<meta property="al:android:url" content="imdb://title/tt0117500" />
<meta property="al:android:app_name" content="IMDb Movies & TV" />
...
</head>
...
</html>

您可以看到他们的深层链接 URI 和路径是 imdb://title/tt0117500,他们必须在他们的网站上指定它,以便 Facebook 机器人可以抓取它。

一旦元标签出现在网站上,当链接发布到 Facebook 的提要时,如果应用程序已通过调用元标签中指定的 URI 进行安装,他们将直接打开该应用程序。然后,在您应用的 App Delegate 中,您可以接收在 openUrl 方法中指定的 URI,如下所示:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
    NSLog(@"opened app from URL %@", [url description]);
    return YES;

您可以在该方法中解析 URL 并打开将显示与该 URL 关联的适当数据的视图控制器。

【讨论】:

除了这个很棒的答案;你可以在这里阅读更多内容:developers.facebook.com/products/app-links 我已经做了这个功能并且我的应用链接可以正常工作。但我无法在 facebook 上获取数据发布。我想要以下功能------- 任何用户点击 facebook 上的任何帖子然后获取此帖子数据并打开 ios app.if 应用程序已安装。 Alpesh - Facebook 似乎不承认 iOS 上的应用链接。我在 Branch (branch.io) 工作以帮助开发人员做到这一点,我们仍然必须依靠 javascript 技巧在 iOS 上打开应用程序。 Android 运行良好。

以上是关于如何在 ios 的新 facebook sdk 中实现深度链接?的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone 应用程序中,如何将照片发布到 Facebook 粉丝页面。在它之前如何喜欢它?使用 facebook-ios-sdk

如何在 IOS 中使用 FB SDK 创建 Facebook 应用广告

登录并再次授权时如何在iOS SDK中的Facebook应用程序中获取Facebook帐户的更改?

仅使用 sdk 3.1 发布 iOS 应用程序?

如何在 iOS 10 上使用 Facebook iOS SDK

如何在 ios 中使用 facebook sdk 4.1 获取用户信息?