ios10.3.2每次重新卸载安装registrationId都不一样。为什么有时候拿不到registrationId


(情义莫说伤) #1

我用的是PhoneGap集成。感觉就是jpush集成的比正常程序慢了。怎么解决


#2

需要在登录成功后再去获取registrationID


(情义莫说伤) #3
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
 
    NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
    [defaultCenter addObserver:self selector:@selector(networkDideceiveMessage:) name:(kJPFNetworkDidLoginNotification) object:nil];

}
- (void)networkDideceiveMessage:(NSNotification *)notification{
    
    [JPUSHService registrationID];
    
    [[NSNotificationCenter defaultCenter] removeObserver:self name:kJPFNetworkDidLoginNotification object:nil];
}

怎么通知我后台方法呢?我用的PhoneGap集成


#4

嗯?没有看懂你的意思,你可以先 延迟调用API去获取registrationID或者失败后过段时间再重新获取

当前phonegap插件里面可能还没加上这个监听


(情义莫说伤) #5

好吧!我想知道,为什么有的可以获取到registrationId,有的拿不到。测试了很多手机,现在只有一个ios10.3的拿不到。不知道为什么,ios手机设置什么会影响这个registrationId的获取。推送是开着的


#6

额?你的意思是 过段时间重复获取多次都获取不到?

有客户端日志吗?


(情义莫说伤) #7

获取不到,重新安装也获取不到。是客户使用的时候出现的,没有日志


(song3690) #8

打扰下,我这边也是用github上的插件实现推送的,现在需求是要获取当前设备的registrationId和我们登录的用户进行绑定,但是我一直没找到怎么在JS中调函数实现返回registrationId,求指教!谢谢了,mac日志中有registrationId和Uid,就是不知道怎么获取!


(情义莫说伤) #9

不是很懂,我的使用phonegap+angularjs+ionic实现的,在js使用下面拿到的

window.plugins.jPushPlugin.getRegistrationID(function(data){
      console.log(data);
      $rootScope.RegistrationID = data;
   
    });

(song3690) #10

我试过这个方法,但是不走回调函数,获取不到registrationId。。。


#11

在初始化之后 延时一段时间再去调用获取


(情义莫说伤) #12

那我就不清楚了,我接收这个也是半途接手的。。。


(song3690) #13


#14

这个没有日志不好分析,因为很有可能出现在集成成功之前就获取的情况。
且iOS10重装又会改变registrationID(因为token改了),这与Android 第一次获取不到,第二次安装又获取到的情况不一样,Android的registrationID一般不会改


(song3690) #15

这个就是不走这个方法,日志里有的,是需要有一个延时吗?


(song3690) #16

实现了,加个延时3秒就好了,谢谢了各位!


(奔跑的肥猫) #17

借楼:
目前手机 iOS10.3.2 我应该怎么应对 重装APP后,token变化的问题呢? 刚才测试的时候就发现了,现在的情况是,服务给我推消息的时候会推两条,万一有用户 卸载掉APP 又重新下载了,他们也会这样吗?


#18