文档管理中心

App Linking

App Linking提供的元服务链接是专为开发者设计的密文URL服务,可以直达元服务任意页面。开发者可以为自己的元服务生成并配置专属的元服务链接,同时设置有效期,精准把握用户访问的时效与范围。还可以为元服务生成二维码,用户只需扫描二维码,无需手动输入网址,即可快速访问指定的元服务页面。

前提条件

查看授权信息,已获取商家“服务集成与开发”的授权。如果没有,则需要修改第三方平台的权限集,重新获取商家授权。

开发步骤

使用元服务链接跳转元服务

  1. 调用获取平台级Token接口,获取服务商调用开放接口的用户级Token。
  2. 调用创建元服务链接接口创建元服务链接。
    • isQRCodeLinked:设置为false。
    • customParams:如果需要使用静态自定义参数跳转至元服务指定页面,则需要配置此参数。

    创建完成,可以调用查询元服务链接接口查看具体信息,如需调整,可以调用修改元服务链接接口进行修改,也可以调用删除元服务链接接口删除。

  3. (可选)如果需要跳转至元服务指定页面,则选择以下方式中一种进行配置。
  4. 参考使用元服务链接拉起元服务调试跳转效果。
  5. 开发调试完,调用修改元服务链接接口将isReleased设置为true。

使用链接二维码跳转元服务

  1. 调用获取平台级Token接口,获取服务商调用开放接口的用户级Token。
  2. 调用创建元服务链接接口创建元服务链接。
    • isQRCodeLinked:设置为true。
    • customParams:如果需要跳转至元服务指定页面,则需要配置此参数。
    • isReleased:调试时设置为false,并使用testQrCodeUrl配置的链接进行测试,调试完成发布前,修改为true。

    创建完成,可以调用查询元服务链接接口查看具体信息,如需调整,可以调用修改元服务链接接口进行修改,也可以调用删除元服务链接接口删除。

  3. 配置域名服务器,以便确认哪些元服务合法归属此域名,确保链接的安全可靠。
    1. 创建域名配置文件applinking.json,内容如下:
      收起
      自动换行
      深色代码主题
      复制
      1. {
      2. "applinking": {
      3. "atomicServices": [
      4. {
      5. "appIdentifier": "
        1234567
        "
      6. },
      7. {
      8. "appIdentifier": "
        3456789
        "
      9. }
      10. ]
      11. }
      12. }
      说明
      • appIdentifier填写元服务的App ID,此信息可通过查询授权信息获取。
      • 同一个网站域名可以关联多个元服务,只需在"atomicServices"列表里放置多个"appIdentifier"元素即可,其中每个"appIdentifier"对应1个元服务。
    2. 将applinking.json放在域名服务器的固定目录下:https://domain.name/.well-known/applinking.json。

      例如:域名为www.example.com,则必须将applinking.json文件放在如下位置:

      https://www.example.com/.well-known/applinking.json

  4. 解析二维码码值,跳转至不同的元服务页面。二维码码值可以从want的orgScanCode参数中读取,示例代码如下:
    收起
    自动换行
    深色代码主题
    复制
    1. import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
    2. import { hilog } from '@kit.PerformanceAnalysisKit';
    3. import { url } from '@kit.ArkTS';
    4. export default class EntryAbility extends UIAbility {
    5. onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    6. // 从want中获取传入的码值信息。
    7. // 如传入的码值信息url为:https://www.example.com/programs?action=showall
    8. let orgScanCode = want?.parameters?.orgScanCode as string;
    9. if (orgScanCode) {
    10. // 从链接中解析query参数,拿到参数后,开发者可根据自己的业务需求进行后续的处理。
    11. try {
    12. let urlObject = url.URL.parseURL(orgScanCode);
    13. let action = urlObject.params.get('action');
    14. // 例如,当action为showall时,展示所有的节目。
    15. if (action === "showall"){
    16. // ...
    17. }
    18. // ...
    19. } catch (error) {
    20. hilog.error(0x0000, 'testTag', `Failed to parse orgScanCode.`);
    21. }
    22. }
    23. }
    24. }
  5. 开发调试完,调用修改元服务链接接口将isReleased设置为true。
在 指南 中进行搜索
请输入您想要搜索的关键词