【效果】

元服务链接格式(API>=12适用):https://hoas.drcn.agconnect.link/ggMRM

生成二维码后效果:

【参考网址】

使用App Linking实现元服务跳转:https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-Guides/agc-applinking-atomic-link-0000002046440041

草料二维码:https://cli.im/

【引言】

本文将详细介绍如何使用App Linking技术实现元服务之间的无缝跳转,并通过生成二维码的方式快速拉起元服务,从而简化用户操作流程,增强应用的互动性和推广效率。

【什么是元服务链接?】

元服务链接是一种专为开发者设计的受控URL服务,允许用户点击后直接进入特定的元服务内容页。这种即点即享的功能极大地简化了用户的操作流程,并且可以精准控制用户访问的时间范围。对于已上架的元服务,开发者能够为其生成并配置专属链接,同时设置有效期,以确保用户在有效期内能够访问到最新的内容或功能。

【使用场景】

• 扫码直达:用户可以通过扫描二维码直接进入特定的元服务页面。

• 社交分享:方便用户通过社交媒体分享特定的服务内容。

• 唤醒沉默用户:通过推送通知中的链接快速激活不活跃的用户。

• 营销推广:作为广告内容的一部分,引导用户进入体验服务,提高转化率。

【创建元服务链接】

要创建一个元服务链接,首先需要满足以下前提条件:

1. 在AGC(AppGallery Connect)平台上创建项目。

2. 开通App Linking服务。

3. 项目中存在已上架且支持HarmonyOS API 12及以上的元服务。

接下来,按照以下步骤创建链接:

1. 登录AppGallery Connect,选择“我的项目”。

2. 选择项目后,在左侧导航栏找到“增长 > App Linking”,选择“元服务链接(API>=12适用)”页签。

3. 点击“创建”,填写链接名称、设置链接的有效期等信息。

4. 可以选择添加自定义参数,以便更精确地定位到元服务中的指定页面。

5. 最后,保存或发布链接。

【自定义参数】

为了更灵活地控制跳转行为,开发者可以在创建元服务链接时设置自定义参数。这些参数通常用于指定页面路径或是导航目标。例如,可以通过pagePath参数指定具体的页面路径,或者使用navRouterName参数指向特定的导航目的地。如果涉及分包,则还需要提供subPackageName参数。

【应用内集成】

在应用内部,开发者可以使用UIAbilityContext.openLink接口来打开元服务链接。根据设置的不同,如果匹配到相应的元服务则会直接打开;否则,可能会抛出异常或者尝试通过浏览器打开链接。此外,还可以设置appLinkingOnly参数来控制是否仅限于通过App Linking打开元服务。

// 示例代码
import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit'; let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
let link: string = "https://hoas.drcn.agconnect.link/9P7g";
context.openLink(link, { appLinkingOnly: true })
.then(() => {
console.info('openlink success.');
})
.catch((error: BusinessError) => {
console.error(`openlink failed. error:${JSON.stringify(error)}`);
});

【错误处理与调试】

当元服务链接过期或无效时,系统会给出相应的错误提示。开发者可以根据这些提示来进行错误处理。例如,当appLinkingOnly设为true时,如果遇到非法或失效链接,系统会抛出错误码"16000019"。在这种情况下,开发者应当准备好相应的错误处理逻辑,以保证良好的用户体验。

【二维码生成】

最后一步,开发者可以使用草料二维码工具将生成的元服务链接转换成二维码,方便用户通过扫描二维码的方式访问元服务。这不仅提升了用户体验,也增加了应用的互动性和传播性。

【结论】

通过以上步骤,开发者可以轻松地利用App Linking技术实现鸿蒙元服务之间的无缝跳转,并通过二维码方式快速拉起元服务。这项技术不仅有助于简化用户操作,还能增强应用的互动性和推广效果。希望本文能帮助开发者更好地理解和运用这一强大功能,为用户提供更加流畅便捷的服务体验。

鸿蒙NEXT元服务:利用App Linking实现无缝跳转与二维码拉起的更多相关文章

  1. 官网app下载更换成微信公众号二维码 测试

    微信现在很火啊.公司官网原先提供的ios和andriod的app下载链接要求切换成微信公众号二维码.简单的替换,大家都说不需要测试直接上线.还是测了下. 1 验证所有与下载相关的信息都已去除. 包括下 ...

  2. 随手记一次利用开源zxing生成带嵌入logo的二维码图片

    之前就在项目里面用过zxing生成二维码,最近另一个项目同样需要用到二维码,故重新在学了学利用zxing生成二维码 接下来先做准备工作了,因为我是用vs2013上开发的,故选择了.net4.5版本的z ...

  3. Canvas与Image互相转换示例以及利用该技术实现微信长按自动识别二维码功能

    现在扫描二维码已经很普遍,微信扫一扫即可,但是如果二维码是在自己的手机上呢?那就要用到微信里的一个功能了,手指长按二维码,会弹出自动识别的选项,点确定就可以看到二维码的内容了.那么怎么通过前端实现这个 ...

  4. 利用websocket实现微信二维码码扫码支付

    由于业务需要引入微信扫码支付,故利用websocket来实现消息推送技术. 实现大致流程:首先客户端点击微信支付按钮,触发微信支付接口,同时微信支付响应成功参数后,连接websocket客户端,此刻利 ...

  5. 基于日志服务的GrowthHacking(1):数据埋点和采集(APP、Web、邮件、短信、二维码埋点技术)

    数据质量决定运营分析的质量 在上文中,我们介绍了GrowthHacking的整体架构,其中数据采集是整个数据分析的基础,只有有了数据,才能进行有价值的分析:只有高质量的数据,才能驱动高质量的运营分析. ...

  6. 今天网站后台登录页面需要生成一个二维码,然后在手机app上扫描这个二维码,实现网站登录的效果及其解决方案如下

    要实现二维码登录,需要解决2个技术,1.需要js websocket 与后台php实现长连接技术 2.实现二维码生成技术 要实现这个功能第二个算是比较简单,只需要下载一个php的二维码生成器即可,但要 ...

  7. 制作IOS企业版App网页扫描二维码下载安装

    有时候我们需要在XX网站的主页上去扫描二维码下载,那么ios开发中如何做到这一点呢. 我给大家解答一下,这也是在最近工作中用到的部分,在网上了解了一些. 下面给大家分解一下步骤: 1.Plist 和 ...

  8. 好推二维码如何通过应用宝微下载支持微信自动打开APP下载?

    好推二维码 官网 http://www.hotapp.cn 1. 为什么使用应用宝微下载? APP下载二维码,通过微信扫描下载的时候,微信目前只支持应用宝微下载,才能在微信里直接打开下载,否则就需要在 ...

  9. 为什么下载APP,扫描二维码,关注微信公众号,就会送牛奶送小礼品?下载使用量高,会怎样?

    以前的老办法是到处贴广告,电视上,广播上各种宣传. 在互联网时代,企业要盈利,除了不断优化升级自己的产品和服务,大量推广宣传产品,还要懂得用户思维.现在有网站,有APP,有微信,有二维码,可以卖产品, ...

  10. 网页二维码推广App的实现

    移动互联网时代,一个APP的平均推广成本早已经超过了10块.而推广通常分二类: 1.已经下载过的用户,可以直接打开应用(一般人的手机上安装的应用都非常多,要快速找到某个应用是很困难的事情,而且Andr ...

随机推荐

  1. 2023/11/15 NOIP 模拟赛

    T1 游戏 标签 尺取 线段树 单调队列 线段树进阶 思路 抽象题意,相当于有 \(t\) 个点,有 \(n\) 个下接 \(x\) 轴的矩形. 首先明显可以按照 \(c\) 排序,然后尺取. 写法 ...

  2. 加入 Flutter Engage,Pick 您的专属 Dash 形象!

    Flutter Engage 活动精彩来袭 对 Flutter 团队的开发者们来说,交流的重要性不言而喻,和您一样,我们也希望开发者们能够在不同的情境下进行互动分享.于是我们为您准备了一场特别的线上活 ...

  3. [Tkey] OSU!

    更新的题解可看 此处 你说得对但是 恐怖日本病毒会自动向你的电脑中下载 OSU! 题意简述 一个 01 串,每个位置有 \(p_{i}\) 的概率为 \(1\),连续的 \(x\) 个 \(1\) 贡 ...

  4. 三大硬核方式揭秘:Java如何与底层硬件和工业设备轻松通信!

    大家好,我是V哥,程序员聊天真是三句不到离不开技术啊,这不前两天跟一个哥们吃饭,他是我好多年前的学员了,一直保持着联系,现在都李总了,在做工业互联网相关的项目,真是只要 Java 学得好,能干一辈子, ...

  5. USB 同步字段中高速同步字段和低速全速同步字段的区别

    USB(Universal Serial Bus)有几种不同的传输模式:低速(Low-Speed).全速(Full-Speed).高速(High-Speed)和超级速度(SuperSpeed).同步字 ...

  6. USB通讯架构及数据模型

    注意: (1)一个usb设备由一个或者多个接口组成: (2)每一个接口为usb设备的一个功能,比如上面的usb设备由两个接口,一个可用于鼠标,一个可用于键盘: (3)每个接口占用usb设备的多个端口资 ...

  7. 墨天轮国产数据库沙龙 | 张玮绚:TDengine,高性能、分布式、支持SQL的时序数据库

    分享嘉宾:张玮绚(Wade Zhang)北京涛思数据科技有限公司(TDengine)研发VP 整理:墨天轮 导读 TDengine 是一款高性能.分布式.支持 SQL 的时序数据库,让大量设备.数据采 ...

  8. Power BI 通过输入数据新建表后重新进入编辑状态

    在使用Power BI时,有时候我们会直接通过输入数据构建一些简单的表,但是构建好后我们可能还需要对表格进行增删改的操作,这时候我们需要怎么才会恢复到表格的编辑状态呢?其实很简单,我们回到PQ里面,双 ...

  9. docker login 私有仓库时报错

    连接私有harbor报错如下: docker login 192.168.1.88 -uadmin -pHarbor12345 WARNING! Using --password via the CL ...

  10. 内核源码+vscode+bear+clang实现函数任意跳转,无缝跳转,无缝阅读,无缝开发

    一.准备工作 1.内核源码版本选择 务必有一份能编译通过的<内核源码>,本次选择5.10版本的. #说明:5.10版本的<内核源码>里,在 scripts/clang-tool ...