限制与规则
接入内容的数量、更新频率及文字长度限制。超出字段上限时,构造方法会报告错误。
数值上限
| 项目 | 上限 |
|---|---|
| 内容编号 | 1 至 128 个字符 |
| 按钮编号 | 1 至 64 个字符,不得使用保留编号 |
| 卡片标题、发送者、歌名 | 128 个字符 |
| 说明、歌手 | 256 个字符 |
| 正文、消息内容 | 4096 个字符 |
| 歌词、胶囊右侧文字 | 512 个字符 |
| 胶囊小标题、横屏短文字 | 32 个字符 |
| 按钮文字、图标按钮说明 | 32 个字符 |
| 短文本 | 32 个字符。包括数值、码、明细名称与数值、标签文字、对称名称 / 比分 / 小字 / 中间文字、进度两端文字、阶段名 |
| 对称下方小字 | 128 个字符 |
| 读屏说明 | 256 个字符 |
| 收尾文字 | 128 个字符 |
| 回复输入 | 2000 个字符,输入区域最多显示三行 |
| 一条内容全部文字合计 | 8192 字节(UTF-8) |
| 明细 | 1 至 6 格 |
| 阶段名 | 2 至 16 个 |
| 位图 | 宽高 1 至 2048 像素,占用内存不超过 8 MB |
| 播放速度 | -16 至 16 |
| SDK 内容数量 | 每个应用 3 条,排队内容也计入;星河岛自行读取的同应用通知与音乐不占用此名额 |
| 提交频率 | 每个应用每秒 10 次(start、update、end 均计入) |
| 自动展开 | 每个应用 10 秒内 1 次 |
| 显示时长 | 由应用结束的内容最长 8 小时 |
字符数按 UTF-16 计。
显示规则
- 通信版本:接入库和星流必须使用通信版本 7;低于或高于 7 的版本均不建立连接。
- 按钮排法:底部文字按钮默认每排三个、各占三分之一,四个时平均分两排,一排里只剩一个时占半排居中。应用可用
setButtonLayout按卡修改每排 1 至 4 个、一排里的分宽方式、只剩一个时的占宽与对齐;设置只在 0.1.2 及以上的星河岛生效,旧版仍按每排两个排。圆形按钮、底部图标按钮与开关不受影响。 - 内容名额:每个应用最多保留 3 条通过 SDK 提交的内容,包括暂未显示的排队内容;星河岛自行读取的同应用通知与音乐不占用此名额。
- 连续更新:同一事项连续更新时显示最新内容,期间提出的自动展开要求保留一次,仍受每个应用 10 秒内最多一次的限制。
- 回复保护:编辑或发送回复期间,新消息不替换正在回复的卡片。回复只交给对应内容的发送应用;未交出的文字保留为草稿。
- 前台:用户开启「进入对应应用时隐藏」(默认开启)时,本应用在前台期间,它的内容不在主岛和副岛上显示,离开应用后立即恢复;用户关闭此项后,内容在本应用内照常显示。应用不能更改此行为。
- 排位:外部应用的内容最高与未到点的计时同档,排在来电、通话、刚到的新消息和导航之后。消息卡片按新消息排位,刚送达时优先显示在主岛,停留一段时间后让位。
- 内容种类:音乐卡片属于「音乐」,消息卡片属于「消息」,强调卡片中的计时属于「计时」,其余卡片属于「实时活动」。用户在星流中关闭「星河岛歌词」后,音乐卡片的提交返回
KIND_DISABLED;其余种类不受星流的内容开关影响,只由「外部应用」页按应用管理。 - 歌词行:歌词行随「星河岛歌词」功能提供;该功能未开通时,音乐卡片照常显示,歌词行不显示。
- 外部应用:用户可在星流「外部应用」页关闭某个应用的内容;关闭后提交返回
SOURCE_DISABLED,已显示的内容被结束(onEnded原因为REMOVED)。 - 显示应用来源:用户可在星流「显示规则」页关闭「显示应用来源」,该开关默认关闭。关闭后卡片不显示来源栏;卡片左侧没有内容图片时显示应用图标。
- 收起与召回:用户在胶囊上划动可把内容从星河岛上收起,应用收到
onDismissed,内容仍然保留,见用户收起内容。用户开启「长时间未操作时收起」或「停留后收起」时,星河岛也会在设定时间内没有操作时自动收起内容;此情形不调用onDismissed。 - 锁屏:见
LockScreenVisibility。 - 自己的通知:仅关联当前用户中本应用自己的通知;对应内容保留期间,该通知不单独上岛。只有内容显示在主岛或副岛且开启「屏蔽系统横幅」时才屏蔽横幅。内容结束后,通知下次更新时再按通知规则处理。
- 横屏:胶囊纵向显示,数字与英文按组排列,保留完整数值、单位或短状态,不截取卡片标题。应用可用
setLandscapeText提供可在四行内完整显示的短文字;消息显示来源应用名称,音乐优先显示波形。空白、图像、计时与进度环不由该文字替换,胶囊最右端的附加图像或进度环在横屏隐藏。 - 消息更新:设置了
setPostedAt时,发送时间变化才视为新消息;未设置时,发送人或消息正文变化才视为新消息。同一消息的按钮、图片等更新不重新计算「消息主岛停留时长」。 - 音乐去重:同一应用同时存在 SDK 音乐卡片与星河岛自行读取的音乐时,只显示 SDK 音乐卡片,另一份进入等待队列。SDK 音乐卡片的排位最高仍与未到点的计时同档。
- 内容隔离:SDK 内容与星河岛自行读取的通知、音乐分别管理;即使内容编号相同,也不会互相替换。应用只能更新、结束自己通过 SDK 提交的内容。
- 文字长度:SDK 按各字段上限检查文字,超长时抛出异常。星河岛接收端截短文字时保留完整字符与组合表情,不拆开肤色表情、国旗或组合表情。
- 收尾显示:收尾仅在原内容仍保留时出现,约 1.6 秒后消失;排位最高与未到点的计时同档,并遵守原内容的锁屏可见范围与内容开关。
不开放的能力
- 导航与通话模板,以及导航排位。
- 将内容标记为独占。
- 动态图标与自定义动画。
- 由应用自行绘制整张卡片。
- 冒充系统提示的内置符号(来电、麦克风、摄像头、录屏、人脸与解锁)。