推送框架调研
友盟
- 单播(
unicast
):向指定的设备发送消息 - 列播(
listcast
):向指定的一批设备发送消息 - 广播(
broadcast
):向安装该App的所有设备发送消息 - 组播(
groupcast
):向满足特定条件的设备集合发送消息,例如: “特定版本”、”特定地域”等 - 文件播(
filecast
):开发者将批量的device_token或者alias存放到文件,通过文件ID进行消息发送 - 自定义播(
customizedcast
):开发者通过自有的alias进行推送,可以针对单个或者一批alias进行推送,也可以将alias存放到文件进行发送
- device token: AtovkP17M36zah5WQdbj2Tj52sX145U4W9BdZdpSblg4
- API文档:https://developer.umeng.com/docs/66632/detail/68343
- 发送限制:https://developer.umeng.com/docs/66632/detail/68343#h2-u53D1u9001u9650u52363
支持任务类消息取消(免费):https://developer.umeng.com/docs/66632/detail/68343#h2-u4EFBu52A1u7C7Bu6D88u606Fu53D6u6D886 ,任务类消息(type为broadcast、groupcast、filecast、customizedcast且file_id不为空),可以进行撤销操作。
支持厂商通道集成(免费):https://developer.umeng.com/docs/66632/detail/98589
因第三方推送下发消息主要依赖App活跃时的后台长连服务(包括App活跃时的后台长连,以及共享通道的后台长连服务),通过集成厂商通道,可将消息直接发送到手机厂商的系统通道中,从而增加了对App离线这部分有效用户的实际下发数,从而提高整体的“消息到达率”。
个推
toSingle
:简称“单推”,指向单个用户推送消息toList
:简称“批量推”,指向制定的一批用户推送消息toApp
:简称“群推”,指向APP符合筛选条件的所有用户推送消息,支持定速推送、定时推送,支持条件的交并补功能toGroup
:个推针对直播间提供定制化解决方案,解决直播间海量消息传输
价格:http://www.yezhou.cc/docs/免费与VIP服务功能对比说明(个推).pdf
- clientid: 310dbf20ca46a625452c20032c8dcbd2
- API文档:http://docs.getui.com/getui/server/java/push/
个推推送有免费版和付费版区别:
个推免费版:不需要付费给个推,后台集成即可用;必须APP有进程存活,才可以收到消息,消息抵达率相对较低;
个推VIP付费版:需要付费给个推平台,后台集成,同时需要申请各大厂家接口;再免费版的基础上,实现针对魅族,华为,小米,OPPO四个厂商设备的离线推送支持,不需要APP有进程存活,离线一样可以收到消息,抵达率相对免费版有一个量级的提升;目前价格大概为3万一年,详情咨询个推平台;
注:多厂商解决方案只针对离线
极光
价格:https://www.jiguang.cn/push-price
- RegId: 100d85590925361a22b
- API文档:http://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/
- 推送目标:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#audience
Google FCM
免费:https://firebase.google.com/pricing
- 参考:https://www.jianshu.com/p/875deb824378
- 服务端:https://firebase.google.com/docs/cloud-messaging/server
- 旧版 HTTP 协议:https://firebase.google.com/docs/cloud-messaging/http-server-ref
- FCM HTTP v1 API:https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages
- FCM HTTP v1 API 推送:https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages/send
- FCM HTTP v1 API 推送消息结构:https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#Message
推送目标:
token
: Registration token to send a message to.topic
: Topic name to send a message to, e.g. "weather". Note: "/topics/" prefix should not be provided.condition
: Condition to send a message to, e.g. "'foo' in topics && 'bar' in topics"
AndroidPN
开源:https://github.com/dannytiehui/androidpn
Mpush
开源:https://github.com/mpusher/mpush
Openfire
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/25/push-framework-research/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论