问题描述
移动推送安卓端消息和通知的区别
推送时区别
推送时 PushType=NOTICE 时表示推送通知
推送时 PushType=MESSAGE 时表示推送消息
若使用EMAS控制台进行推送则差别如图:
推送过程中区别
在线和离线定义:app在线可理解为app进程正在运行; app离线则为app被杀死。在线离线的本质区别是app和EMAS之间长连接的存续和断开。
app在线时:消息和通知走一套网络通道,经EMAS自有长连接通道送达。区别是收到通知时SDK会弹通知框,收到消息时是静默不弹框的,只回调onMessage()方法,开发者可自行处理该方法的回调。
app离线时:通知只能走厂商通道送达,消息无法送达(除非配置为离线消息转通知,实际也是走厂商通道送达)。
推送到达时
app在线时:开发者需要新建一个广播类:MyMessageReceiver extends MessageReceiver来接收信息。 MyMessageReceiver 回调onNotification()代表通知到达,此时SDK会自行弹框。 回调onMessage()方法则表示消息到达,推送消息回调onMessage即为终态,不会弹出通知框。
app离线时:消息不能送达。 通知都走厂商通道送达。原理是各个厂商都在自己手机内置了一个长期保活的应用,接收到信息后再根据预填信息弹出对应应用弹框。 所以需要提前内置一个可用弹框的activity。后台推送时填写其全类名,例如:com.example.app.push.PopupPushActivity
适用于
移动推送
文档内容是否对您有帮助?