产品设计:APP消息推送功能简述及规则(自用)
2019-01-15 本文已影响33人
yellow_橙
研究一下消息推送。苹果端叫做APNS(苹果推送通知服务),安卓端有C2DM(google云端推送)、轮询、SMS信令推送、 MQTT协议、XMPP协议等方式。
消息推送从形式大致分为2类:
- Pull(拉):客户端向推送接口请求,以轮询的方式获取消息;
- Push(推):当服务器有新推送时,以Socket长连接告诉客户端有新推送;
下文主要以APNS为例讲一讲消息推送。
1. APNS原理:
APNS原理1、应用程序注册消息推送。
2、iOS从APNs获取device Token,应用程序接收device Token。
3、应用程序将device token发送给PUSH服务端程序。
4、服务端程序向APNS服务发送消息。
5、APNS服务将消息发送给iPhone应用程序。
APNS开发者文档
2. 常用的通知类型
- 通知:在手机的通知栏(状态栏)上会显示的一条通知信息。 通知主要用来达到提示用户的目的,应用于新闻内容、促销活动、产品信息、版本更新提醒、订单状态提醒等多种场景;
- 应用内消息:
- 本地通知:
本地通知不依赖于网络,无网条件下依旧可以触发; 如一些 Todo 和闹钟类的应用。
3. 消息推送功能列表:
3.1 通知:
任务描述丨标题丨内容丨图标(系统、自定义)丨
3.2 应用内消息
任务描述丨展示样式(全屏消息-单图、全屏消息-双图、插屏消息-小尺寸、插屏消息-大尺寸、纯文本插屏-横、纯文本插屏-竖、自定义插屏)丨跳过按钮(开启、关闭)
3.3 人群
目标人群:全部用户、部分用户、独立用户、特定用户
人群标签:普通筛选条件、版本、渠道、系统、语言、国家和地区、省份、用户活跃度、机型、标签。
3.4 推送管理
类型丨来源丨描述丨状态丨操作丨
3.5 数据
丨heihei丨
APNS的一些规则:
- 1.假如用户手机不在线,可能没有信号或者关机吧,APNs会存储转发,等用户在线时再发送
- 2.如果用户不在线,通知会合并,只会保留最新的一条。假如你给用户发了两条通知,但用户反馈说,只收到了一条,那么很可能是用户当时不在线,APNs的合并策略生效,只保留了最近一条;
- 如果设备长时间保持脱机状态,则会丢弃为其存储的任何通知。
- payload,就是最后生成的那段Json,不得超过256字节。如果超过了,建议去掉一些不需要的参数,把alert,就是提示信息的字数减少。
- 推送发送成功的不会返回,只有发送失败的才会返回。
- 6 .iOS 12 中同一类型的通知会被合成一个通知组,用户可以通过点击通知组展开组里的所有通知 。通知分组使用两种分组方式:自动分组(Automatic grouping)和线程标识(Thread identifier)。
- 7.苹果针对消息增加了一个"管理"的按钮,消息左滑即可出现。