从人找服务到服务找人
传统应用是用户记住名字、找到图标、点进去。鸿蒙想换一种方式:系统理解用户当下的意图,主动把相关服务推到眼前。用户看到航班信息卡片,直接就能值机;看到餐厅推荐,直接就能导航过去。
意图框架的本质,是让服务在对的时机、对的场景自己被发现。
这篇把意图框架与系统服务集成走一遍。
意图框架是什么
意图框架是鸿蒙提供的一套让系统理解应用能力的机制。你把应用能做什么、用什么数据能触发,登记成结构化的意图描述;系统在合适的场景据此分发,把你的服务推给用户。
意图框架速查
- 意图描述你能为什么场景服务。
- 元数据告诉系统用什么数据触发你。
- 智慧服务系统据此主动分发。
智慧服务与场景入口
智慧服务是意图框架面向用户的那一面。它把来自系统、语音、场景的意图,变成卡片、建议和快捷入口,出现在搜索、负一屏、语音助手里。用户不用记住应用名,靠场景就能触达。
// 登记可被系统分发的服务
{ "service": "flightCheck",
"trigger": { "type": "flightInfo" } }
系统识别到航班信息,就会拉起你登记的值机服务。
服务元数据
元数据是意图框架的关键。它告诉你的服务接受什么输入、展示什么信息、点进去跳哪里。写得越清楚,系统分发得越准。
跨应用与系统能力
意图框架还能调用系统能力与跨应用联动。一个服务可以接起另一个应用给的数据,端到端把场景走完,用户在系统层面感受不到应用之间的割裂。
调试与上架
开发时用调试工具看你的意图有没有被系统正确识别、在哪些场景出现。上架后持续看分发数据,优化元数据让匹配更准。
- 元数据写清楚触发条件。
- 调试看场景分发是否命中。
- 上架后按数据迭代。
实战:登记一个订票意图
登记一个能处理订票请求的服务。
{ "service": "bookTicket",
"intent": "book",
"param": ["city", "date"] }
用户提到要订某地某天的票,系统就把你的服务推上去。意图框架做到这份上,应用不再靠名字被想起,而是靠场景被需要。