王尘宇王尘宇

研究百度干SEO做推广变成一个被互联网搞的人

vivo信息流推广平台:Jovi卡片服务介绍《NO.5》

九、卡片主题模式


不同的vivo手机系统版本,对卡片的显示样式(背景、圆角等)要求不一样,所以开发者须对卡片做好主题模式配置,以达到卡片一次开发,适配所有手机系统版本!


开发者接入主题模式时,不需自己写具体的值,需要按照要求填写对应的主题字段即可,卡片运行时系统会自动替换成对应的具体值。


支持以下主题配置字段:


字段

类型

说明

theme.backgroundColor

String

卡片背景颜色

theme.borderBottomRadius

String

卡片背景圆角


使用简例1:设置卡片圆角/背景主题样式


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》


注意:


使用 less 后代码编译失败,因为theme.xxx 是Jovi卡片的保留字,less 不能识别,需要做转义:可写为 ~"theme.xxx",如下:


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》


调试器上预览主题模式:


把主题样式配置存储到theme.txt的文件中,在卡片工程的src目录下新建params文件夹,并把theme.txt放到params目录,如下图示,打包卡片时主题文件theme.txt会被一起打包到rpk中,调试器加载卡片时,会读取src/params/theme.txt文件内容,并替换卡片中主题字段对应的值。



theme.txt配置示例:


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》



十、折叠功能


卡片可以使用折叠功能,用户点击title区的切换按钮可以进行大卡片和小卡片的切换,当卡片缩小时,仅显示卡片的核心信息,当切换成大卡片时,可以显示卡片更多详细信息。


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》


用户点击切换按钮时,会自动执行onFoldCard方法,开发者可以在这个方法中执行相应折叠的操作。折叠动画必须使用以下简例中的动画。


注意


卡片需要设计成默认显示小卡片,只有用户点击后才能展开大卡片。


使用简例:


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》

十一、卡片初始化参数


客户端App在加载卡片的时候,可以向卡片传递加载参数,初始化参数传递只在卡片加载时执行一次。卡片在onInit生命周期中能读取到客户端传进来的初始化参数;在调试环境中,以调试器代表真正的客户端。


1.模拟传递初始化参数


把传递的参数放到命名为params.txt的文件中,在卡片工程的src目录下新建params文件夹,并把params.txt放到params目录,如下图示,打包卡片时会把参数文件一起打包到rpk中,调试器加载卡片时,会读取src/params/params.txt文件内容,并传递给卡片。


模拟加载参数格式,“cardData”对应的值代表宿主传给卡片的数据:


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》


2.卡片接收初始化参数


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》


十二、卡片与宿主客户端App通信


卡片和宿主客户端可以利用system.hostconnection接口相互发送消息进行通信,发送消息只能在卡片onshow后才能发消息;在调试环境中,以调试器代表真正的客户端。


1.调试器模拟发送消息


把客户端要发送的消息放到命名为message.txt的文件中,在卡片工程的src目录下新建params文件夹,并把message.txt放到params目录,如下图示,打包卡片时会把参数文件一起打包到rpk中,调试器加载卡片时,会读取src/params/message.txt文件内容,调试器会自动显示发送消息的按钮,点击后调试器会把消息发送给卡片。


2. 卡片发送和接收消息


接口声明


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》


导入模块


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》


接口定义


字段

类型

说明

send

Function

卡片主动发送消息给宿主apk,具体数据协议需要卡片与宿主相互约定。注:发送消息不能在生命周期函数onInit/onReady中调用

registercallback

Callback

注册接收宿主发送消息的回调,当宿主发送消息时此回调可以收到消息。注册应尽早注册,可以在生命周期函数onInit中注册


发送消息:


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》


注册接收消息:


vivo信息流推广平台:Jovi卡片服务介绍《NO.5》




相关文章

评论列表

发表评论:
验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。