HarmonyOS掌上记账APP开发实践第49篇:App Linking Kit 应用链接:延迟拉起与深度链接场景
049 — App Linking Kit 应用链接延迟拉起与深度链接场景简介在用户拉新和回流场景中如何让用户从外部链接直接跳转到应用内的特定页面是关键体验。App Linking Kit 提供了强大的深度链接能力支持延迟拉起——即使用户尚未安装应用点击链接后先跳转到应用市场下载安装安装完成后自动跳转到目标页面链接有效期为 10 分钟。MoneyTrack 基于 RouterMap 路由枚举构建了一套深度链接集成方案支持从外部链接直接跳转到首页、统计页和资产页等核心页面。核心知识点1. 延迟链接能力App Linking 的核心优势是其延迟拉起Deferred Deep Link能力10 分钟保存期用户点击链接后的 10 分钟内安装应用都能自动恢复跳转。场景复用适用于邀请好友、活动推广、广告投放等场景。参数传递链接中可以携带自定义参数应用拉起后通过want参数获取。跨平台支持同一链接可在 Android、iOS、鸿蒙设备上使用系统自动识别平台分发对应应用市场。延迟拉起完整流程用户A 在社交平台分享 App Linking 链接给用户B。用户B 点击链接系统检测是否已安装应用。已安装直接拉起应用解析参数跳转到目标页面。未安装跳转到 AGC 托管的中间页面展示应用简介引导用户下载安装。用户B 安装完成后首次打开应用系统将之前缓存的链接参数注入到应用的want中。应用在启动时解析want参数自动跳转到目标页面如好友邀请页。2. 应用拉起路由映射外部链接收到后需要映射到应用内的具体路由目标。通过集中管理的 RouterMap 枚举来实现解析链接中的target参数匹配 RouterMap 中的路由目标。未安装用户走 AGC 的 App Linking 托管页面引导下载。已安装用户直接通过路由跳转。3. 链接生成通过 AGCAppGallery Connect控制台可以生成深度链接登录 AGC 控制台进入「增长 App Linking」。创建深度链接配置目标 URL如https://moneytrack.app/link?targetstatisticsuserId123。设置 Social Meta Tags分享标题、描述、图标用于社交平台的预览展示。AGC 生成短链接如https://applink.agc.cloud/abc123缩短后的链接更易于分享。配置链接行为已安装直接跳转未安装跳转托管页面引导下载。4. 深度链接的集成深度链接集成涉及三方协作AGC 控制台配置链接模板 → 前端注册路由处理 → 分享时生成链接。5. 深度链接分析通过深度链接可以获取以下用户参数参数说明示例值target目标页面路由标识statisticsuserId分享者的用户 IDu_10086source分享来源wechat、sms、emailwechatcampaign营销活动标识summer_promo_2025timestamp链接生成时间戳17123456780006. 从点击链接到打开应用的完整流程已安装未安装statisticsassetsbill_detail其他/无用户点击 App Linking 链接设备是否已安装应用系统直接拉起应用跳转到 AGC 托管页面展示应用信息引导用户下载用户跳转应用市场下载并安装应用用户首次打开应用系统注入缓存链接参数到 want 中解析 want 参数target 匹配 RouterMap跳转到统计页跳转到资产页跳转到账单详情页跳转到首页项目代码案例文件路径lib_router/RouterMap.ets路由枚举已扩展更多页面路径exportenumRouterMap{INDEXindex,STATISTICSstatistics,ASSETSassets,BILL_DETAILbill_detail,BUDGET_SETTINGbudget_setting,FEEDBACKfeedback,USER_PROFILEuser_profile,SHARE_REPORTshare_report}// 深度链接处理器exportfunctionhandleDeepLink(linkUrl:string){consturlnewURL(linkUrl);consttargeturl.searchParams.get(target)asRouterMap;constuserIdurl.searchParams.get(userId);constsourceurl.searchParams.get(source);// 记录深度链接来源用于分析Logger.info(DeepLink,来源${source}目标${target}分享者${userId});switch(target){caseRouterMap.STATISTICS:router.pushUrl({url:pages/StatisticsView});break;caseRouterMap.ASSETS:router.pushUrl({url:pages/AssetListView});break;caseRouterMap.BILL_DETAIL:constbillIdurl.searchParams.get(billId);router.pushUrl({url:pages/BillDetailView?billId${billId}});break;caseRouterMap.SHARE_REPORT:router.pushUrl({url:pages/ShareReportView?userId${userId}});break;default:router.pushUrl({url:pages/Index});}}// 应用入口处注册深度链接监听EntryComponentstruct EntryAbility{onNewWant(want:Want){constlinkwant.parameters?.appLink;if(link){handleDeepLink(linkasstring);}}}生成深度链接并分享import{appLinking}fromkit.AppLinkingKit;asyncfunctiongenerateAndShareLink(target:RouterMap,userId:string){constlinkawaitappLinking.createLink({target:target,userId:userId,source:share,timestamp:Date.now().toString()});returnlink;// 返回缩短后的 App Linking 链接}通过在分享月度报告时生成深度链接用户收到好友分享的链接后可直接跳转到报告页实现了高效的社交裂变。最佳实践参数最小化深度链接中只携带必要参数如 target 和 userId避免将敏感数据直接嵌入 URL需要用户信息时通过 userId 在服务端查询。兜底路由在 handleDeepLink 中始终包含 default 兜底逻辑当 target 参数无效或为空时跳转到首页避免用户看到白屏。延迟拉起测试在 AGC 控制台配置后务必使用未安装应用的设备测试延迟拉起链路确保从下载到跳转的完整流程正常。链接有效期管理明确告知用户链接的有效期AGC 默认 10 分钟过期后提示用户重新生成。来源追踪在深度链接中携带 source 参数统计不同渠道的拉新转化率为市场投放决策提供数据支撑。Social Meta 优化在 AGC 控制台为深度链接配置精美的社交分享卡片标题描述图标提升分享场景的点击率。推荐参考文档App Linking Kit 指南深度链接设计最佳实践AGC 控制台 App Linking 配置说明

相关新闻

C2000 eHRPWM寄存器配置实战:从时基到死区,驱动电机与电源设计

C2000 eHRPWM寄存器配置实战:从时基到死区,驱动电机与电源设计

1. 从寄存器手册到实战配置:eHRPWM的核心逻辑 如果你曾经在电机控制或者电源设计的项目中,面对德州仪器(TI)C2000系列微控制器那本厚厚的技术参考手册,对着eHRPWM(增强型高分辨率脉宽调制器)的寄…

2026/10/15 13:48:59 阅读更多 →
多线程断点续传下载器设计:从状态驱动到工程实践

多线程断点续传下载器设计:从状态驱动到工程实践

最近在准备面试,发现很多公司都喜欢问“设计一个支持多线程并发下载且能断点续传的文件下载器”。第一次看到这个题目,可能会觉得这不就是开几个线程,分几块数据,然后记一下进度吗?但真正动手去设计,尤其是…

2026/10/10 19:24:47 阅读更多 →
离线容器化AI聊天机器人:air-gapped环境下LLM部署全栈实践

离线容器化AI聊天机器人:air-gapped环境下LLM部署全栈实践

1. 项目概述:为什么需要一个完全离线的容器化AI聊天机器人“Air-gapped LLM-based AI Chatbot in Containers”——这个标题里每个词都带着明确的技术意图和现实约束。Air-gapped不是噱头,而是硬性安全边界:设备物理断网、无外联通道、不依赖…

2026/10/3 0:12:51 阅读更多 →

最新新闻

项目经理绝不能提拔这六种人:责任踢球员、嘴强指挥官、职场画饼师、狭隘利己者、情绪失控者、权力独裁者

项目经理绝不能提拔这六种人:责任踢球员、嘴强指挥官、职场画饼师、狭隘利己者、情绪失控者、权力独裁者

项目延期,很多时候不是因为计划写得不够细,而是因为关键位置放错了人。你以为提拔一个人,是给团队多一个负责人;结果他上来之后,问题没人扛、会议没人收口、资源越抢越乱、风险越报越晚。项目经理每天忙着救火&#xf…

2026/10/15 13:48:20 阅读更多 →
context-mode:基于SQLite+FTS5+BM25的本地上下文感知范式

context-mode:基于SQLite+FTS5+BM25的本地上下文感知范式

1. “context-mode”到底是什么?别被术语吓住,它本质是让工具“懂上下文”的一套轻量级机制最近在不少技术讨论里频繁看到“context-mode”这个词,尤其和MCP、SQLite、FTS5、BM25这些关键词绑在一起出现。很多人第一反应是——这又是个新出的…

2026/10/15 13:48:20 阅读更多 →
Hive命令行实战指南:从元数据管理到性能调优的避坑手册

Hive命令行实战指南:从元数据管理到性能调优的避坑手册

1. 为什么每个数据从业者都该吃透Hive命令行刚接触大数据那会儿,我总觉得Hive嘛,不就是写写SQL查数据,跟MySQL能有多大区别。直到有一次凌晨两点,业务方催着要一份临时报表,我对着终端敲了半天命令,结果连表…

2026/10/15 13:48:20 阅读更多 →
麦肯锡数据治理与架构设计:治理域驱动的可执行蓝图

麦肯锡数据治理与架构设计:治理域驱动的可执行蓝图

简介:本资源是麦肯锡为大型企业量身定制的数据治理与数据架构总体设计咨询方案,面向企业架构师、数据治理负责人、IT战略规划人员及数字化转型核心团队,聚焦解决业务能力与IT架构脱节、数据权责不清、模型缺失、生命周期管理缺位等关键痛点。…

2026/10/15 13:48:20 阅读更多 →
CAPM实操指南:β值计算、市场组合定义与无风险利率选择

CAPM实操指南:β值计算、市场组合定义与无风险利率选择

1. 这不是教科书里的CAPM,而是我在实盘回测中反复撕开又重装的模型笔记“资本资产定价模型(CAPM)”这七个字,刚看到时我下意识皱了下眉——不是因为它难,而是因为太熟了。熟到像每天通勤路上那家永远排着队的咖啡店&am…

2026/10/15 13:48:20 阅读更多 →
SpringBoot双模版电商系统设计与实现

SpringBoot双模版电商系统设计与实现

1. 项目概述:双模版电商系统的技术实现 这个SpringBoot零食商城系统是一个典型的轻量级电商解决方案,最显著的特点是采用了模块化设计,同时支持零食商城和花店管理两种业务模式。我在实际部署测试中发现,系统通过配置开关即可切换…

2026/10/15 13:47:17 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →