服务器使用Java,Android能收到通知,iOS收不到,如果使用极光里面的测试,iOS也能收到

收不到消息
标签: #<Tag:0x00007fb84da9d870>

(daiyi) #1

我通过 cocoapods导入的,现在我们服务器推送,开发语言是Java,然后Android能收到通知,iOS这边无法收到通知。如果使用极光里面的测试,iOS也能收到通知。这种情况主要是什么原因,是我iOS这边集成的原因,还是服务器需要做响应的设置. 当前我使用了别名,标签,regID, 都不行。


#2

那就是你们后台的问题

web推送可以收到,API推送不行,请自行对比二者推送历史-详情中的区别,一般是环境问题(iOS)、appkey不对、推送目标不一样。

API推送消息给iOS,需要指定推送的环境!请让后台修改apns_production,false是开发,true是生产。
如果修改没有用,检查自己的代码,是否有覆盖、引用、改的是A推送代码,实际推送却用的B代码等影响

客户端的环境与证书有关!
关于测试两种环境的说明: 常见问题 - JPush 合集(持续更新)


(daiyi) #3

这种情况是我这边没有绑定好还是 , 服务器没有绑好

[JPUSHService setAlias:@“449” completion:^(NSInteger iResCode, NSString *iAlias, NSInteger seq) {
NSLog(@"%ld – %@", iResCode, iAlias);
} seq:1000];


#4

可以麻烦你们对照检查,去看后台设置的环境吗???


(daiyi) #5

设置了开发环境,APP可以也填写了,就是这个推送目标,这是我们当前的服务器代码

   PushPayload pushPayload = PushPayload.newBuilder()
                .setPlatform(Platform.all()).setAudience(Audience.alias(alias))
                .setNotification(Notification.newBuilder().addPlatformNotification(IosNotification.newBuilder().setAlert(body).autoBadge().setSound("default").build()).build())
              /*  .setNotification(Notification.newBuilder().addPlatformNotification(AndroidNotification.newBuilder().setAlert(body).build()).build())*/
                .setOptions(Options.newBuilder().setApnsProduction(Boolean.FALSE).build())
                .build();

#6

算了,如果你们自己不愿意对照检查,那么请给我你们收不到消息的设备的registrationID(客户端获取)和推送的消息的msgid


(daiyi) #7

找到原因,太谢谢您了。在后台代码那儿,我们运行的代码在我发给您的是没有注释的那一句,其实是Android的后面设置,我们后台调用的又是setNotification给覆盖了iOS的,导致iOS的其实在后台根本就没有。后端人员太调皮


#8

好的,搞定了就行