1***@qq.com
1***@qq.com
  • 发布:2016-12-23 11:12
  • 更新:2021-04-28 18:44
  • 阅读:10405

push推送遇到的问题总结

分类:HTML5+

android:
一开始做就是不认真,想当然所以走了不少弯路,所以一定要对推送插件开发指南详细认真阅读!,认真阅读!,认真阅读!,开始正题

1.在个推官网设置appid appsecret等等参数,这些就不多说了,都有教程
2.对于推送的消息分为两种 ,1:普通的推送消息 2:透传数据(透传的数据又分为两种 ,下面具体说)
3. 对于普通消息的推送 ,只会在消息中心显示消息,只会触发点击启动应用等动作。注意了,只是触发启动应用等动作,并不是响应click事件!!!!!!,这是坑我最惨的,一开始我以为可以响应,官网其实也说了:只是触发启动应用等动作,是我想当然了!!,所以发送普通消息就别想着去触发click事件了!!!!!
4 说完普通消息推送,剩下的透传数据的推送就可以响应click和receive了,当然这也是分情况的!!,真坑。分析如下
1.当发送透传数据的格式是标准格式({title:"通知标题",content:"通知内容",payload:"通知去干嘛这里可以自定义"}),这个时候消息会发送到消息中心,并且这个时候当用户点击这个消息,就会响应click事件!,妈蛋终于响应了!,但是抱歉只能响应click事件,要想响应receive还得分情况。
2.说完了响应click事件的情况,剩下的就是receive事件响应了。只有发送的是透传数据 而且不是标准格式并且 当前应用在活动,这3个条件,才可以响应receive事件!!!,但是消息中心并没有消息展示!!!,这就是最坑的!

所以总结如下:
触发click事件: 发送透传数据并且格式为标准格式。
触发receive事件:发送透传数据且格式为非标准格式且应用在活动。(消息栏不会有提示!!!!!)
ios:
在线:只能响应receive,但消息中心无消息
不在线:消息中心有消息,且响应click事件

11 关注 分享
Trust 磨剪子戗菜刀 alipiapia 太烏 m***@sina.com l***@163.com 1***@qq.com 5***@qq.com 2***@qq.com 2***@qq.com 木盒关系户

要回复文章请先登录注册

bishuihanshan

bishuihanshan

android程序在前台时,接收到通知消息也会在消息中心显示。如果程序在前台时,我不想要这个显示,怎么办呢?我想程序不在前台时才通过消息中心显示
2019-07-25 17:27
y***@126.com

y***@126.com

楼主爸爸 麻烦加我qq'1247867397 求指导!!!!
2019-05-16 15:42
1***@qq.com

1***@qq.com

回复 ___K :
可以,只是格式不一样
2019-03-20 18:54
___K

___K

回复 1***@qq.com :
非标准的话后台运行是不是就监听不到了?
2019-03-08 17:32
1***@qq.com

1***@qq.com

各种坑,差点没爬出来,最后结论是:透传+非标准格式+receive监听
2018-08-21 18:13
小权

小权

ios机制很正确:应用在前台就不进消息中心,触发receive;其他情况则进入消息中心。
安卓咋这么奇葩,透传推送要是不符合格式的话,应用在前台时能触发receive,这是没问题;要是应用离线就完蛋了,没有提醒。我要是推送符合格式的json数据吧,提醒有了,直接进消息中心,但应用在前台使用时又不能触发receive,真是无语了。
我既然使用了推送机制,就想直接靠receive事件来实时更新,就不会再用websocket通信来实现消息实时更新了。
安卓这个机制是第三方推送的原因,还是安卓本身的原因?
2017-11-22 16:17
杜林

杜林

mark一发,正在研究推送功能,留下来踩坑了有助于解决。
2017-07-04 16:16
alipiapia

alipiapia

回复 freemudHB :
$template->set_logo("http://xxx.com/logo.png");//通知栏logo
2017-04-19 09:52
磨剪子戗菜刀

磨剪子戗菜刀

强烈mark一发
2017-04-13 10:13
cyq7on

cyq7on

我是因为配置没有对,配置正确了,receive和click都响应了
2017-04-07 11:50