如何在ios中的新Facebook SDK中实现深层链接?
答案 0 :(得分: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关联的相应数据的View Controller。