小程序进阶之路:跨平台开发避坑指南( 四 )

  • 卡片的属性 features 中需要声明该卡片会用到的系统 API,这些 API 在外层应用的 features 中已经声明过,此处需要再次声明,否则不能使用 。
2)应用类型卡片接入(以 vivo 为例)
 
小程序进阶之路:跨平台开发避坑指南

文章插图
 
负一屏卡片线上效果图
a) 卡片的声明
在 manifest.json 中的除了上面提到的配置之外,对于卡片需要注意卡片属性中的以下字段:
  • params 字段用来配置卡片更为详细的参数,及特有的支持参数,需要按照文档进行配置 。
  • targetManufactorys 为对应厂商适配标明该卡片匹配的厂商,具体参看文档 。
b) 卡片的开发的不同点(所使用的 API 及组件为其子集具体参看官方文档)
  • vivo 卡片是单独工程,不能配置在快应用工程中,需要另外建立新的工程 。
  • 对应包打出也需要单独配置和主快应用不相同,需要用到 vivo 给出的相关工具 。
  • 卡片有单独设置主题的功能 。
  • 卡片有折叠功能 。
  • 卡片视觉稿由内容提供方给出 。
  • 卡片开发只需开发内容区域,title 区域无需开发(由 vivo 负一屏容器完成绘制)同时意味着下半部分的圆角需要自己绘制 。
  • 上传卡片包时需要提供对应的 icon 。
c) 卡片调试
卡片调试需要使用 vivo 方提供的工具打出来的 rpk 文件,同时需要使用 vivo 方提供的专用内核及容器,具体按照文档执行即可 。
【小程序进阶之路:跨平台开发避坑指南】d) 卡片提交
首先需要完成自测,自测之后需要使用 vivo 提供的专用打包工具,打包之后到 Jovi 后台地址提交,同时需要提供一个应用图标 。
4 负一屏服务类型卡接入
以下以 OPPO 服务卡接入为例:
触发场景:用户在淘票票快应用中购票之后,在影片上映前的固定时间内触发该卡片内容展示,进而提醒用户取票,即消息触发场景 。
小程序进阶之路:跨平台开发避坑指南

文章插图
 
OPPO 负一屏卡片线上效果图
1)OPPO服务卡卡片的声明
在 manifest.json 中的 router 字段中添加 widgets 字段,并在该字段中添加对应的配置,与 OPPO 应用卡片完全相同 。
2) 卡片开发
OPPO 服务卡开发涉及用户关心数据状态改变触发卡片的场景,因此整体需要解决以下几个问题:首先是触发时机问题,然后是要确认触发的卡片 ID,还要解决要触发哪一个 OPPO 用户 。
3)OPPO 服务卡整体开发流程
前提:要开通 OPPO 账号服务,保证在快应用中能够拿到 OPPO 当前登录的用户的授权码 。
a) 账号绑定,即 OPPO 账号和快应用账号的绑定
账号绑定的入口:该入口由 OPPO 负一屏容器统一提供,位置如下图左:
小程序进阶之路:跨平台开发避坑指南

文章插图
 
OPPO 服务卡绑定入口及自定义绑定页面
该入口对应一个快应用内的绑定页面 。
b) 绑定页面开发,该页面是快应用页面,主要提供绑定功能
作用是让内容商服务端知道自己的账号和 OPPO 测的对应关系,及换取发消息到 OPPO 端时所需要的 TOKEN 值 。
c) 触发对应 OPPO 用户负一屏的卡片
内容服务商在用户关心数据变更时,触发推送消息到 OPPO 服务端,该消息按 OPPO 文档约定,带上对应的 TOKEN 值,要触发的卡片 ID,消息内容,要触发的时机及时长,OPPO 服务端会根据该 TOKEN 找到对应的用户下发消息,并在需要的时机拉起对应 ID 的卡片 。
d) 卡片消失
由发送消息中定义的卡片时长决定,展示时间到点后,负一屏容器会自动移除该卡片 。
e) 调试
  • 首先,需要 OPPO 服务端参与
  • 其次,需要 OPPO 提供负一屏开发环境版本,以保证 OPPO 服务端日常环境的数据能够到达 。
  • 再次,需要提供初步测试完成包含服务卡的 rpk 到 OPPO 侧,把该 rpk 配置到 OPPO 对应的环境 。
f) 提交市场
测试完成可以在 OPPO 后台提交该卡片,同时同步正式生成的卡片标示到自己的服务端用来推送消息使用 。
g) 综上涉及各端的开发工作如下:
  • 首先,涉及服务端账号绑定开发,TOKEN 刷新维护,触发的消息推送到 OPPO 。