这是用户在 2024-5-4 15:33 为 http://wiki.al.com/pages/viewpage.action?pageId=87787131 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?
页面树结构
转至元数据结尾
转至元数据起始

需求背景

目前push到达率=到达量/有效设备量≈65%,触达率=到达量/计划发送量≈31%。安卓系统触达率远低于iOS,主要原因之一为产商系统限制。

如小米系统存将APP推送进程清除后,Firebase能发送但不能到达,考虑接入Mi push提升到达率。

三方收费平台moengage(印尼tokopedia、kredivo等同行在用)推出的push增强功能中,也是通过集成小米push、华为push来提升到达率。aku华为用户很少,因此自行集成小米成本更低。

小米通道测试实验数据:小米推送通道试验


需求目的

客户端(支持新系统):Android  接入小米通道SDK并上报Token和设备信息

Push中台:对接小米push Api 并支持通道自动路由,获得数据回执,并上报大数据

Console消息后台:  消息后台查看详细兼容小米通道


需求列表

端口
需求点
新版安卓APP

接入小米sdk,上报Token,配置消息格式,UI与交互,兼容FireBase

Push中台

对接小米Push Api ,多Token管理,支持通道自动路由

Console后台消息后台查看详细兼容小米通道


需求内容

端口需求点需求描述备注
新系统Android客户端 / 新系统Ios客户端接入小米sdkhttps://dev.mi.com/console/doc/detail?pId=1244小米后台账号与发版所用账号一致,小米后台APP已创建
token ,手机操作系统(Android,,ios),机型上报

小米通道 token(regid) ,操作系统,机型上报时间

上报规则:Firebase token,操作系统,机型 上报时间
1.首次启动 并选择国家后
2.使用账号密码登录成功时 验证码登录成功时(新增)
3.切换国家时 切换语言(新增)
4.Token变化时(换账号)
5.非首次启动:iOS每次冷启动上报;安卓冷启动时判断当天是否上报过,无则上报 (卸载重装,算首次;清理所有缓存及数据,算首次)


配置消息格式,UI与交互

1、消息格式,支持通知栏消息和透传消息

2、iCon使用在用通知栏icon,其他UI暂不需要自定义,使用各系统默认样式

3、支持通用跳转链接与外链的点击跳转;

未配置跳转链接时打开首页【通过小米后台验证】

备注:通知栏消息展示效果右图所示,主要内容包括消息标题、摘要、应用图标和时间。在MIUI中,由于通知栏是由小米服务框架弹出,因此大、小图标均不可自定义。

消息格式(ios不支持透传消息,仅支持通知栏消息且不支持多字版和大图版消息)


在一些 Android 系统(如 MIUI)中,受到系统自启动管理设置的限制,应用不能在后台自启动。在这类系统中,如果在发送消息的时候对应的应用没有被启动,透传类消息将不能顺利送达。因此,对于对送达率要求很高的消息,建议尽量采用通知栏提醒的方式推送消息。 

注:在MIUI中,对于小米推送服务的通知栏提醒类消息,通知由系统级应用“小米服务框架”弹出,不需要应用驻留后台。在非MIUI上,通知栏消息和透传消息都需要应用保留进程。

兼容Firebase

客户端保留FCM 所有能力,在所有设备上启用小米和Firebase推送通道。以支持由后端、运营人员根据用户及场景选择推送触达通道。


消息中心的横幅之前横幅是基于FireBase的长链接,现在通过小米通道时,保持该功能
push中台



对接小米push api

对接文档:https://dev.mi.com/console/doc/detail?pId=1278 (支持通知栏消息和透传消息


Push 中台Token绑定与管理

每个uid或deviceid绑小米通道Token和FireBase通道Token

  1. 未登录时,将上报的Device id与Token与国家id绑定
  2. 登录时,将上报的uid与Token绑定,同时解绑Device id与Token

小米通道Token和FireBase通道Token


自动路由规则

流程图链接:https://2hlcoi.axshare.com


获取消息回执,统计到达点击,上报数仓

推送系统数据埋点文档:14 - 推送系统事件埋点字段说明

因为小米通道通知栏消息无法准确获取明细消息,所以针对小米通知栏消息以下数据字段不上报数仓:计划发送量 有效设备量 通道发送成功量 送达数 通知栏点击数

消息中心点击数上报过滤掉通知栏消息的点击

小米通道通知栏消息:通过推送id或者模板id调用小米接口,获取该推送id或模板id下的汇总数据并保存在业务库,后续会通过superset展示。

有效设备量:指在计划推送数基础上,经过小米推送服务端初步过滤,去除了以下设备:1.无效设备;2.不符合条件设备;3.未注册设备。

通道发送成功量:指由小米推送服务端实际发出的通知数量,

送达数:送达数为消息成功送达设备并返回送达回执的数量。

通知栏点击数:指点击push消息的数量。对于透传消息和iOS消息需要接入方主动上报点击行为。


针对小米透传类消息发送,和FireBase一样,基于明细上报数仓


channel: 1. FireBase 2.XiaoMi 增加小米通道字段

触发push量:计划发送量

有效设备量:指在计划推送数基础上,经过小米推送服务端初步过滤,去除了以下设备:1.无效设备;2.不符合条件设备;3.未注册设备。

通道发送成功量:指由小米推送服务端实际发出的通知数量,

送达数:送达数为消息成功送达设备并返回送达回执的数量。

通知栏点击数:指点击push消息的数量。对于透传消息和iOS消息需要接入方主动上报点击行为。



Console后台

console后台的详细数据查看数据字段和格式不变,兼容小米通道,不管是通过FireBase还是小米通道,都可以查看数据


附客户端定义的透传消息格式,与Firebase一致
小米发送透传消息

{
        "id": "sdfsafdasdfas",
        "uid": 415263,
        "pushType": 1,
        "type": 5,
        "title": "message title",
        "pushTitle": "message push title",
        "msg": "message body",
        "url": "ak://m.akulaku.com/27",
        "notificationBarImgUrl": "https://com-silvrr-installment.s3.amazonaws.com/item/fast_repayment_entrance.png",
        "messageCenterImgUrl": "https://com-silvrr-installment.s3.amazonaws.com/item/fast_repayment_entrance.png",
        "createTime": 1464013311352,
        "pushTime": 1464013311352,
        "pushId": "sdfsafdasdfas",
        "pushData": "{\"trxNo\": \"sdfsafdasdfas\",\"url\": 415263,\"orderNo\": 5}",
        "cmd": 6000,
        "viewType": 2
}


字段解释

在传输数据中,按左侧格式填入内容



编写评论...