IOS11收不到推送,APP采用apicloud的集成插件


(Smark) #1

IOS11收不到推送啊,APP在后台时,可以收到,在通知栏有提醒;但是APP在前台运行时就收不到了。但是在ios10以下都是好的,这个是为啥啊?


#2

iOS 10 以上开始,在前台收到消息走的方法不一样
https://docs.jiguang.cn/jpush/client/iOS/ios_api/#apns


(Smark) #3

我们是用APICloud的集成插件ajpush, 在ios11中绑定别名和获取getRegistrationId都没有返回值,代码示例:

jpush.bindAliasAndTags({
 alias:"s00"
}, function(ret, err){
 console.log('处理结果s00:\n' + JSON.stringify(ret));
});
			
jpush.getRegistrationId(function(ret) {
  var registrationId = ret.id;
 console.log('处理结果registrationId:\n' + registrationId);
});

但是下面这个方法是正常的:

jpush.resumePush(function(ret) {
if(ret.status){
    console.log('msg:恢复推送成功');
}else{
    console.log('msg:' + err.msg);
 }
});

麻烦问一下这个是啥原因?


#4

1、apiclpud 封装了我们的 SDK,官方是不知道他们是怎么做的封装的。

2、请先获取regIstrationID 值成功之后,再调 API 设置别名和标签。

3、如果取不到 regIstrationID 值,请在初始化后延后获取,如果一直取不到,请看一下客户端 log ,是否有集成失败的提示。