推送消息,安卓端为什么会同时收到自定义和通知?


(W2G) #1

第一张是安卓接收到的数据

,第二张是我api的推送方法


#2

1、去官网-推送历史-详情里面看一下这条消息,是否包含了 Notification和Message,是的话,就是你推送时就传了,至于截图代码里面注释了,那得检查是不是有其他的代码影响了推送的实际传值。

2、如果历史详情里面并没有这个 Message信息,就请去检查你们客户端打印的日志,是怎么打印的。
因为这些日志都是你们自己打的 tag 和name,不是极光原来的,无法根据日志判断是不是真的走了极光的自定义消息的获取方法而打印出的值:
https://docs.jiguang.cn/jpush/client/Android/android_api/#receiver


(W2G) #3

你好,他判断是通知还是自定义是根据ACTION_MESSAGE_RECEIVED = "cn.jpush.android.intent.MESSAGE_RECEIVED"和ACTION_NOTIFICATION_RECEIVED = "cn.jpush.android.intent.NOTIFICATION_RECEIVED"进行判断的,但是我不知道我在那里传递了让他误判的值


#4

请根据我上述的说明来检查问题:
1、推送消息产生的 msgid
2、去官网推送历史详情找到同样msgid 的消息,详情里面对这条消息的 Notification和Message分别显示了什么值,截图。
3、客户端收到的消息的完整参数,msgid值,筛选出带有jiguang的tag的日志


(W2G) #5

你好~安卓端的同事在接收到api发来的请求后,手机上显示的推送消息的样式他不太满意,他希望使用图中通知栏样式编号2,但是我不知道相应的调用方法是哪个,麻烦了


#6

你们前几个问题解决了没有。


(W2G) #7

谢谢~~刚才样式的已经好了,一开始那个还是通知和自定义都有,但其实也不影响,所以移动端那边也就不管了


#8

好吧,需要的话可以给我提供 AppKey 和 你推送的msgid ,我可以看下你是不是推送的时候还是传了 Message 信息


(W2G) #9

你好,我已经在代码中把buildId设置为2了,但是移动端那边显示的还是和以前一样

然后下张图是安卓接收的图,下面那个通知是我api发送的,上面是用极光后台发送的


#10

给我提供 AppKey 和 你推送的msgid ,看一下你实际推送的值。


(W2G) #11

你好,已经私发给你了,麻烦了~~~


#12

你推送的这条消息的实际内容如下:

notification	{"android":{"title":"医会宝2.0上线通知!!","extras":{"type":"LIVE","id":"123"},"alert":"alert content"},"ios":{"sound":"","extras":{"type":"LIVE","id":"123"},"badge":"+1","alert":"医会宝2.0即将上线,全新的首页,全新的会议体验!"},"alert":"alert content"}
message	null
options	{"sendno":1480869305,"time_to_live":"86400","apns_production":false}

可以看到,没有推送 Message 信息,同时 Notification —— Android 里面没有出现 builder_id 这个字段,需要你检查你的代码,并着重检查,是否调 push API 时,你认为会走的方法,传的值,和实际的不一样,有其他的文件,引用,代码造成了影响?

额外的说明:你们官网,iOS 的证书过期了,如果需要测试 iOS 的,记得先让 iOS 那边生成有效证书上传。


(W2G) #13

我这边可以了,谢谢,辛苦了