iOS端:apsForProduction改为了:false。但是收不到推送的消息 ,从极光官网推送开发环境能收到

ios
收不到消息
标签: #<Tag:0x00007fb83269ecf8> #<Tag:0x00007fb83269ebb8>

(你是somebody的简称吗) #1

后台推送iOS端收不到消息,安卓端能收到,从极光官网推送能收到iOS端就能收到,我看了下证书开发环境和生产环境都是已验证状态,代码应该也没问题,会打印 login result 。

APP 能从APPStore下载,这次又要修改写东西,但是我是从XCode运行的,所以是不是选开发环境?apsForProduction改为了:false。我让后台也改成了false,但是我就是收不到推送的消息啊 ,从极光官网推送开发环境我就能收到 !!愁人!到底是为什么呢


#2

web推送可以收到,API推送不行,请自行对比二者推送历史-详情中的区别,一般是环境问题(iOS)、appkey不对、推送目标不一样,没有给Android或者iOS传值,alert为空等等。

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

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


收不到消息的问题:请提供推送的消息的msgid(MessageID)和收不到这条消息的设备的registrationID(在客户端获取,无论以何种方式做推送,该信息必须提供)

信息如何获取: 极光产品相关提问简要说明


(你是somebody的简称吗) #3

registrationID: 18171adc033ddd58c3f
msgID : 54043198064162673

我是在XCode直接运行的,在极光官网推送开发状态收的到消息,所以是开发环境对吗?
开发者账号之前过期了,然后有续费了,这对推送证书有影响吗?
appkey 没错的,后台推送他是指定推送给一个用户,安卓登录这个用户可以收到,我iOS登录这个用户却收不到!


#6

audience {“alias”:[“shelby”]}

这是你们 api 推送的目标。你·官网是直接对registrationID做的推送


(你是somebody的简称吗) #7

谢谢您的耐心解答,非常感谢您!
“alias”:[“shelby”] shelby:这是个登录名 ,我登录了这个账号但是收不到消息啊 ,安卓登录了这个账号就可以收到消息,一个登录名只能用在一个平台上吗?


#8

不是,这说明你在 iOS 平台没有成功设置别名,看 iOS的客户端日志信息

别名/标签推送失败,请检查「推送消息的当时」该App是否有设置别名/标签成功
客户端需要看callback回调:code为0且返回别名/标签值
服务端查询别名绑定关系: https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device/
新版本SDK提供的新接口已支持在客户端进行增删改查


(你是somebody的简称吗) #9

是iOS前端设置 还是后台来设置这个别名?


(你是somebody的简称吗) #10

我知道了,别名就是这个shelby吧,这样对吗 [JPUSHService setAlias:@“shelby” callbackSelector:@selector(tagsAliasCallback:tags:alias:) object:self];


(你是somebody的简称吗) #11

但是亲,他不走回调方法什么意思啊 tagsAliasCallback:tags:alias::joy:
是我版本太低了吗


#12

(你是somebody的简称吗) #13

感谢大神! 问题已经得到解决,祝您生活愉快!