鸿蒙NEXT开发实战往期必看文章:
一分钟相识”纯血版!鸿蒙HarmonyOS Next应用开发!
“非常详细的” 鸿蒙HarmonyOS Next应用开发学习蹊径!(从零基础入门到精通)
HarmonyOS NEXT应用开发案例实践总联合(持续更新......)
HarmonyOS NEXT应用开发性能优化实践总结(持续更新......)
在日常生活中,人们会利用各种应用扫各式各样的码,而“扫码直达”服务则为用户带来一种全新的扫码体验。
开发者将域名注册到“扫码直达”服务后,用户可通过控制中心等体系级的常驻入口,扫应用的二维码、条形码并跳转到应用对应服务页,实现一步直达服务的体验。
开发者接入“扫码直达”服务,能为应用带来:
- 更浅层的扫码入口和更便捷的“扫码直达”服务体验。
- HarmonyOS强大的扫码本领。
- 更轻易触达用户的全新渠道。
业务流程
- 开发者参考App Linking指导完成域名注册。
- 用户通过HarmonyOS扫码入口发起扫码请求。
- HarmonyOS扫码入口调用体系本领解析码值,查询码值对应的应用信息后拉起应用;
- 解析码值结果跳转应用服务页。
开发步调
- 参考开发预备完成须要的预备工作。
- 处理吸收到的码值,完成应用内页面跳转逻辑。
- 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 {
- hilog.info(0x0001, '[Scan Access]', `Succeeded in getting want in onCreate`);
- // 从want中获取传入的链接信息。
- // 如传入的url为:https://www.example.com/programs?router=Access
- this.getRouterUri(want);
- }
- // 热启动场景通过onNewWant回调获取码值信息
- onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {
- hilog.info(0x0001, '[Scan Access]', `Succeeded in getting want in onNewWant`);
- // 从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'
- });
- }
- }
- }
- }
复制代码 - 验证“扫码直达”服务。
- 将配置好域名映射关系的测试应用安装到本地。
- 打开HarmonyOS扫码入口(控制中心扫码入口),扫描应用发行的二维码。
- 确认能否拉起应用并跳转目标服务页。
- 集成效果,以美团单车场景为例:

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |