我想在我的网站上创建一个按钮,允许用户打开本机 facebook 应用程序(如果已安装),或以其他方式打开 facebook 网站。据我了解,我必须为此创建单独的 html 页面。
我尝试了 Facebook 托管的应用程序链接来获取有效的应用程序链接示例。以下代码是由facebook生成的,可以通过此访问url.
我尝试使用 iOS(Safari、Chrome)、Android(默认浏览器、Chrome)打开此链接。尽管我在两台设备上都安装了 Facebook 应用程序,但我还是被重定向到 Facebook 网站。
为什么会发生这种情况?我怎样才能让它打开本机应用程序?
<html>
<head>
<title>App Link</title>
<meta property="fb:app_id" content="505860159524932" />
<meta property="al:ios:url" content="fb://profile/838619192839881" />
<meta property="al:ios:app_name" content="Facebook" />
<meta property="al:ios:app_store_id" content="284882215" />
<meta property="al:android:package" content="com.facebook.katana" />
<meta property="al:android:app_name" content="Facebook" />
<meta property="al:android:url" content="fb://page/838619192839881" />
<meta property="al:web:should_fallback" content="false" />
<meta property="al:web:url" content="https://www.facebook.com/warpcompany" />
<meta http-equiv="refresh" content="0;url=https://www.facebook.com/warpcompany" />
</head>
<body>Redirecting...</body>
</html>
AppLinks 是一种只有 Facebook 原生支持的协议。这意味着只有适用于 Android 和 iOS 的 Facebook 本机应用程序才能正确解析元标签并采取行动。所有其他浏览器和平台都会忽略它们。
为了正确处理其他浏览器中的链接,除了 AppLink 之外,您还可以使用客户端 JS 重定向代码来支持其他浏览器中的重定向。如果你不想全部构建出来,我构建了一个免费工具,名为分支.io它将使用此客户端 JS 托管您的链接并自动配置您的 AppLinks。
如果您想自己构建它,下面是您可以用于 iOS safari 的代码:
<script type="text/javascript">
window.onload = function() {
document.getElementById("l").src = "fb://page/838619192839881";
setTimeout(function() {
window.location = "itms-apps://itunes.apple.com/app/id284882215";
}, 750);
};
</script>
<iframe id="l" width="1" height="1" style="visibility:hidden"></iframe>
对于 Android,您可以使用以下客户端 JS 代码片段:
<script type="text/javascript">
window.onload = function() {
var method = 'iframe';
var fallbackFunction = function() {
if (method == 'iframe') {
window.location = "market://details?id=com.facebook.katana";
}
};
var addIFrame = function() {
var iframe = document.createElement("iframe");
iframe.style.border = "none";
iframe.style.width = "1px";
iframe.style.height = "1px";
iframe.src = "fb://page/838619192839881";
document.body.appendChild(iframe);
};
var loadChromeIntent = function() {
method = 'intent';
document.location = "intent://page/838619192839881#Intent;scheme=fb;package=com.facebook.katana;end";
};
if (navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match("Version/")) {
loadChromeIntent();
}
else if (navigator.userAgent.match(/Firefox/)) {
window.location = "fb://page/838619192839881";
}
else {
addIFrame();
}
setTimeout(fallbackFunction, 750);
};
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)