Откройте приложение Play Store по ссылке в браузере

Из эта почта мне удалось создать функцию для перенаправления пользователя на android или ios по одной ссылке. Однако при обнаружении Android я хочу открыть магазин воспроизведения с показанным моим приложением. Я попробовал приведенную ниже ссылку на перенаправление:

window.location.href = "https://play.google.com/store/apps/details?id=com.myapp";

но он открывает магазин воспроизведения в самом браузере. Я хочу открыть приложение магазина воспроизведения, я предполагаю, что у пользователей моего приложения будет приложение магазина воспроизведения, поэтому я не хочу проверять, установлено ли приложение магазина воспроизведения или нет. Я также попробовал ссылку на рынок, как показано ниже

window.location.href = "market://details?id=com.myapp";

но это тоже не работает. Помощь приветствуется.

вы хотите перенаправить из самого браузера? или из любого события щелчка?

Iamat8 27.06.2018 15:19

В самом браузере нет события щелчка.

Hitesh 27.06.2018 15:22

Вы используете webviewclient?

Iamat8 27.06.2018 16:15

Нет, я отправляю ссылку своим пользователям через url.

Hitesh 27.06.2018 16:17

ты проверил мое решение?

Iamat8 28.06.2018 07:37
18
5
36 120
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете сделать это, проверив URL-адрес в методе shouldOverrideUrlLoading вашего WebViewClient. См. ниже

String market_url = "market://details?id=package_name";
String website_url = "https://play.google.com/store/apps/details?id=package_name";

onCreate ()

WebView webview = (WebView) findViewById(R.id.webview);
webview.loadUrl("file:///android_asset/index.html");               // path to html
webview.setWebViewClient(new Callback());


private class Callback extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.equals(website_url)) {
            try {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_VIEW);
                intent.setData(Uri.parse(market_url));
                startActivity(intent);
            } catch (ActivityNotFoundException e) {
            }
        }
        return (false);
    }
}

index.html

<a href = "https://play.google.com/store/apps/details?id=package_name">App link</a>

Это всегда будет открывать вашу ссылку в игровом магазине.

Ответ принят как подходящий

Я получил его, используя приведенный ниже URL-адрес при перенаправлении

window.location.href = "https://play.app.goo.gl/?link=https://play.google.com/store/apps/details?id=com.myapp";

Когда я посещаю этот URL-адрес из браузера своего мобильного телефона, он не открывает магазин воспроизведения в браузере, а вместо этого открывает приложение магазина воспроизведения. Это служит моей цели.

Можете ли вы объяснить, почему эта ссылка работает, в то время как другие возвращают браузером ошибку «Навигация заблокирована». Можете ли вы указать ссылку на любую документацию по этой ссылке.

Gil Epshtain 19.12.2018 11:39

Есть ли аналогичный способ запустить приложение appstore при нажатии ссылки?

Sobinscott 23.09.2019 13:48
play.app.goo.gl/.well-known/assetlinks.json Это динамическая ссылка, поддерживаемая Firebase и Play Service.
BuffK 27.04.2020 10:20

Привет. Когда я пытаюсь это сделать - window.location.href = "play.app.goo.gl/?link=https://play.google.com/store/apps/…" ‌; Я получаю неподдерживаемую схему URI. Он пытается загрузить веб-страницу с намерением: //play.app.goo .... Есть идеи, что я могу сделать, чтобы это исправить?

anj28 04.11.2020 15:43

Я думаю, что лучший способ сделать это может быть

    $(document).ready(function (){
 if (navigator.userAgent.toLowerCase().indexOf("android") > -1){
     window.location.href = 'http://play.google.com/store/apps/details?id=com.truecaller&hl=en';
 }
 if (navigator.userAgent.toLowerCase().indexOf("iphone") > -1){
     window.location.href = 'http://itunes.apple.com/lb/app/truecaller-caller-id-number/id448142450?mt=8';
 }
});

Начиная с Chrome 40 отображается Navigation is blocked: market://details?id=****.

Kazuya Gosho 20.05.2019 19:29

Другие вопросы по теме