web-dev-qa-db-fra.com

Ouvrez l'application Play Store à partir du lien du navigateur.

De cet article j’ai pu créer une fonctionnalité permettant de rediriger les utilisateurs vers Android ou iOS à partir d’un seul lien. Cependant, lors de la détection d'Android, je souhaite ouvrir le Play Store avec mon application affichée. J'ai essayé le lien ci-dessous sur la redirection:

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

mais il ouvre le Play Store dans le navigateur lui-même. Je souhaite ouvrir l'application Play Store. Je suppose que les utilisateurs de l'application disposeront de l'application Play Store. Je ne souhaite donc pas vérifier si l'application Play Store est installée ou non. J'ai aussi essayé le lien du marché comme ci-dessous

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

mais cela ne fonctionne pas non plus. Aide appréciée.

3
Hitesh

Je l'ai eu en utilisant l'URL ci-dessous sur la redirection

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

Lorsque je visite cette URL à partir du navigateur de mon mobile, il n'ouvre pas le Play Store dans le navigateur mais ouvre l'application Play Store. Cela sert mon but.

10
Hitesh

Je pense qu'une meilleure façon de faire cela pourrait être

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

Vous pouvez le faire en vérifiant l'URL dans la méthode shouldOverrideUrlLoading de votre WebViewClient. Voir ci-dessous

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>

Cela ouvrira toujours votre lien dans le Play Store.

0
Iamat8