手记

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

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

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

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


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



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

- (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),经过测试,完全正确,虽然是一个小问题,却是我对极光推送理解不到位造成的,因此我记录下来,提醒我,做什么事情都要仔细阅读,尤其是作为程序员,写代码一定要严谨!!!!!!!!!!!!!!!!!!!!


2人推荐
随时随地看视频
慕课网APP