帖子
帖子
用户
博客
课程
123下一页
返回列表 发新帖
显示全部楼层
3
帖子
0
勋章
218
Y币

[插件使用] jpush 在IOS上无法注册 无法推送

[复制链接]
发表于 2017-3-28 16:06:41
极光推送,在ios 上无法注册,调用getRegistrationId  回调函数好像也不执行,经过检查,极光IOS推送证书正确,很奇怪的问题,在极光官网推送到ios,提示没有注册的registraionID,
所以感觉在ios上根本就没注册成功。安卓有一个init初始化,苹果的说自动初始化,所以不明白为什么不成功,麻烦知道的大神告知下,需要注意什么地方,折腾了一天了。
3
帖子
0
勋章
218
Y币
技术咨询-Kenny 发表于 2017-3-28 19:23
要在iOS上测试推送,首先你的mobileprovision需要支持推送功能,即创建appid的时候必须勾选了推送功能。如 ...

问题终于找到了,确实是我一直用的第一次的描述文件,那个里面没有勾选推送,所以出现了这么多问题。我总结了下,其实问题还是在于很多没搞过IOS的不知道各种证书、描述文件的区别。我这边大概说下吧,免得还有其他人有我这个问题:首先 我们做开发的时候,需要开发证书,如果需要推送服务,还需要推送证书,不管哪个证书,都有描述文件(mobileprovision结尾的)和证书私钥P12结尾的文件,也就是说mobileprovision可以共用,必须勾选了推送服务才能使用推送服务。故有三个文件 mobileprovision(必须勾选了推送)、开发P12、推送P12, 然后在我们apicloud证书管理ios栏位上传描述文件 和开发p12,在第三方推送网站上 上传推送P12即可。基本按照这个做,IOS推送是没问题的
13
帖子
3
勋章
1169
Y币
把代码贴出来吧 , 我瞅瞅
3
帖子
0
勋章
218
Y币
  1. var ajpush = api.require('ajpush');
  2.                 if(api.systemType=='android')
  3.                 {
  4.                         ajpush.init(function(ret) {
  5.                             if (ret && ret.status){
  6.                                 //alert(ret.status);
  7.                             }
  8.                         });
  9.                 }
  10.                 ajpush.getRegistrationId(function(ret,err) {
  11.                        alert(ret + err);
  12.                     var registrationId = ret.id;
  13.                     alert(JSON.stringify(err));
  14.                 });
  15.                 ajpush.setListener(
  16.                     function(ret,err) {
  17.                             alert(JSON.stringify(err));
  18.                          var id = ret.id;
  19.                          var title = ret.title;
  20.                          var content = ret.content;
  21.                          var extra = ret.extra;
  22.                         
  23.                          ajpush.setBadge({
  24.                                     badge:1
  25.                                 });

  26.                     }
  27.                 );
复制代码
5
帖子
0
勋章
3281
Y币

那安卓getRegistrationId  行不行,getRegistrationId  应该放在init回调里

极光平台跟这个平台的证书要对应
3
帖子
0
勋章
218
Y币
nvwong 发表于 2017-3-28 16:53
那安卓getRegistrationId  行不行,getRegistrationId  应该放在init回调里

极光平台跟这个平台的证书要 ...

您能直接指出来吗?这个好像好多人有这个问题
3
帖子
0
勋章
218
Y币
安卓的可以写到init里,但IOS是自动注册的,那我应该什么时候调用呢?关键现在是没有注册成功,因为极光官方推送的时候,提示没有可用的设备,说明IOS手机根本没有注册过去
4
帖子
0
勋章
3946
Y币
寒非 发表于 2017-3-28 17:46
您能直接指出来吗?这个好像好多人有这个问题

ajpush.init(function(ret) {
                            if (ret && ret.status){
                               ajpush.getRegistrationId(function(ret,err) {
                       alert(ret + err);
                    var registrationId = ret.id;
                    alert(JSON.stringify(err));
                });

                            }
                        });

意思要这样
3
帖子
0
勋章
218
Y币
zhiuzun 发表于 2017-3-28 17:48
ajpush.init(function(ret) {
                            if (ret && ret.status){
                   ...

现在是IOS的机器,init里也执行不到,也没任何弹出,不知道问题在哪,感觉这个模块就是没用一样,也没任何错误
4
帖子
0
勋章
3946
Y币
寒非 发表于 2017-3-28 17:57
现在是IOS的机器,init里也执行不到,也没任何弹出,不知道问题在哪,感觉这个模块就是没用一样,也没任 ...

var ajpush = api.require('ajpush');在这一行的上面或后面做下打印,也没出现?如果没出现就是根本没调用到此接口
3
帖子
0
勋章
218
Y币
下面加输出都可以得,就是推送的相关方法里输出都不可以
123下一页
您需要登录后才可以回帖 登录

本版积分规则