写这篇文章,是因为前几天自己也遇到这个问题,虽然最后解决了。但是解决过程出现了不少插曲。
情况是这样的,就是应用在测试环境下可以收到极光推送,而在正式环境下却不可以。然后告诉服务端这个需要他们适配iOS这边的环境,可是服务端那边一定要说是前端的问题。于是乎,楼主就自己去找了客户端的代码给看解决方法,最后把问题给解决了。
解决方法如下:
首先客户端在正式环境(product)下,在如下代码中,isProduction 这个字段记得设置为TRUE 或者 YES 也行
[JPUSHService setupWithOption:launchOptions
appKey:jPushAppKey
channel:channel
apsForProduction:isProduction
advertisingIdentifier:nil];
然后最主要就是服务端啦.
如果你的服务端是Java写的,如(图一),找到对应代码,将里面的setApnsProduction,改为TRUE。
服务器端是PHP,如下(图2,图3),找到图2 这个方法,加入apns_production
这个字段
服务器端是C#, 这的里解决方法和Java是一样的,找到图4这个方法,
和Java差不多的解决方法,给pushPayload加多一个属性(在iOS里面是这样说在,在服务端不知是不是,如不是望指正),具体字段是什么就请自行查看。
服务器是Python,Ruby 和 Node.js 的。楼主暂时没研究到相关的方法,如果有发现会及时更新。
本人,第一次发帖,如有不对的地方,欢迎指正,也欢迎大家与我交流。