Откройте страницу сведений о Google play для приложения через JavaScript redirect из браузера android

Я хочу, чтобы мой сайт перенаправить на конкретное приложение в Google Play Market, если он открыт на устройстве android. Я следовал инструкциям на 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, это приложение на телефоне.

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

есть ли способ изменить это поведение, мое тестовое устройство - Samsung Galaxy с android 2.3.3?

3 ответов


Это, кажется, работает. Перенаправление открывает приложение Google Play при использовании браузера по умолчанию, но переводит ссылку на https: / / play.гуглить... при использовании Chrome

if(navigator.userAgent.toLowerCase().indexOf("android") > -1) {
    if(confirm("Download app?")) {
        window.location.href= "market://details?id=<packagename>";
    }
}

Если вы хотите редирект to Google Play app попробуйте сделать это с сервера.

попытки на стороне клиента не будут работать.

пример PHP

    header("Location: market://details?id=com.your.app");

если принятый ответ не работает или не открывается в Chrome с этой ошибкой

ОШИБКА: ERR_UNKNOWN_URL_SCHEME

поменять окна.местоположение.хреф к окну.расположение, как это

if(navigator.userAgent.toLowerCase().indexOf("android") > -1) {
 if(confirm("Download app?")) {
    window.location= "market://details?id=<packagename>";
 }
}