Javascript - 应用内容的深层链接

时间:2015-01-12 16:56:58

标签: javascript android ios deep-linking

我有一个网站和亲戚iOS和Android应用程序。

当来自移动设备的用户点击我在fb或twitter中共享的内容时,它会重定向到该网站。然后,我实现了一个脚本,以确定设备是否安装了应用程序,否则打开市场(谷歌播放或iOS应用程序商店)。

脚本是:

deepLink: function (contentId, store) {
        if (contentId && contentId != '')
            window.location.href = "my_app://" + contentId;
        else
            window.location.href = "my_app://";

        $timeout(function () { window.location.href = store; }, 25);
    }

where" contentId"是详细信息页面的ID和"存储"是Android或iOS市场的URL。

这不起作用,因为它打开应用程序但也打开了市场。 如果没有安装应用程序,我只想打开应用程序或只打开市场。 有解决方案吗?我已经读过始终建议重定向到应用程序商店,而不是直接到应用程序,但客户专门问我这个功能。

的AndroidManifest.xml

<activity>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="hotstar" />
    </intent-filter>
</activity>

有人能帮助我吗? THX

1 个答案:

答案 0 :(得分:0)

使用Javascript PageVisibility Api,您可以检查是否正在查看浏览器选项卡。在您的情况下,在超时功能中,在重定向到存储之前检查是否正在使用页面可见性查看选项卡。如果没有查看页面,则表示您的深层链接工作且应用程序已打开。所以你不必重定向到商店。