一、接入问题
1、焦点通知是什么?
焦点通知是跟随Xiaomi HyperOS产生的一个独特功能,它集通知、活动等重要信息于一体,使这些信息更加方便、直观地展示在用户面前。其设计可以增强用户与手机的互动体验,让用户能够更加轻松地获取手机的状态信息,并快速进行相应的操作。
2、焦点通知接入方式有哪些?
开发者有两种接入方式:详细参考文档:
- 客户端接入
- MIPUSH 接入
3、超级岛是否支持OS1、OS2?
OS1需要单独适配,且版本会不断更新,当前阶段不建议接入了。OS2可根据不同模板单独适配
4、如何申请焦点通知权限?
【焦点通知申请流程】:
开发者发起申请邮件至 mipush-permission@xiaomi.com
- 邮件模板:
- 主题:【申请开通小米焦点通知使用权限】 -yymmdd-「APP名称」
- 正文:
【应用信息】:应用名称、包名、appid
【channel信息】:channel_id、channel名称、channel描述
【公司主体】
【push负责人/对接人】
【联系方式】
【所申请的通知权限】:焦点通知
【申请内容】:
(1)接入场景的详细说明:含接入场景、通知的展示时机、刷新节点。
- 一次性提醒类通知:需明确通知出现时机、消失时机、通知展示的内容
- 实时更新类通知:需明确通知出现时机、消失时机、通知展示的内容,并在节点提供变更信息。同时需说明该场景的变更频次,预计延续的时长
(2)产品方案:通知触发场景截图、焦点通知设计效果图及交互设计。
使用期限:(*长期使用统一申请至当年12月31日,到期前2周重新发起申请)
【使用申明】我方保证申请该权限仅用于以上提及的功能,不会用于广告、恶意导流及其他影响用户体验的功能。若应用出现违反《小米推送运营规范》的行为且无整改措施,同意被关闭应用的推送权限。
5、拖拽分享支持哪些方式?
微信、QQ、短信、浏览器,以卡片、文字、链接形式展示,暂不支持小程序分享。目前适合打车、外卖场景分享。
6、焦点通知消息需要应用保活才能发嘛?
走MiPush通道下发,和发送普通消息一样,应用进程杀死之后,只要从MiPush下发消息,只要设备联网,都可以正常收到消息。
二、模板样式
1、使用文档上的“OS2/OS3相同模版 (适配OS3自动兼容OS2)”发送消息,需要携带ticker字段嘛?
如果你们已经适配OS2,本次使用OS3这套给OS2设备发消息不需要携带ticker这个字段,也能展示。如果没有适配OS2,接了OS3,没有传入ticker这个字段,状态栏不会展示。
2、超级岛背景色可以自定义嘛?
摘要态点击展开的卡片,背景色只能是深色。通知栏可以浅色或深色。
3、大岛A区、B区,小岛展示样式是什么?


4、模板源文件支持figma格式嘛?
支持的
5、超级岛上展示的文字有限制嘛?
正常岛上文案左右各4个文字(A区、B区),假如“骑手正在送货”这种,可以使用图文组件,最后两个汉字可缩小展示。
三、技术问题
1、如何在应用内获取焦点通知开关?
查询当前应用是否开启焦点通知权限
// 耗时操作
// OS1之前无焦点通知功能的版本,返回false
// OS1 OS2 OS3上,焦点通知权限关闭时,返回false,焦点通知权限打开时,返回true
public static boolean hasFocusPermission(Context ctx) {
boolean canShowFocus = false;
try {
Uri uri = Uri.parse("content://miui.statusbar.notification.public");
Bundle extras = new Bundle();
extras.putString("package", ctx.getPackageName());
Bundle bundle = ctx.getContentResolver().call(uri, "canShowFocus", null, extras);
canShowFocus = bundle.getBoolean("canShowFocus", false);
} catch (Exception e) {
}
return canShowFocus;
}2、通过MiPush下发焦点通知,API如何携带焦点通知参数?
回复:把下面的这些参数在extra中传递即可。
miui.focus.param
miui.focus.pic_xxx
miui.focus.pic_yyy
.....
场景方案确认后,开通焦点通知权限,可以API接口:vip.api.xmpush.xiaomi.com
JAVA SDK方式:Sender sender = new Sender(APP_SECRET, true);
3、payload限制是包含整体message还是miui.focus.param
miui.focus.param,大小不超过3072字节
4、如果timeout参数传0会是什么效果,会一直不下岛嘛
timeout时间到了之后通知会消失,岛也会消失。传 0,使用默认值,720minh 后消失。可以传-1,5秒后消失。
5、cancel传true是会直接清理掉焦点通知和超级岛吗?
是的,会移除掉焦点通知和超级岛。
6、timeout和islandTimeout区别?
timeout 的单位是 min ,为焦点通知的消失时间
islandTimeout 的单位是 s,为岛的消失时间
7、MIPUSH 接入图片要求有什么?
- 系统为通知下载图片所消耗的流量,会分发计算到对应应用上;
- 通知单张图片的大小不得超过100k,超过100k则不下载,视为下载失败;
- 图片下载全流程最大等待180s,超时则下载失败;
- 通知图片链接必须是Https格式,否则按下载失败处理;
- 图片宽高比在 1.78(16:9) - 1(1:1)之间
- 单个通知图片的数量不得大于10张,若超过6张,XMSF只会按顺序下载10张,其他不下载
四、其他
1、是否涉及收费?
焦点通知旨在提升用户体验,暂不涉及收费。
2、小折叠需要单独适配嘛?
如果业务使用的标准模板就不需要适配,小米会自行适配。
3、AOD历史有嘛?还是OS3新增字段?
新增字段
4、请问焦点通知降级成OS1的PUSH后,支持自动消失么?
暂不支持,建议使用timeout进行消失。
5、【开关】默认开关状态是否为开?
应用通知权限默认关闭,用户首次开启应用会询问是否开启通知权限,如果用户开启通知权限,则焦点通知权限也会默认开启。你们开发完成后,平台会配置权限,权限开通之后,就能正常发送焦点通知了
6、如何抓取284日志?
开发者选项 打开时间悬浮窗,同时设置日志最大缓冲区,然后进行284log抓取。
284 log 抓取方法:1. 问题复现之后,记录消息id和消息点击时间点(有的话)2. 电话拨号 *#*#284#*#* 3. 过一会儿(2-3分钟),在sdcard/MIUI/debug_log下会生成一个日期命名的zip log文件,请把日志文件、消息id和问题复现时间点发给我们。