文档开发者中心
我的

卡片类快服务接入指南(一)

1. 概述


开发者使用快应用技术开发快服务卡片,用户点击后直接跳转快服务卡片来获取服务信息。


卡片类服务创建步骤:


[步骤一]注册为华为开发者
创建华为开发者联盟账号,成为开发者,参考:注册认证。

[步骤二]开发卡片类服务
对于需要进行事件通知的快服务,需要进行账号绑定和事件通知接口的开发。

[步骤三]接入卡片类服务
在华为开发者联盟的快服务智慧平台注册卡片类服务相关信息。

2. 服务接入流程

2.1 接入准备

2.1.1 获取AppId

登录开发者联盟,创建免安装应用及获取AppId,请参考:创建快应用。

2.1.2 开发快应用和卡片

2.1.2.1 开发IDE

通过快应用开发IDE开发快应用和相应的服务卡片

  1. 安装快应用开发IDE,请参考:安装快应用IDE。

  2. 开发快应用,请参考:创建项目。

  3. 开发卡片

  • 开发的卡片必须满足华为卡片设计规范,请参考:卡片类快服务开发指南。

  • 卡片开发,请参考:卡片开发。

  • 卡片开发中增加回调的规范要求。


2.1.2.2 卡片端实现

1、DE使用:华为快应用IDE需要使用1.1.5以上的版本



2、Manifest.json中设置 “minPlatformVersion”:1020(最低设置1020以上),同时在festures中导入card.message

'minPlatformVersion': 1020,'features': [{        'name': 'card.message'    },


3、在卡片实现代码中先import message from ‘@card.message’,然后再调用方法message.sendMessage()

(1)示例代码:

import message from '@card.message'module.exports = {    data: {        messageObj: {            'result': {                'code': '0',                'desc': 'success'            },            'data': {}        }    },    //卡片发送回调给app端    click1: function() {        this.sendCardMessage(this.messageObj);    },    sendCardMessage: function(msg) {        try {            message.sendMessage({                    msg: JSON.stringify(msg)                },                success => {                    console.log(msg);                }            )        } catch (error) {            console.log(‘error’, error);        }    }}

(2)jsonObject的规范:


消息第一级结构第二级结构类型必选/可选字段说明
CardLoadResult





result
object必选处理结果


codestring(10)必选

结果码。用于返回给调用方,由调用方(华为)根据结果码进行后续处理。例如资源加载失败时,调用方则不会加载卡片。

0 – 成功

1000 – 资源加载失败

9999 – 其他未约定的错误



descstring(256)必选结果的补充描述,用于辅助问题定位。

data
Object可选从卡片传给宿主的数据。预留字段。


(3)样例:

卡片加载成功

{    'result': {        'code': '0',        'desc': 'success'    },    'data': {}}

卡片加载失败(资源加载失败)

{  'result': {    'code': '1000',    'desc': 'Connect xxxx time out.'  }}

其他未约定的错误

{    'result': {        'code': '9999',        'desc': 'xxx error'    }}


2.1.2.3 App端实现


1、实现接口com.huawei.fastengine.fastview.ICardMessage

@Overridepublic void onCardMessage(FastViewInstance fastViewInstance, String json) {    // json为卡片回调给app的数据,}


2、每张卡片对应一个FastViewInstance实例,注册消息回调监听registerCardMessage(ICardMessage iCardMessage)

FastViewInstance instance = FastViewInstance.builder().setContext(mContext).registerCardMessage(this).build();


2.1.3 应用市场上传RPK包


1、登录“华为开发者联盟”,点击“管理中心”:


2、在“我的产品”,点击要上传RPK包的产品名称,进入到上传RPK包页面:


3、点击“上传RPK包”,弹出上传RPK包的弹出框,如下图所示:


4、点击“选择文件”,选择打包路径上传成功后点击“确定”,上传RPK包。


5、基础信息设置。


6、保存或提交审核。


2.1.4 开发事件通知接口(可选)

对于需要向某个用户发送事件通知消息的快服务,需要先完成账号绑定和事件通知完相关开发。如用户使用机票服务预订了一张机票,机票服务会在飞机起飞前半小时到起飞后半小时为用户推送登机提醒卡片。


2.1.4.1 概述

开发者通过调用华为快服务智慧平台事件通知接口,为某个终端用户触发快服务信息展示。如开发者向华为快服务智慧平台发送某个用户登机提醒通知消息,当该用户打开华为产品时,则可看到一张登机提醒的卡片。


2.1.4.2 开发前准备

(1)在开发者联盟上申请AppID。请参考:

(2)快应用及服务器实现了账号绑定功能。请参考:账号绑定。


2.1.4.3 开发流程

用户订单事件触发快服务卡片的流程示例如下:


(1)开发者服务器通过实现【INF5】接口获取应用级AccessToken,使用应用级AccessToken完成开发者服务器访问华为服务器的认证,获取调用华为快服务智慧平台事件通知接口的访问权限。参考:卡片类快服务开发指南-章节12. 快应用卡片API说明【INF5】。

(2)开发者服务器将用户的订单事件发送给华为快服务智慧平台,事件信息里的主要参数:应用级AccessToken事件名称(用于和卡片唯一匹配)、用户openID、卡片参数(华为快服务智慧平台透传给卡片)。参考:卡片类快服务开发指南-章节12. 快应用卡片API说明【INF8】。

(3)华为快服务智慧平台服务器收到第三方的事件后,根据事件名称匹配卡片,将匹配的卡片放入缓存中。

(4)用户打开华为产品,产品从华为快服务智慧平台服务器获取用户的卡片信息(卡片模板和卡片参数),获取时校验卡片有效期。

(5)华为快服务智慧平台SDK将卡片参数传给卡片模板。

(6)卡片初始化方法(onInit)中,获取卡片参数(通过this.key获取),调用开发者服务器的接口获取卡片内容,并向用户展示。


2.2 创建快服务


1、登录华为开发者联盟,点击“管理中心” > “快服务”选择“华为快服务智慧平台”。


2、点击“卡片类”快服务创建卡片,选择服务分类和关联应用,输入快服务名称后点击“确定”。


3、在“配置/交互模型”菜单下,点击“添加”快服务的触发意图。


4、创建系统推荐意图(可选)


说明:

  • 意图名称:开发者根据业务含义填写意图名称。

  • 事件标识:对应第三方服务发送给快服务服务器事件通知接口里的eventName,用于匹配一张卡片。

  • 开始时间:卡片展示开始的时间描述说明。

  • 结束时间:卡片展示结束的时间描述说明。

  • 提前/实时/延后:快服务基于这个值,根据事件通知接口里的effectiveTime 计算卡片展示的开始结束时间。


场景举例:

机票服务会在飞机起飞前3小时为用户推送登机提醒卡片,飞机起飞后半小时该卡片消失。机票服务发送给快服务服务器的事件通知接口里,eventname= BoardingReminder ,effectiveTime=飞机的起飞时间(如2018-01-01 18:00:00)。

事件定义如下:

  • 【事件名称】:BoardingReminder

  • 【开始时间】:飞机起飞前3小时 【提前】:180 分钟

  • 【结束时间】:飞机起飞后30分钟 【延后】: 30 分钟

卡片展示的开始时间和结束时间为: 2018-01-01 15:00:00 - 2018-01-01 18:30:00


5、创建用户查询意图(可选)。

关键字:开发者定义搜索关键字,当前端侧用户输入这些关键字搜索时,快服务分发平台就可以匹配到“输出交互方式(Output)”中的卡片展示给用户。


6、在“配置/账号授权”菜单下,配置账号授权信息。


说明:

  • 授权类型:授权码模式

  • 授权地址:华为向开发者服务器申请授权请求的地址;

  • Token地址:获取Token的地址;

  • Scope:申请的权限范围;

  • 回调地址:完成授权后,开发者服务器调用该地址重新向华为快服务智慧平台同步用户的AT/RT。


7、在“配置/服务信息”菜单下,定义服务信息。

根据提示完善服务信息:


说明:

  • 服务版本: 快服务的版本号。

  • 服务名称:可以给用户提供的服务名称,比如华为音乐。

  • 一句话介绍:服务的简介,简洁明了,用于展示在服务列表中;比如图中的“关注球队,实时展示赛事信息和动态”。

  • 详细描述:服务的具体介绍,描写该服务提供的具体能力。

  • 服务图标:和服务贴合的图标展示,用于展示在服务列表中;比如图中的“sina”的服务图标。

  • 账号关联:进行账号绑定的跳转地址,对应快应用里的账号绑定页面地址。

  • 服务分类:定义快服务服务分类,可以多选。

  • 版本描述:快服务服务信息版本描述。

  • 内容数据同步:定义同步服务内容数据,用于快服务平台做内容搜索关键字。

  • 保存:如果快服务还没有在测试工具做测试,先点保存,然后去快服务发布页面上触发测试发布,参见测试快服务。快服务在测试工具上完成了测试之后,再回到此页面点击“提交审核”提交给华为运营人员审核。

  • 提交审核:直接提交审核,即可选择是否跳转到快服务发布页面。


未完待续……

点赞
1
收藏
回复
1
分享
举报
浏览1720 编辑于2019-10-10 03:16未知归属地
全部评论
最多点赞
最新发布
最早发布

自占沙发,不了解的开发者可以看看啊

1楼回复于2019-10-10 09:16 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

目录 收起
2.1 接入准备
2.1.1 获取AppId
2.1.2 开发快应用和卡片
2.1.3 应用市场上传RPK包
2.1.4 开发事件通知接口(可选)
2.2 创建快服务
了解社区公约,与您携手共创和谐专业的开发者社区。