【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页
一、问题背景:
如今,大家都离不开各种手机应用。随着鸿蒙系统用户越来越多,大家都希望能在鸿蒙设备上快速找到想用的 APP。华为应用市场里有海量的 APP,但之前从鸿蒙设备进入应用市场找特定 APP 的过程有点繁琐。
从开发角度来说,打通鸿蒙设备到华为应用市场目标 APP 下载页的直接跳转,能优化整个开发链路。从产品需求出发,这能提升应用分发的效率,助力产品推广。
站在用户体验方面,这么做能大大节省用户找 APP 的时间,让大家更快下载想用的应用,极大地提升用户使用鸿蒙设备获取应用的体验。所以,实现这个跳转功能十分必要。
二、解决方案:
源码示例如下,以跳转到华为应用市场的wx界面举例:
跳转目标app的下载页,需要知道其包名即可。
点击跳转按钮后的效果:
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
import { BusinessError } from '@kit.BasicServicesKit';
struct AGCStorePage {
private TAG: string = "AGCStorePage";
// 以wx举例:
mAppId: string = 'com.tencent.wechat';
controller: TextInputController = new TextInputController();
build() {
Row() {
Column() {
TextInput({ text: this.appId, placeholder: '请输入应用的appId', controller: this.controller })
.width('90%')
.onChange((value: string) => {
this.mAppId = value
})
Button('点击跳转到鸿蒙版应用市场详情页面')
.margin({top: 50})
.onClick(()=>{
const want: Want = {
uri: "store://appgallery.huawei.com/app/detail?id=" + this.mAppId
};
const context = getContext(this) as common.UIAbilityContext;
context.startAbility(want).then(()=>{
//拉起成功
console.log(this.TAG, "跳转成功!");
}).catch((err: BusinessError)=>{
// 拉起失败
console.log(this.TAG, "跳转失败!" + JSON.stringify(err));
});
})
}
.width('100%')
}
.height('100%')
}
}
注意:
拼接分享的应用下载页链接为(以wx举例,替换id即可跳转到目标app): https://appgallery.huawei.com/app/detail?id=com.tencent.wechat
在鸿蒙设备上加载该链接,为自动跳转到应用市场app下载页。若不是鸿蒙设备,会提示: