java开发消息推送成功,手机收不到消息提醒

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

(java开发) #3

发送返回信息{“msg_id”:36028797336899380,“sendno”:1122207964,“statusCode”:0}
registrationID = 160a3797c80121bab45


(java开发) #4

{“msg_id”:27021598082934477,“sendno”:506251275,“statusCode”:0}
registrationID = 161a3797c80114c2471
这台手机没收到!上一条是今天重新登录更新标签和别名可以推送成功,而这条是没更新,没收到推送消息


#5

这条消息是成功的。

这条消息因为环境不一致而失败,你App是生产的,请在推送的时候设置推送给生产环境

API推送消息给iOS,需要指定推送的环境!请让后台修改apns_production,false是开发,true是生产。


(java开发) #6

{“msg_id”:36028797337227352,“sendno”:646606130,“statusCode”:0}
registrationID = 161a3797c80114c2471
这个设备还是没收到消息
下面是代码截图


(java开发) #7

现在开发环境消息吐司IOS苹果手机都收不到了,安卓手机能收到!麻烦帮我看下,如果方便请联系我下,我的手机号是15910278785;现在这个项目要上线了,我们公司准备有专人跟你们公司洽谈关于极光消息推送合作的问题!麻烦你尽快帮我看下这个问题,我好回复领导!谢谢


#8

我这里说的很清楚,你现在推送测试的这个 App 他是生产环境的,他配了生产证书,请你推送的时候把后台的代码apns_production 改成true

另外,你们在官网应用里面没有给这个应用配置生产的证书,请先去上传生产的证书!

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


(java开发) #9

谢谢!稍等我配置下证书。但是安卓系统为什么能收到?


#10

Android 不分开发或者生产,这里只针对 iOS,iOS在Apple那边有证书、环境区分,所以才有区别


#12

1、请不要随意暴露你的密码

2、你自己在官网上看得到AppKey对应的是什么应用名,我也不知道你们什么 AppKey用来做测试还是做生产。

3、如果你们要开发和生产的分成两个应用去推送,那么你们前端测试的时候为什么要拿 一个开发应用的AppKey 去配置生产的App ?

4、请你们自己去区分清楚这些信息,并配置正确

  • 应用名-AppKey值-该应用是用来测试还是用于生产。

  • 拿测试的应用的 AppKey 配测试的 App,App端选择测试证书(开发证书),服务端推送的时候用测试AppKey给测试应用推送

  • 拿生产的应用的AppKey配生产的 App,App选择生产证书(ad-hoc什么的),服务端推送的时候 用生产的 AppKey 给生产应用推送。

5、其实你们根本不需要搞得这么麻烦,iOS的一个应用本来就是可以分两个环境的,证书和代码配好就行了,没必要还分成两个应用。


(java开发) #13

谢谢您!前几天iOS和安卓都能收到,现在iOS的一直收不到,我们这边返回的状态一直都是成功的!
您说我们现在的环境是生产的,
但是前端的说是配置开发的,现在不知道到底是生产的还是开发的!


#14

我查到的registrationID是生产的就说明这个 App就是生产的,请你让你的前台去看这个连接,客户端的环境由证书决定,不是由他代码里面写的isProduction决定的


(java开发) #15

您好:我现在使用别名alias发送消息,更换手机之后,再换另外一个手机登录我做了DefaultResult deleteAlias(String alias, String platform)方法调用,清除别名alias,怎么没效果呢?消息还是发送到更换之前的手机上了
请问这种情况怎么解决???


#16

你在服务端清除的别名?返回值成功了吗?你设定的平台跟需要清除的平台一致吗?

你们客户端是否又重新调用 api 设置了别名


(java开发) #17

我设置别名使用的是public DefaultResult updateDeviceTagAlias(String registrationId, String alias,
Set tagsToAdd, Set tagsToRemove)这个方法,没要求设置平台!
清除别名返回的DefaultResult对象中isResultOK==true!清除完之后,再使用新的手机登录,请求发送消息还是原来的手机接收到的
是不是我设置别名调用方法错误?


#18

你是将别名值传空串吗?将你的请求参数与日志发一下。

如果你只允许一个别名下只有一个应用,在删除别名时可以直接用删除别名下绑定的所有的设备的方法
https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device/#_5

另外,你的应用是北京机房的应用,需要修改下域名。

参考:



(java开发) #19

调用这个方法返回


#20

返回 200 是成功的,你看下结果如何,域名改下再试一下


(java开发) #21

通过手机注册的极光号去发送,怎么原有登录过的手机和新登录的手机也都能收到消息?
难道不是按照registrationId去发送的?还是用别名发送的?


(java开发) #22

能不能帮我把我们app在你们平台注册的极光信息(registrationId和别名、标签都清除了?)我们再重新注册


#23

这不可能,如果你是正确的给registrationID推送,那么就只有registrationID对应的设备才能收到,registrationID是你客户端集成时得到的ID。每个手机的ID是唯一的。
registrationID不可清除。

在我这里也不能操作你的别名,只有你们自己拿AppKey和密码调 api 才可以去操作别名标签。