目录

  • 前言
  • 扫码直达概述
  • 关于扫码直达
  • 扫码直达流程
  • 自定义扫码直达行为
  • 结束语

    前言

    在移动互联网时代,二维码已成为连接线上与线下、应用与服务的重要桥梁,而且随着移动支付和个人名片的流行,二维码越来越广泛的应用于日常生活中。而HarmonyOS提供了“扫码直达”功能,允许应用通过扫描二维码直接打开应用中的特定页面或执行特定操作,极大地提升了用户体验和应用的便捷性,非常实用。那么本文就来详细介绍如何在HarmonyOS应用中实现扫码直达功能,方便大家了解和学习使用。

    扫码直达概述

    扫码直达功能让用户通过扫描二维码快速访问应用的特定内容或功能,无需手动搜索或输入信息。这对于需要快速响应用户操作的应用(如电子商务、社交应用等)尤为重要。在日常生活中,人们会使用各种应用扫各式各样的码,而“扫码直达”服务则为用户带来一种全新的扫码体验。开发者将域名注册到“扫码直达”服务后,用户可通过控制中心等系统级的常驻入口,扫应用的二维码、条形码并跳转到应用对应服务页,实现一步直达服务的体验。

    关于扫码直达

    在HarmonyOS中,实现扫码直达主要依赖于系统的二维码识别能力和应用的Intent机制。开发者需要配置应用以响应特定的二维码,并处理相应的Intent。开发者接入“扫码直达”服务,能为应用带来:

  • 更浅层的扫码入口和更便捷的“扫码直达”服务体验。
  • HarmonyOS强大的扫码能力。
  • 更容易触达用户的全新渠道。

    扫码直达流程

    先来看一下扫码直达的业务流程图,具体如下所示:
    image.png
    1.开发者参考App Linking指导完成域名注册。
    2.用户通过HarmonyOS扫码入口发起扫码请求。
    3.HarmonyOS扫码入口调用系统能力解析码值,查询码值对应的应用信息后拉起应用;
    4.解析码值结果跳转应用服务页。
    接下来就来详细分享如何实现扫码直达的功能。

    1、准备工作

    (仅针对“扫码直达”必选)接入App Linking,然后需要完成以下步骤:
    1.在AGC控制台开通App Linking服务。
    2.在开发者网站上关联应用。
    3.在App Linking中配置二维码、条形码关联的网址域名。
    4.在应用的“module.json5”文件中关联域名。

    2、处理接收的码值

    处理接收到的码值,完成应用内页面跳转逻辑,具体代码如下所示:

import { router } from '@kit.ArkUI';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';

export default class EntryAbility extends UIAbility {
  // 冷启动场景通过onCreate回调获取码值信息
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {

    // 从want中获取传入的链接信息。 如传入的url为:https://www.example.com/programs?router=Access
    this.getRouterUri(want);
  }

  // 热启动场景通过onNewWant回调获取码值信息
  onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {

    // 从want中获取传入的链接信息
    this.getRouterUri(want);
  }

  // 解析扫码结果,跳转相应页面
  private getRouterUri(want: Want) {
    let uri: string | undefined = want?.uri;
    if (uri) {
      // 开发者根据解析的uri跳转至响应页面,例如需要跳转页面为"pages/Access"
      let status: router.RouterState = router.getState();
      if (status && status.name !== 'Access' && uri) {
        // 根据uri参数做业务处理
        router.pushUrl({
          url: 'pages/Access'
        });
      }
    }
  }
}

3、验证“扫码直达”服务

上面的操作步骤结束之后,就来验证扫码直达服务的功能,具体步骤如下所示:
1.将配置好域名映射关系的测试应用安装到本地。
2.打开HarmonyOS扫码入口(控制中心扫码入口),扫描应用发行的二维码。
3.确认能否拉起应用并跳转目标服务页。

4、集成效果

使用HarmonyOS的相机或第三方扫码应用扫描生成的二维码,应用应该能够响应并打开指定的页面。

自定义扫码直达行为

除了上面介绍的基本的扫码直达功能,开发者还可以根据应用的需求自定义扫码后的行为,比如:

  • 数据解析:根据二维码中的数据执行特定的业务逻辑。
  • 页面跳转:根据二维码的内容跳转到应用内的特定页面。
  • 参数传递:通过二维码传递参数,并在应用内进行处理。

    结束语

    经过上面内容可以看到,扫码直达功能是HarmonyOS提供的一项强大工具,它不仅能够提升用户体验,还能增强应用的互动性和便捷性。通过本文的介绍,想必大家都应该了解了如何在HarmonyOS应用中实现扫码直达功能。随着技术的不断发展,可以期待一下更多的创新应用能够利用这一功能,为用户提供更加丰富和便捷的服务。


灵芸小骏
4.7k 声望307 粉丝

移动开发者。