继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

记一次调用极光推送的惨痛经历

天方夜歌
关注TA
已关注
手记 4
粉丝 2
获赞 15

       我从事iOS开发有3年了,从第一年的时候开始用极光推送,每次使用极光推送的时候都觉得特别简单,因为按照极光推送的文档配置一遍,测试一下推送通知和自定义消息,然后设置别名(alias)以此标识不同的用户。

        我每次都是在极光推送通知登录之后记一次别名(alias),如图所示:

https://img3.mukewang.com/5bdbae2a00011f4114980642.jpg

然后我就和开发后端的同事调试一下,确认无误,就打包上线了。。。。。。


           然后。。。。。。然后。。。。。。悲剧来了,新用户注册之后根本就接受不到注册奖励,这是为什么呢?我觉得我写的代码没有问题啊,严格按照极光推送的文档写代码的,经过后端长时间的排查发现根本就找不到用户!!!!!!!



        这是什么原因呢?我仔细想了一下,全部写在

- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
}

里面,在新用户没有注册之前是没有任何标识(alias)的,注册之后也不会再来这里运行代码设置别名啊(alias),所以错误就出在这里,所以就要想办法解决啦。


    因此,在我们注册之后,就要设置别名(alias),这个时候设置的别名才是有效的,

 [JPUSHService registrationIDCompletionHandler:
 ^(int resCode, NSString *registrationID) 
 {                
     [JPUSHService setAlias:nil  
     completion:^(NSInteger iResCode, NSString *iAlias, NSInteger seq) {
        
      }seq:444444];   
  
   }];


   注册之后就设置别名(alias),经过测试,完全正确,虽然是一个小问题,却是我对极光推送理解不到位造成的,因此我记录下来,提醒我,做什么事情都要仔细阅读,尤其是作为程序员,写代码一定要严谨!!!!!!!!!!!!!!!!!!!!


打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP