gpt4 book ai didi

android - 为什么这个由 facebook 生成的深层链接 (applink) 不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:01:07 26 4
gpt4 key购买 nike

我想在我的网站上制作一个按钮,允许用户打开 native facebook 应用程序(如果已安装),否则打开 facebook 网站。据我了解,我必须为此创建单独的 html 页面。

我尝试了 facebook 托管的应用程序链接来获取有效的应用程序链接示例。以下代码由 facebook 生成,可以通过此 url 访问.

我曾尝试使用 iOS(Safari、Chrome)、Android(默认浏览器,Chrome)打开此链接。尽管我在两台设备上都安装了 Facebook 应用程序,但我被重定向到 Facebook 网站。

为什么会这样?我怎样才能让它打开 native 应用程序?

<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 原生支持的协议(protocol)。这意味着只有适用于 Android 和 iOS 的 Facebook 原生应用程序才能正确解析元标签并采取行动。所有其他浏览器和平台都会忽略它们。

为了正确处理其他浏览器中的链接,除了 AppLinks 之外,您还使用客户端 JS 重定向代码来支持其他浏览器中的重定向。如果你不想全部构建,我构建了一个名为 branch.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 代码 fragment :

<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>

关于android - 为什么这个由 facebook 生成的深层链接 (applink) 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30333567/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com