通过浏览器链接打开Play商店应用

时间:2018-06-27 13:03:32

标签: android browser google-play

this post,我能够创建一个功能,以从单个链接将用户重定向到android或ios。但是,在检测到Android时,我想打开显示我的应用程序的Play商店。我在重定向上尝试了以下链接:

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

,但会在浏览器本身中打开Play商店。我想打开Play商店应用,我假设我的应用用户将拥有Play商店应用,所以我不想检查Play商店应用是否已安装。我还尝试了如下的市场链接

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

但是这也不起作用。帮助表示赞赏。

3 个答案:

答案 0 :(得分:13)

我通过在重定向中使用以下网址使它正常工作

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

当我从手机的浏览器访问该URL时,它不会在浏览器中打开Play商店,而是打开Play商店应用。这符合我的目的。

答案 1 :(得分:0)

您可以通过检查shouldOverrideUrlLoading的{​​{1}}方法中的URL来做到这一点。见下文

WebViewClient

onCreate()

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

index.html

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);
    }
}

这将始终在Play商店中打开您的链接。

答案 2 :(得分:0)

我认为更好的方法可能是

    $(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';
 }
});