PHP 分组推送 IOS可以收到,安卓收不到

ios
android
收不到消息
标签: #<Tag:0x00007fb83bd40ee0> #<Tag:0x00007fb83bd40da0> #<Tag:0x00007fb83bd40c60>

(吻你不叼烟) #1

如图:

用的是分组推送 PHP SDK Group Push API

其中 739d1992f946e025ac684560 这个应用 是安卓和IOS 都有的

图片中 platform 指定的是android 返回码是200,但是安卓并没有收到推送消息(换了很多不同机型加上模拟机都不行)

即使把 platform 改成 all 也只有IOS可以收到推送消息,安卓一直收不到

但是返回码 都是200 请求是成功的

重点是:
如果在极光后台的分组推送里面直接发推送消息 则IOS和安卓都可以收到推送消息!

问题可能在哪?

PS:

如果不用分组推送的API,直接用push接口
安卓这个APP是可以收到推送消息,就是用了分组推送后,安卓收不到、IOS可以


#3

提供你分组测试得到的msgid(文本信息)

和你收不到消息的Android设备的registrationID


(叼烟吻你) #4

你说的registrationID安卓端没有打印,出现了这个问题[ConnectingHelper] Register Failed with server error - code:1008,
我安卓集成的是极光3.0.9最新版本


#5

说明你Android端还没有集成成功,去检查你的appkey

如果Android端有更多的错误请一并提上来

3.0.9请注意在Androidmanifest加上

  <!-- since 3.0.9 Required SDK 核心功能-->
        <provider
            android:authorities="您应用的包名.DataProvider"
            android:name="cn.jpush.android.service.DataProvider"
            android:exported="true"
        />

(叼烟吻你) #7

1.安卓端如果集成3.0.7的应该也可以接收到分组推送的消息吗?


(叼烟吻你) #9

我自己实现了DataProvider,并

<provider
android:authorities="您应用的包名.DataProvider"
android:name="cn.jpush.android.service.DataProvider"
android:exported="true"
/>

这么配置了,但是因为配置了这个provider导致Androidmanifest编译不通过


#10

1、客户端SDK如何更新不会影响推送的功能!

2、需要根据Androidmanifest说明配置上DataProvider组件,如果有编译不过,那应该去找一下编译不过的原因,而不是不配置。

由于我不参与开发,所以不太清楚你说的[quote=“asw78964556, post:9, topic:21570”]
自己实现了DataProvider
[/quote]

是怎样的流程,是否可以替代Androidmanifest的配置

3、请你提供我需要的信息,提供你完整的客户端集成日志,去解决你出现的1008报错!!!


(叼烟吻你) #11

官方文档上说用jcente去集成就都不用配置Androidmanifest,但是我用jcente集成还是提示我Androidmanifest中有pushActivity,pushService等找不到,这个你怎么说


#12

我们可不可以一个问题一个问题的解决?
你可不可以把我需要的信息,日志先给我?
如果你1008问题解决了能不能说一声?

能不能把你jcenter的配置和你报的具体错误贴上来?


(叼烟吻你) #13

安卓端如果集成3.0.7的应该也可以接收到分组推送的消息吗?


(叼烟吻你) #14

我现在是用官网的安卓demo在运行,完全是可以正常运行,但是依旧是收不到分组端推送过来的消息
msgid:1301805021
Android设备的registrationID:170976fa8a8496cf40c


#15

1、请给出你的分组的groupkey

2、请确认你的msgid是否正确,给出你推送后的返回结果


(吻你不叼烟) #16

GROUP_KEY
21aecad78324433aa5a9692a


(叼烟吻你) #17

groupkey:21aecad78324433aa5a9692a

返回结果:array(3) {
[“body”] => array(4) {
[“776bf4e3f7982fd3cf04dc17”] => array(2) {
[“msg_id”] => int(1301805021)
[“error”] => array(2) {
[“message”] => string(33) “cannot find user by this audience”
[“code”] => int(1011)
}
}
[“739d1992f946e025ac684560”] => array(2) {
[“sendno”] => int(370289770)
[“msg_id”] => int(65302196263626807)
}
[“c0e7df830d3ea02ea76c4d39”] => array(2) {
[“msg_id”] => int(1301805020)
[“error”] => array(2) {
[“message”] => string(33) “cannot find user by this audience”
[“code”] => int(1011)
}
}
[“ebf5a1ea05813a6592fd844d”] => array(2) {
[“msg_id”] => int(1301805019)
[“error”] => array(2) {
[“message”] => string(33) “cannot find user by this audience”
[“code”] => int(1011)
}
}
}
[“http_code”] => int(200)
[“headers”] => array(7) {
[0] => string(15) “HTTP/1.1 200 OK”
[“Server”] => string(5) “nginx”
[“Date”] => string(29) “Wed, 18 Oct 2017 05:48:59 GMT”
[“Content-Type”] => string(16) “application/json”
[“Transfer-Encoding”] => string(7) “chunked”
[“Connection”] => string(10) “keep-alive”
[“X-JPush-MsgId”] => string(0) “”
}
}


#18

首先,Android设备的registrationID:170976fa8a8496cf40c对应的appkey是:776bf4e3f7982fd3cf04dc17

而这条消息 报错了1011,找不到目标,请你去检查你用什么方式(别名标签?)做的推送,你App端设置了正确的别名标签了吗?

其次,分组测试请直接用registrationID推送测试一下看结果。


(吻你不叼烟) #19

推送是用默认的all啊 没有设置什么方式


(吻你不叼烟) #20

array(4) {
[“platform”] => array(1) {
[0] => string(7) “android”
}
[“audience”] => string(3) “all”
[“notification”] => array(3) {
[“alert”] => string(31) “推送测试2017-10-18 13:58:44”
[“android”] => array(2) {
[“badge”] => int(1)
[“alert”] => string(31) “推送测试2017-10-18 13:58:44”
}
[“ios”] => array(3) {
[“alert”] => string(31) “推送测试2017-10-18 13:58:44”
[“badge”] => int(1)
[“sound”] => string(0) “”
}
}
[“options”] => array(2) {
[“sendno”] => int(2129418668)
[“apns_production”] => bool(false)
}
}


#21

由于我在推送记录上找不到这条消息,所以需要等一下,我反馈查一下原因。


(叼烟吻你) #22

我们并没有设置别名或者标签,只是简单的推送,现在是php后台分组推送,但是ios端能收到推送消息,但是安卓不能收到消息