【笔记】H5跳转手机应用商店(指定应用页/第三方应用商店)

该文介绍了如何通过JavaScript在H5页面中判断用户设备是iOS还是Android,并根据设备类型跳转到对应的应用商店。同时,列举了不同品牌手机应用市场的跳转方式和常见应用商店的包名,还提供了检查是否在微信环境中的函数。适用于移动应用推广和下载场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


判断当前设备是ios还是安卓

function isIOS() { // ios终端
	return !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
}
function isAndroid() { // android终端
	return navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Adr') > -1; 
}

跳转默认应用商店

if(!this.isApp && !this.isIos) { // android
	window.location.replace(`mimarket://details?id=com.xxx.xxx`)
}else if(!this.isApp && this.isIos){ // ios
	window.location.replace(`itms-appss://apps.apple.com/cn/app/id0000000000`)
}

常见机型应用市场跳转方式

  • 华为:appmarket://details?id=<PackageName>
  • vivo::vivoMarket://details?id=<PackageName>
  • 应用宝 直接下载:tmast://appdetails?pname=<PackageName>
  • 百度 搜狗 网页:http://market.android.com/details?id=<PackageName>
  • 金立 网页:http://m.appgionee.com/marketdetail?id=<PackageName>
  • 小米:mimarket://details?id=<PackageName>
  • 联想:http://market.lenovomm.com/details?id=<PackageName>
  • 安智市场:anzhimarket://details?id=<PackageName>
  • 魅族:mstore://details?package_name=<PackageName>
  • 三星:samsungapps://ProductDetail/${packageName}
const huaweiChal="appmarket://details?id=<PackageName>"; // 华为
const vivoChal="vivoMarket://details?id=<PackageName>"; // vivo
const qqChal="tmast://appdetails?pname=<PackageName>"; // 应用宝  直接下载
const baiduChal="http://market.android.com/details?id=<PackageName>"; // 百度 搜狗 网页
const jinliChal="http://m.appgionee.com/marketdetail?id=<PackageName>"; // 金立 网页
const xiaomiChal="mimarket://details?id=<PackageName>"; // 小米
const lenovoChal="http://market.lenovomm.com/details?id=<PackageName>"; // 联想
const anzhiChal="anzhimarket://details?id=<PackageName>"; // 安智市场
const meizuChal="mstore://details?package_name=<PackageName>"; // 魅族
const samsungChal = `samsungapps://ProductDetail/${packageName}`; // 三星

常见应用商店包名

  • 小米应用商店
const PACKAGE_MI_MARKET = "com.xiaomi.market";
const MI_MARKET_PAGE = "com.xiaomi.market.ui.AppDetailActivity";
  • 魅族应用商店
const PACKAGE_MEIZU_MARKET = "com.meizu.mstore";
const MEIZU_MARKET_PAGE = "com.meizu.flyme.appcenter.activitys.AppMainActivity";
  • VIVO应用商店
const PACKAGE_VIVO_MARKET = "com.bbk.appstore";
const VIVO_MARKET_PAGE = "com.bbk.appstore.ui.AppStoreTabActivity";
  • OPPO应用商店
const PACKAGE_OPPO_MARKET = "com.oppo.market";
const OPPO_MARKET_PAGE = "a.a.a.aoz";
  • 华为应用商店
const PACKAGE_HUAWEI_MARKET = "com.huawei.appmarket";
const HUAWEI_MARKET_PAGE = "com.huawei.appmarket.service.externalapi.view.ThirdApiActivity";
  • ZTE应用商店
const PACKAGE_ZTE_MARKET = "zte.com.market";
const ZTE_MARKET_PAGE = "zte.com.market.view.zte.drain.ZtDrainTrafficActivity";
  • 360手机助手
const PACKAGE_360_MARKET = "com.qihoo.appstore";
const PACKAGE_360_PAGE = "com.qihoo.appstore.distribute.SearchDistributionActivity";
  • 酷市场 – 酷安网
const PACKAGE_COOL_MARKET = "com.coolapk.market";
const COOL_MARKET_PAGE = "com.coolapk.market.activity.AppViewActivity";
  • 应用宝
const PACKAGE_TENCENT_MARKET = "com.tencent.android.qqdownloader";
const TENCENT_MARKET_PAGE = "com.tencent.pangu.link.LinkProxyActivity";
  • PP助手
const PACKAGE_ALI_MARKET = "com.pp.assistant";
const ALI_MARKET_PAGE = "com.pp.assistant.activity.MainActivity";
// 低版本可能是 com.pp.assistant.activity.PPMainActivity
  • 豌豆荚
const PACKAGE_WANDOUJIA_MARKET = "com.wandoujia.phoenix2";
// 低版本可能是 com.wandoujia.jupiter.activity.DetailActivity
//UCWEB
const PACKAGE_UCWEB_MARKET = "com.UCMobile";

跳转应用商店:

goAppStore() {
	let ua = navigator.userAgent;
	let isAndroid = ua.indexOf("Android") > -1 || ua.indexOf("Linux") > -1; //android终端
	let isIOS = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
	let hidden = window.document.hidden || window.document.mozHidden || window.document.msHidden || window.document.webkitHidden;
	if (typeof hidden === undefined || hidden === false) {
		if (isAndroid) {
			// 跳转 安卓应用市场地址
		} else if (isIOS) {
			// 跳转 app store 地址
		}
	}
},

注:微信禁止直接打开APP 这个功能,建议跳转到应用宝。

判断是否是微信

function isWeixin(){ 
	return /MicroMessenger|WeXin|WeChat/g.test(navigator.userAgent)
}

拓展阅读:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序边界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值