window.startApp = function(){ //启动APP if(publicFun.isInWx()){ //微信中alert("请在浏览器中打开");
}else{ //非微信中if(publicFun.isIos()){ //IOS系统,直接去itunes中,既可以下载也可以打开window.location.href = "https://itunes.apple.com/cn/app/[name]/id[id]";
}else{ //android系统,通过定时器的方式,判断是否安装有APPvar hasApp = true , t = 1000;
setTimeout(function () { //没有安装APP则跳转至应用宝下载,延时时间设置为2秒 if(!hasApp) window.location.href = "http://a.app.qq.com/o/simple.jsp?pkgname=[name]";
} , 2000);var t1 = Date.now();
window.location.href = "wushang://android";
setTimeout(function () { //t的时间就是出发APP启动的时间,若APP启动了,再次返回页面时t2这行代码执行,hasApp即为true。反之若APP没有启动即为false var t2 = Date.now();
hasApp = !(!t1 || t2 - t1 < t + 150);
} , t);
}
}
}
ログイン後にコピー
実際には、アプリに直接ジャンプするという非常に簡単な方法があります。 Android であろうと IOS であろうと、また WeChat であろうと非 WeChat であろうと。 App Store のダウンロード ページには、ダウンロードと開く 2 つの機能があります (IOS プラットフォーム上の場合は、App Store に接続して行います)
4. IOS プラットフォーム
ios9 と実際、iOS 9 ではユニバーサル リンクというより良い解決策が提供されています。
これは、iOS9 で導入された機能です。アプリがユニバーサル リンクをサポートしている場合、従来の HTTP リンクを通じて簡単にアプリを起動できます (アプリが既に iOS デバイスにインストールされている場合は、追加の判断などは必要ありません)。 、または Web ページを開きます (アプリが iOS デバイスにインストールされていません)。もっと簡単に説明すると、iOS9 より前は、Safari、UIWebView、WKWebView などのさまざまなブラウザから APP を起動する必要がある場合、通常はスキームを使用することしかできませんでした。
上記は、インターネット上のユニバーサル リンクについての説明から来ています。簡単に言うと、この URL に開発プラットフォームに送信した設定ファイルのルールに一致するコンテンツが含まれている場合に、この URL にアクセスします。アプリを開けない場合、iOS システムはブラウザーでアクセスしたいリンクにリダイレクトします。これは非常に優れた属性です。この属性を通じて WeChat の傍受を回避し、iOS9 でアプリを開くことができるからです。
つまり、上記のクリック イベントは、アプリ ストアにアクセスするためのものです。アプリがインストールされている場合、ブラウザーがアクセスした時点ですでにアプリ内にあるからです。
これらはすべて IOS の設定に関するものなので、これ以上は書きません。パラメータの受け渡しとページの方向に関しては、実際には UIWebView で現在接続されている URL を取得し、文字列の分割と検証を実行してどのページに移動するかを決定してパラメータ値を取得するのと同じです。