10

如果我的网站在 Android 设备上打开,我希望我的网站重定向到 Google Play 市场中的特定应用。我按照http://developer.android.com/guide/publishing/publishing.html上的说明进行操作:

"Display the details screen for a specific application: http://play.google.com/store/apps/details?id=<package_name>".

与用户积极点击的链接一起使用效果很好:

<a href="http://play.google.com/store/apps/details?id=<package_name>">Download app</a>

但是,如果我使用 javascript 检测设备并尝试重定向浏览器自动将 http://... 更改为 https://... 并且用户被重定向到 Google Play 网站而不是 Google Play 应用程序电话。

if(navigator.userAgent.toLowerCase().indexOf("android") > -1) {
    if(confirm("Download app?")) {
        window.location.href= "http://play.google.com/store/apps/details?id=<package_name>";
    }
}

有什么办法可以改变这种行为,我的测试设备是带有 android 2.3.3 的三星 Galaxy?

4

3 回答 3

17

This seems to work. The redirect opens the Google Play app while using the default browser, but translates the link to https:// play.google... when using chrome

if(navigator.userAgent.toLowerCase().indexOf("android") > -1) {
    if(confirm("Download app?")) {
        window.location.href= "market://details?id=<packagename>";
    }
}
于 2012-04-18T12:02:00.007 回答
5

如果您想重定向Google Play 应用程序,请尝试从服务器执行此操作。

客户端尝试将不起作用。

PHP 示例

    header("Location: market://details?id=com.your.app");
于 2015-08-18T11:00:17.577 回答
1

如果接受的答案不起作用或无法在 Chrome 中打开并出现此错误

错误:ERR_UNKNOWN_URL_SCHEME

像这样将 window.location.href 更改为 window.location

if(navigator.userAgent.toLowerCase().indexOf("android") > -1) {
 if(confirm("Download app?")) {
    window.location= "market://details?id=<packagename>";
 }
}
于 2015-05-02T04:59:04.983 回答