我在测试网页的头部添加了以下元信息。
<html>
<head>
<meta property="al:ios:url" content="schemeregisteredinapp://hereGoesTheURL" />
<meta property="al:ios:app_store_id" content="12345" />
<meta property="al:ios:app_name" content="Applinks Supporting App" />
</head>
<body>
<p>Opening a link to this page in Facebook iOS app should launch my "Applinks Supporting App".
</p>
</body>
</html>
我在iOS应用的info.plist中添加了自定义网址方案schemeRegisteredInApp
。如果我在iOS Safari浏览器中输入格式为schemeRegisteredInApp://the/rest/of/the/path
的网址,则会成功启动我的应用。
但是,如果我在iOS应用程序上点击指向Facebook应用程序或邮箱应用程序(两者都应支持applinks协议)的上述HTML网页的链接,该页面只会在Facebook应用程序内的Web视图中打开。我的iOS应用程序从未启动过。我无法弄清楚出了什么问题。 Applinks拒绝像宣传的那样工作。这是在iOS 8. Applinks坏了吗?
答案 0 :(得分:14)
将以下内容添加到您的网站元数据中,Facebook iOS应用将直接打开您的应用。
<meta property="al:web:should_fallback" content="false" />
如果这不起作用,那么您的元数据仍然存在其他问题。最好的调试方法是转到developers.facebook.com/tools/debug/og/object并输入您的网址,然后选择“显示现有的抓取信息”。如果有任何错误,它将无法正常工作。解决问题并点击“获取新的刮擦信息”按钮。然后杀死Facebook iOS应用程序并重新启动它。然后,当您按下FB Feed中的项目时,AppLink将按预期工作。
答案 1 :(得分:0)
我在iOS 7上测试过。在我更新到最新的Facebook应用程序之前,我可以看到Facebook浏览器底部的弹出窗口,它引导我进入我自己的应用程序。在我将Facebook应用更新到最新版本之后,弹出窗口不再显示。同样不适用于iOS 8.也许是最新Facebook版本中的错误。希望看到他们修复它或找到解决方法。
答案 2 :(得分:0)
我刚检查了你提供的例子。对我来说,它正确显示了一个安装你的应用程序的弹出窗口,但是在安装时它不会将其识别为已安装。
我检查了你的应用程序的plist,似乎你还没有在那里注册URLSchema。这是Applinks检查应用程序是否已安装所必需的。
您可以使用您在应用的plist中定义Appschema的项目来测试这个吗?
答案 3 :(得分:0)
如果您希望该链接在启动应用时以可选方式工作,或者在未安装应用时打开网页,则需要添加以下元标记:
<pre>
<meta property="fb:app_id" content="[facebook app id]" />
</pre>
facebook app id是否存在确实重要。只有在iOS存在的情况下,它才能在iOS中正常运行。然而,Android上的Facebook将首先打开Web视图,但允许从此页面启动应用程序。
必须删除以下元标记:
<pre>
<meta property="al:web:should_fallback" content="..." />
</pre>