2

我想在我的网站上制作一个按钮,这将允许用户打开本机 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>
4

2 回答 2

3

AppLinks 是只有 Facebook 原生支持的协议。这意味着只有适用于 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 代码片段:

<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>
于 2015-09-05T20:37:14.550 回答
0

Facebook 文档

App Links 是一种开放标准,可以让您深入链接到应用中的内容。当使用您的应用程序的人通过 Facebook(或另一个启用应用程序链接的应用程序)共享内容时,您可以创建一个链接,以便可以从该内容跳转回您的应用程序。

所以我想就像@Ming Li 说的,它不支持 Safari 和 Chrome。

您可以在您的时间轴上试用它,然后使用 Facebook 应用程序打开它。

于 2015-07-28T03:44:40.850 回答