前段时间一直在搞app的下载页面和详情页,当时有个想法是 先判断用户是否安装了app,如果安装了,详情页直接在app内打开,如果未安装则打开微信内的H5页面,并在详情页加入下载链接。可惜当时微信内部不支持app跳转。找了半天资料终究是没有写到项目里。今天回头看的时候发现已经忘的差不多了。当初的资料却怎么也找不到。果然资料还得靠自己整理。
以下是在网上搬过来的。暂时存放,以后可能用得着。
代码功能: 判断手机/平板是否安装app 如果安装 则调用app的scheme,传入url当作参数,来做后续操作 如果没有安装 则跳转到app store/google play 下载app
(function () {
var openUrl = window.location.search;
try {
openUrl = openUrl.substring(1, openUrl.length);
} catch (e) {}
var isiOS = navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone') || navigator.userAgent.match('iPod'),
isAndroid = navigator.userAgent.match('Android'), isDesktop = !isiOS && !isAndroid;
if (isiOS) {
setTimeout(function () {
window.location = "itms-apps://itunes.apple.com/app/[name]/[id]?mt=8";
}, 25);
window.location = "[scheme]://[host]?url=" + openUrl;
} else if (isAndroid) {
window.location = "intent://[host]/" + "url=" + openUrl + "#Intent;scheme=[scheme];package=[package_name];end";
} else {
window.location.href = openUrl;
}
})();
本文介绍了一种实现方案,即如何判断用户的设备上是否已安装特定的应用程序(App)。若已安装,则通过Scheme机制启动该App并传递URL参数;若未安装,则引导用户前往应用商店进行下载。文中提供了针对iOS和Android平台的具体实现代码。
4661

被折叠的 条评论
为什么被折叠?



