网页是否可以打开华为应用市场APP,并进入应用详情页?

是否可以通过类似 market 协议在网页中打开华为应用市场APP,并进入应用详情页

自建网页推广时,需要在网页中引导用户下载应用

阅读 750
1 个回答

可以尝试用拦截能力 然后用元能力拉起应用市场拦截可以使用:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-web-0000001860247877

拉起应用市场app可以使用:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext-0000001774120926

示例代码:

startAblility(id:string) {
  try {
    let want: Want = {
      uri: 'store://appgallery.huawei.com/app/detail?id=' + id
    };
    mContext.startAbility(want).then(() => {
      console.log("success 拉起应用");
    })
      .catch((err: BusinessError.BusinessError) => {
        console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
      });
  } catch (error) {
    let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
    console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.message}`);
  }
}

Web({ src: "www.example.com", controller: this.controller })
  .domStorageAccess(true)
  .onLoadIntercept((event) => {
    if (event) {
      console.log('url:' + event.data.getRequestUrl())
      let url:string = event.data.getRequestUrl();
      if(url.includes("store://appgallery.huawei.com/app/detail?id") == true){
        this.startAblility(url.slice(44))
        return true
      }
    }
    return false
  })