uniapp打包APP跳转华为应用商城,跳转各个应用商店
效果图
业务需求
使用uni 打包了一款APP,已经上架到了华为商城。
最完美的实现逻辑:打开APP的时候获取华为商城的版本号(未实现),对比本地包版本号差异,自动跳转华为商城去更新应用。
目前实现的方式:去华为商城提交包,等待商城审核通过。更新自己服务器版本号,进入APP请求接口,版本号不一致跳转去华为商城。
跳转功能
安卓是指定包名跳转,iOS需要指定id:
javascript
if (plus.os.name == "Android") {
// 跳转安卓应用市场
// let appurl = "market://details?id=com.tencent.mm" //这个是通用应用市场,
// let appurl = "market://com.huawei.appmarket.applink?appId=" //这个是华为应用市场(跳转过去找不到自己的应用,不知道那个id是个啥)
let appurl = "appmarket://details?id=com.xxxxxx.app" //这个是华为应用市场(拼接的是你打包的包名)
plus.runtime.openURL(appurl)
} else {
// 跳转AppStore 我没有上架ios不知道能不能跳过去
let appleId = 纯数字id
plus.runtime.launchApplication({
action: `itms-apps://itunes.apple.com/cn/app/id${appleId}`,
})
}
Android 应用商店常见地址
通用市场:market://details?id=com.tencent.mm
应用宝:tmast://appdetails?pname=com.tencent.mm
小米:mimarket://details?id=com.tencent.mm 或 https://app.mi.com/details?id=包名(评论区提供,请自行验证)
三星:samsungapps://ProductDetail/com.tencent.mm
华为:appmarket://details?id=com.tencent.mm
荣耀:market://details?id=xxx
oppo:market://details?id=com.xunmeng.pinduoduo 详情
vivo:vivomarket://details?id=com.tencent.mm
AppStore 搜索页面:itms-apps://search.itunes.apple.com//WebObjects//MZSearch.woa/wa/search?media=software<erm=
鸿蒙:store://appgallery.huawei.com/app/detail?id=pkgname
获取自己APP的版本号(可以参考这篇文章,获取版本号,对比版本号)
链接: https://blog.csdn.net/wangjiecsdn/article/details/134039836?spm=1001.2014.3001.5501
这个只是建立在获取版本号,下载自己的服务器apk。跟华为应用商城没有半点关系
结语
目前这种实现方式的弊端:我提交华为商城后,还得时刻盯着商城什么时候审核通过了,我再去服务器更新版本号,然后app前端才能更新。
各位大佬如果有获取商城版本号的方法,非常需要您的指导
参考地址
常见的应用商店 scheme 地址: https://ask.dcloud.net.cn/article/id-39960__page-4#reply
uniapp app端跳转到应用商店: https://blog.csdn.net/weixin_41823246/article/details/136801437