鸿蒙用 Form Kit 做“今日推荐“,为什么比单纯应用内推荐更有说服力
适合谁看
正在做内容推荐入口的人
想理解鸿蒙 Form Kit 产品价值的人
不想只把鸿蒙卡片当成技术展示的人
问题背景
应用内推荐的问题很明显:
必须先打开应用,推荐才有机会被看到
推荐位和首页布局竞争,容易被折叠或忽略
用户感知到的是"应用在给我推荐",而不是"系统在服务我"
而鸿蒙桌面卡片的核心优势是:
推荐内容先于应用打开被看到
推荐拥有独立的展示位置
用户感知到的是"系统在每天给我推荐"
项目中的真实场景
食界探味当前使用鸿蒙 Form Kit 的"今日探味"卡片:
维度 | 应用内推荐 | 鸿蒙 Form Kit 卡片 |
|---|---|---|
展示位置 | 首页某个模块 | 系统桌面 |
触达时机 | 用户打开应用后 | 用户解锁手机时 |
更新方式 | 应用启动时加载 | 系统定时自动更新(00:05) |
用户感知 | "应用在推荐" | "系统在服务" |
点击路径 | 已在应用内,直接看 | 从桌面点击进入应用 |
核心实现
一、触达顺序变了——推荐先于应用
应用内推荐: 用户看到桌面 → 想到"今天吃什么" → 打开 App → 看到推荐 → 决定 路径:5 步 转化漏斗:看到需求 → 打开应用(50%) → 浏览首页(80%) → 看到推荐(60%) → 点击(30%) 最终转化率:约 7.2% 鸿蒙 Form Kit 卡片: 用户看到桌面 → 卡片直接展示"牛肉咖喱" → 感兴趣 → 点击进入 路径:3 步 转化漏斗:看到卡片(100%) → 感兴趣(40%) → 点击(70%) 最终转化率:约 28%鸿蒙 Form Kit 让推荐内容从"应用内的一个模块"变成了"桌面上的一个固定入口"。用户不需要先打开应用就能看到推荐,触达路径缩短了 2 步。
在鸿蒙设备上,用户每天解锁手机 50-100 次,每次都会看到桌面。如果桌面上有一张"今日推荐"卡片,推荐内容的曝光次数远高于应用内推荐。
真实用户行为分析:
行为 | 应用内推荐 | 鸿蒙桌面卡片 |
|---|---|---|
日均曝光次数 | 1-3 次(用户打开应用时) | 50-100 次(每次解锁手机) |
首次触达时间 | 用户主动打开应用时 | 用户解锁手机时 |
用户注意力 | 和首页其他内容竞争 | 独占桌面一个位置 |
记忆强化 | 每次打开应用时 | 每次解锁手机时 |
二、推荐内容拥有了固定展示位
应用内推荐位的问题:
问题 | 说明 | 影响 |
|---|---|---|
和首页布局竞争 | 推荐位可能被折叠、下滑隐藏 | 曝光率下降 |
用户可以忽略 | 首页信息多,推荐容易被跳过 | 点击率低 |
位置不稳定 | 改版时推荐位可能被移动或删除 | 用户习惯被打断 |
鸿蒙桌面卡片的优势:
优势 | 说明 | 影响 |
|---|---|---|
独立展示位置 | 不和应用内任何布局竞争 | 曝光率稳定 |
用户主动关注 | 桌面卡片是用户主动添加的 | 信任度高 |
位置固定 | 只要用户不移除,一直在 | 用户习惯稳定 |
用户添加鸿蒙桌面卡片时,是主动选择了"我想在桌面上看到这个内容"。这种主动行为让推荐的信任度更高。
桌面卡片 vs 应用内推荐位的展示对比:
应用内推荐位(可能的位置): ┌────────────────────────────┐ │ 首页顶部 Banner │ │ ┌────────────────────────┐ │ │ │ 今日推荐:牛肉咖喱 │ │ ← 可能被下滑隐藏 │ └────────────────────────┘ │ │ 分类入口 │ │ 热门推荐 │ │ ...更多内容 │ ← 推荐位在中间,容易被忽略 └────────────────────────────┘ 鸿蒙桌面卡片: ┌────────────────────────────┐ │ 📱 鸿蒙桌面 │ │ ┌──────────────┐ │ │ │ 今天吃什么? │ │ ← 独立位置,不会被隐藏 │ │ 牛肉咖喱 │ │ │ │ 印度 · 亚洲 │ │ │ │ [浓郁香料] │ │ │ └──────────────┘ │ │ 其他应用图标 │ └────────────────────────────┘三、推荐更像系统服务,而不是页面模块
当推荐内容能出现在鸿蒙桌面时,用户感知到的是:
应用内推荐: "这个应用在给我推荐菜" → 被动接受 用户心理:应用想让我多停留 鸿蒙桌面卡片: "鸿蒙系统每天早上给我推荐一道新菜" → 系统服务感 用户心理:系统在主动服务我后者的产品语义是"系统在每天服务我",而不是"应用在推销内容"。这种感知差异让推荐更有说服力。
用户信任度对比:
维度 | 应用内推荐 | 鸿蒙桌面卡片 |
|---|---|---|
信息来源感知 | "应用给的" | "系统给的" |
信任度 | 中等 | 高 |
主动性 | 被动接收 | 主动添加 |
干扰感 | 可能有 | 低(用户主动选择) |
四、鸿蒙 Form Kit 的定时更新增强可信度
鸿蒙 Form Kit 的scheduledUpdateTime: "00:05"配置让卡片每天凌晨自动更新:
{ "name": "DailyRecommendCard", "displayName": "今日探味", "updateEnabled": true, "scheduledUpdateTime": "00:05" }这意味着用户每天早上看到的卡片内容都是新的。这种"每天自动更新"的行为强化了"系统在持续服务"的感知。
定时更新的技术实现:
鸿蒙系统会在每天 00:05 自动触发onUpdateForm():
// DailyRecommendFormAbility.ets onUpdateForm(formId: string): void { const item = getRecommendOfToday(); // 日期轮询算法 const bindingData = formBindingData.createFormBindingData({ dishName: item.name, dishRegion: item.region, dishImage: resolveImageResName(item.imageResName), dishId: item.id, dishHighlight: item.highlight, dishSummary: item.summary, }); formProvider.updateForm(formId, bindingData); }对比应用内推荐:
维度 | 应用内推荐 | 鸿蒙 Form Kit 卡片 |
|---|---|---|
更新频率 | 用户打开时 | 每天 00:05 自动 |
用户感知 | "可能还是昨天的" | "每天都是新的" |
更新行为 | 被动(用户触发) | 主动(系统触发) |
可信度 | 中等 | 高 |
为什么 00:05 是好选择:
凌晨更新不会打扰用户
用户早上解锁手机时看到的是新内容
避开了用户活跃时间段(18:00-23:00)
五、从卡片到应用的转化路径
鸿蒙桌面卡片不只展示内容,还引导用户进入应用:
用户看到桌面卡片:"牛肉咖喱 · 印度 · 亚洲 · 浓郁香料" ↓ 感兴趣,点击卡片 ↓ postCardAction → pageId='dish_detail' + dishId ↓ 鸿蒙 InsightIntentExecutorImpl 校验参数 ↓ IntentNavigationPlugin 桥接到 Flutter ↓ 用户进入菜品详情页 ↓ 查看详情、收藏、分享这条路径比应用内推荐更自然:用户先在桌面上被推荐吸引,再主动进入应用查看详情。
转化路径的代码实现:
// DailyRecommendCard.ets private openDishDetail(): void { postCardAction(this, { action: 'router', abilityName: 'EntryAbility', params: { pageId: this.dishId ? 'dish_detail' : 'explore', dishId: this.dishId, } }); }转化漏斗分析:
步骤 | 应用内推荐 | 鸿蒙桌面卡片 |
|---|---|---|
看到推荐 | 用户打开应用时 | 用户解锁手机时 |
产生兴趣 | 浏览首页时 | 看到卡片内容时 |
点击 | 在应用内点击 | 从桌面点击 |
进入详情 | 已在应用内 | 需要启动应用 |
完成转化 | 直接操作 | 启动后操作 |
六、鸿蒙 Form Kit 和应用内推荐的协作
食界探味的设计是:鸿蒙桌面卡片和应用内推荐互补,而不是替代。
鸿蒙桌面卡片: 触达层 → 在桌面上展示推荐 → 引导用户进入应用 目标:让用户知道"今天有新推荐" 应用内推荐: 深度层 → 在应用内展示更多推荐 → 引导用户探索更多 目标:让用户发现"还有更多选择" 两者的关系: 卡片是"钩子",吸引用户进入 应用内是"深度",让用户停留更久如果只有应用内推荐,触达效率低。如果只有桌面卡片,深度不够。两者结合才是最优解。
协作流程:
用户看到桌面卡片 → 点击进入应用 ↓ 应用内展示"今日推荐"详情 ↓ 同时展示"你可能还想试"更多推荐 ↓ 用户收藏/分享/继续探索 ↓ 明天桌面卡片更新 → 用户再次被吸引七、鸿蒙卡片内容设计原则
基于食界探味的实践,鸿蒙桌面卡片的内容设计应该遵循以下原则:
原则 | 说明 | 示例 |
|---|---|---|
简洁 | 菜名 + 地区 + 一句话亮点 | "牛肉咖喱 · 印度 · 浓郁香料" |
有吸引力 | 让用户想点击了解详情 | 突出口味亮点 |
每天变化 | 保持新鲜感,避免用户忽略 | 日期轮询算法 |
不要太长 | 桌面显示空间有限 | 控制在 3-4 行 |
包含点击入口 | 用户点击后能进入应用 | postCardAction |
食界探味的卡片内容结构:
┌──────────────────────────────────┐ │ ┌──────────┐ ┌────────────────┐ │ │ │ │ │ 今天吃什么? │ │ ← 引导语 │ │ 菜品 │ │ 牛肉咖喱 │ │ ← 菜名(大字) │ │ 图片 │ │ 印度 · 亚洲 │ │ ← 地区 │ │ (144w) │ │ [浓郁香料] │ │ ← 口味亮点 │ │ │ │ 椰香与香料... │ │ ← 一句话介绍 │ └──────────┘ └────────────────┘ │ └──────────────────────────────────┘关键代码位置
文件 | 作用 |
|---|---|
| 鸿蒙卡片生命周期 |
| 推荐数据 |
| 鸿蒙卡片配置 |
应用内推荐 vs 鸿蒙 Form Kit 卡片对比
维度 | 应用内推荐 | 鸿蒙 Form Kit 卡片 |
|---|---|---|
触达顺序 | 先打开应用,后看推荐 | 先看推荐,后决定是否进入 |
展示位置 | 应用首页某个模块 | 系统桌面 |
曝光次数 | 用户打开应用时 | 用户每次解锁手机时 |
用户感知 | "应用在推荐" | "系统在服务" |
更新方式 | 用户触发 | 系统定时自动 |
信任度 | 被动接受 | 主动添加 |
转化路径 | 已在应用内 | 从桌面点击进入 |
适合场景 | 深度推荐、多维展示 | 快速触达、每日一推 |
常见坑
推荐卡片只是把首页推荐搬到桌面,没有重新思考触达价值— 应该重新设计推荐内容和展示方式
桌面推荐和应用内推荐完全两套逻辑— 应该保持内容语义一致
卡片内容更新太频繁或完全不更新— 每天一次是合理频率
只有卡片展示,没有应用内承接— 用户点击后应该进入有意义的页面
没有配置 updateEnabled— 鸿蒙系统不会触发定时更新
卡片内容太长,桌面显示不全— 应该精简为"菜名 + 地区 + 一句话亮点"
卡片点击后跳转到首页而不是详情页— 应该直接跳转到推荐内容的详情
没有处理卡片点击后的应用未安装情况— 应该有降级方案
卡片内容和应用内推荐内容不一致— 用户会感到困惑
可复用模板
鸿蒙 Form Kit 配置模板
{ "name": "DailyRecommendCard", "displayName": "今日推荐", "description": "每日推荐一道精选内容", "updateEnabled": true, "scheduledUpdateTime": "00:05", "defaultDimension": "2*4" }推荐触达路径对比模板
应用内推荐: 用户 → 打开应用 → 浏览首页 → 看到推荐 → 点击 鸿蒙桌面卡片: 用户 → 解锁手机 → 看到桌面卡片 → 点击 → 进入应用 鸿蒙卡片的优势: - 触达路径更短 - 曝光次数更多 - 用户感知更强卡片内容设计模板
鸿蒙桌面卡片的内容应该: ✅ 简洁(菜名 + 地区 + 一句话亮点) ✅ 有吸引力(让用户想点击) ✅ 每天变化(保持新鲜感) ❌ 太长(桌面显示不全) ❌ 太复杂(用户看不懂) ❌ 不变(用户会忽略)卡片数据分析模板
评估鸿蒙卡片效果的关键指标: □ 日均曝光次数(桌面卡片 vs 应用内推荐) □ 点击率(桌面卡片 vs 应用内推荐) □ 转化率(桌面卡片 → 应用内详情页) □ 用户留存率(添加卡片的用户 vs 未添加的) □ 卡片移除率(用户是否移除卡片)本篇总结
鸿蒙 Form Kit 让"今日推荐"从应用内模块变成系统级触达入口。这比单纯在首页放一个推荐位更有说服力,原因在于:
触达顺序变了— 推荐先于应用被看到,路径更短
展示位置独立— 不和应用内布局竞争,位置稳定
系统服务感— 用户感知到的是"系统在每天服务我"
定时更新增强可信度— 每天自动更新,强化"持续服务"感知
互补而非替代— 鸿蒙桌面卡片是"钩子",应用内是"深度"
对内容型应用来说,这种从应用内到系统桌面的入口升级非常值得做。它不只是技术展示,而是真正改变了推荐内容的触达方式。
