IOS设备生产环境极光推送接收不到通知

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

(kill) #1

才我们生产环境有一笔推送交易。安卓可以收到,后台显示推送成功,但是ios没有收到。我们在极光开发网页平台往ios设备推送,也是没有收到。这是ios推送的信息,能帮忙看下呢。推送至极光结果 :{“msg_id”:6834301392,“sendno”:1518190220}


#2

提供appkey和没有收到消息的设备的registrationID(必须需要),这边有一个排查步骤:


(kill) #3

我这个AppStore的版本是老早之前就上架发布了,之前还是可以推送到的,这两天不行了,连在网页上推送也不行了!


#4

我要确认问题,必须需要你提供这两个信息[quote=“Lris, post:2, topic:11630”]
提供appkey和没有收到消息的设备的registrationID(必须需要)
[/quote]


(kill) #5

appkey:682859c6323cd395039c87d1
registrationID:101d85590949aafe321


#6

你们俩是同事吧= =


(kill) #7

恩,你看我的设备日志,别名都是设置成功的,还是收不到啊


#8

兄弟,你registrationID两次不一致啊。
1114a89792a710c33ec

你现在 是推送了这条消息 7475458740是吧?针对你这个registrationID的查询,结果是
devicetoken is feedback
1、apple认为token失效了
2、苹果建议程序每次启动的时候从 apns 获取 devicetoken
重新获取一次token,即重新注册apns,测试时,简单的操作就是卸载重装


看你的设备是iOS 几?
iOS 9以下,你这样操作试试:
先关闭 设置-通知
卸载
重装
重新打开通知权限


(kill) #9

跟哪个不一致啊?我这边是在你们的网页上推送测试的
https://www.jiguang.cn/push/app/682859c6323cd395039c87d1/push/notification
推送了123


(kill) #10

这是是重新获取token么?


#11

这是你前后两次的registrationID。
查询结果已经告知你。


(kill) #12

大哥,我现在每次启动都是重新注册的,调用了下面的方法:
//注册APNs成功并上报DeviceToken

  • (void)application:(UIApplication *)application
    didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    NSLog(@"%@", [NSString stringWithFormat:@“Device Token: %@”, deviceToken]);
    /// Required - 注册 DeviceToken
    [JPUSHService registerDeviceToken:deviceToken];
    }
    还是不是么?还要别的操作?我刚还试了下测试环境,是可以正常推送的。。。

#13

你这个设备是iOS几?是其他的手机生产环境都行,只有这个不行吗?


(kill) #14

我的是IOS8,另外同事的手机也不行!


#15

iOS 几?



(kill) #16

我刚刚这样试过了,不行。。。我同事的是ios10。前段时间还是可以正常推送的,就前几天不行了。


#17

你的手机查询到的情况是apple判定你 token失效了,你同事的需要另外查一下情况。

之前遇到的 iOS 8被判定为失效后,最后无意中找到的解决办法是:[quote=“Lris, post:15, topic:11630”]
先关闭 设置-通知,然后卸载重装,然后重新打开通知权限
[/quote]
然后再看看你的日志

另外,可以试试先调用反注册代码[[UIApplication sharedApplication] unregisterForRemoteNotifications] 再又注册apns,然后杀死app,然后开启app,然后推送测试看看

想办法让apple给你有效的token或者重新判定你token有效。

iOS 9 以及之后,是卸载重装即可。如果有问题应该另查。


(kill) #18

我手机可以了。。。是不是遇到这样的情况只有这种解决方式啊?这样的话,客户体验很差啊,商户那边遇到了怎么办,也要这么做么?


#19

这种情况是小概率事件,并且,极光是没法去解决的,是来自apple对你手机token的判定无效导致。

或者你刚刚是怎么做的,反注册之后再注册吗?
你们可以在假如用户那边出现了,你们客户端预设一个情况,出现后通过服务端去传递给客户端一个信息,让他反注册后在注册,然后用户那边总会自行做杀死操作的,那么下一次进入就可以收到推送了。


(kill) #20

我这边是按关掉通知,在卸载重装来做的?你说的让服务端传递给客户端消息,那客户端不是得起个线程一直调用才行么?