HarmonyOS 鸿蒙Next中AGC配置直达应用市场链接时提示不明确,只说明了配置异常需要更新应用,但是没有说明具体应该在什么配置文件中怎么配置,建议AGC优化下提示,异常时能直接给出解决方法。

HarmonyOS 鸿蒙Next中AGC配置直达应用市场链接时提示不明确,只说明了配置异常需要更新应用,但是没有说明具体应该在什么配置文件中怎么配置,建议AGC优化下提示,异常时能直接给出解决方法。 AGC配置直达应用市场链接时提示不明确,只说明了配置异常需要更新应用,但是没有说明具体应该在什么配置文件中怎么配置,建议AGC优化下提示,异常时能直接给出解决方法。

cke_129.png


更多关于HarmonyOS 鸿蒙Next中AGC配置直达应用市场链接时提示不明确,只说明了配置异常需要更新应用,但是没有说明具体应该在什么配置文件中怎么配置,建议AGC优化下提示,异常时能直接给出解决方法。的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

链接生效机制

直达应用市场链接配置后不是即时生效的,一般要24小时生效,也有可能出现48小时生效的情况。

前提条件

  1. 目标方应用已配置基础链接
  2. 目标方HarmonyOS应用必须已上架,具体可参见"发布HarmonyOS应用"。

约束与限制

只能获取通过App Linking域名校验的应用链接,请参见在AGC为应用创建关联的网址域名

开发步骤

  1. 目标方应用配置直达应用市场能力。 a. 登录AppGallery Connect,点击"开发与服务"。 b. 在项目列表中点击目标方应用所在的项目。 c. 在左侧导航栏中选择"增长 > App Linking",选择"应用链接(API>=12适用)“页签,点击"操作"列的"直达应用市场”。

    说明

    只有在AGC创建关联的网址域名状态为"成功"时,才支持配置直达应用市场链接。

    图片

    d. 在配置页面,下拉选择与该域名关联的在架应用,为应用配置直达应用市场链接。图片

    • 可以点击"添加应用"为多个应用配置直达链接,当该域名下关联的在架应用全部配置后,无法再添加应用。
    • 可以根据以下规则配置直达链接。 
      路径 匹配规则
      path 精确匹配
      pathStartWith 前缀匹配
      pathRegex 正则表达式匹配
      • 如果在module.json5中配置关联的网址域名时,未配置path、pathStartWith或pathRegex,必须是如下匹配规则之一: pathRegex,匹配路径:.*

        path,手动输入精确匹配的路径(不允许以"/“开头,不允许出现双斜杠”//“和”…",允许包含字母(a-z、A-Z)、数字(0-9)、正斜杠"/"、点"."、下划线"_“和连字符”-")

      • (不推荐)如果在module.json5中配置关联的网址域名时,path匹配规则中配置了pathRegex,且值为.,可以包含如下匹配规则: pathRegex,匹配路径:.

        path,手动输入精确匹配的路径(不允许以"/“开头,不允许出现双斜杠”//“和”…",允许包含字母(a-z、A-Z)、数字(0-9)、正斜杠"/"、点"."、下划线"_“和连字符”-")

      • 其他场景需要根据在module.json5中配置关联的网址域名时配置的path匹配规则进行选择。

    • 可以点击"删除链接"删除当前关联应用的直达应用市场链接。 e. 配置完成后,点击页面顶部的"发布",会跳转到"应用链接"列表页面。

    如下图,“是否配置直达应用市场"显示"是”,表示链接配置成功。

    说明

    链接配置成功后,一般需要24~48小时才能生效,请耐心等待。

    图片

  2. 拉起方应用跳转实现。

    拉起方应用需调用UIAbilityContext.openLink()接口,并将appLinkingOnly参数设为false或者不传,以App Linking优先的方式打开应用。

    a. 在"entry/src/main/ets/common"目录下添加GlobalContext.ets文件,开发初始化和获取应用上下文的接口。

import { common } from '@kit.AbilityKit';
export class GlobalContext {
  private static context: common.UIAbilityContext;
  public static initContext(context: common.UIAbilityContext): void {
    GlobalContext.context = context;
  }
  public static getContext(): common.UIAbilityContext {
    return GlobalContext.context;
  }
}

b. 在"entry/src/main/ets/entryability/EntryAbility.ets"文件中导入GlobalContext,在onCreate方法中使用GlobalContext.initContext(this.context)初始化全局应用上下文。 c. 在"entry/src/main/ets/pages/Index.ets"文件中,使用UIAbilityContext.openLink()接口配置跳转链接。

import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { GlobalContext } from '../common/GlobalContext';
@Entry
@Component
struct Index {
  build() {
    Button('start link', { type: ButtonType.Capsule, stateEffect: true })
      .width('87%')
      .height('5%')
      .margin({ bottom: '12vp' })
      .onClick(() => {
        let context = GlobalContext.getContext();
        let link: string = "https://www.example.com/product?pageName=productDetail";
        context.openLink(link, { appLinkingOnly: false })
          .then(() => {
            hilog.info(0x0000, 'testTag', `Succeeded in opening link.`);
          })
          .catch((error: BusinessError) => {
            hilog.error(0x0000, 'testTag', `Failed to open link, code: ${error.code}, message: ${error.message}`);
          })
      })
  }
}
  1. 安装拉起方应用,点击拉起方应用中的跳转按钮。

    此时目标应用未安装,若有App Linking相匹配的应用,点击链接会跳转应用市场下载详情页,引导用户安装应用;若无App Linking相匹配的应用,则继续尝试以浏览器打开链接的方式打开应用。

  2. 安装目标方应用后,点击拉起方应用的跳转按钮,会直接打开应用。

更多关于HarmonyOS 鸿蒙Next中AGC配置直达应用市场链接时提示不明确,只说明了配置异常需要更新应用,但是没有说明具体应该在什么配置文件中怎么配置,建议AGC优化下提示,异常时能直接给出解决方法。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你好可以先在项目中的 entry/src/main/module.json5 先配置如下的选项

{
  "module": {
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        // 请将exported配置为true;如果exported为false,仅具有权限的系统应用能够拉起该应用,否则无法拉起应用
        "exported": true,
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          },
          {
            "entities": [
              // entities必须包含"entity.system.browsable"
              "entity.system.browsable"
            ],
            "actions": [
              // actions必须包含"ohos.want.action.viewData"
              "ohos.want.action.viewData"
            ],
            "uris": [
              {
                // 匹配 https://developer.huawei.com/cn/doc/search 精确路径
                "scheme": "https",
                "host": "developer.huawei.com",
                "path": "cn/doc/search"
              },
              {
                // 匹配以 https://developer.huawei.com/cn/doc/ 开头的所有路径
                "scheme": "https",
                "host": "developer.huawei.com",
                "pathStartWith": "cn/doc/"
              },
              {
                // 匹配 https://developer.huawei.com 上的所有以 cn/doc 目录开头结尾为 .html 的路径
                "scheme": "https",
                "host": "developer.huawei.com",
                "pathRegex": "^cn/doc/.*\\.html$"
              }
            ],
            // domainVerify须设置为true
           "domainVerify": true
          }
          // 若有其他跳转能力,如推送消息跳转、NFC跳转,可新增一个skill对象,防止与App Linking业务冲突
        ]
      }
    ]
  }
}

注意点:skills 中的 uris 字段配置能正确和开发者自己的 App Linking 匹配。要在 AGC 平台上配置应用直达链接首先需要应用在国区的应用市场上架配置过的APP后才可以在平台中进行对应的配置。


参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-linking-startup-V5#section13808113610362

在HarmonyOS Next中配置AGC直达应用市场链接时,需在AppScope目录下的app.json5文件中添加uriScheme字段,并确保其与AGC项目配置的URL Scheme一致。若提示配置异常,请检查该字段值是否与AGC中设置的完全匹配,包括大小写和特殊字符。

在HarmonyOS Next中配置AGC直达应用市场链接时,若提示“配置异常需更新应用”,通常是因为应用配置文件中的相关参数未正确设置。具体需在项目的config.json文件中配置uriparams字段,确保与AGC控制台设置的链接参数完全匹配。例如:

"abilities": [
  {
    "name": "EntryAbility",
    "srcEntry": "./ets/entryability/EntryAbility.ts",
    "launchType": "standard",
    "metadata": [
      {
        "name": "ohos.ability.direct.launch",
        "value": "agc_direct_link"
      }
    ]
  }
]

同时,检查AGC控制台的应用直达链接配置是否与代码中声明的metadata名称一致。参数不匹配或缺失会导致此异常。建议开发时开启调试日志,定位具体参数错误。

回到顶部