从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";
但是这也不起作用。帮助表示赞赏。
答案 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';
}
});