美文网首页
极光推送的坑

极光推送的坑

作者: Joe_lisa | 来源:发表于2016-12-23 11:07 被阅读312次

    在开始接收这个项目时,觉得推送,只要按文档做就会比较快,,谁知道如果完全按文档的话,确实坑不少,比如说开发模式和生产模式的推送,就是一个很明显的,必须要选择第三个,是属于专属对于推送的.这也是开始折腾的不行的,比如,不同的标签,或者别名的不同,比如两个标签,或者一个标签一个别名,如果不按正常,也是不行的,

     先将下一个标签,一个别名,可能各有不同,

    if(result[@"d"][@"R_DepartmentId"]&&result[@"d"][@"Id"]) {

    NSLog(@"上传标签及别名给极光");

    NSString*tag = [NSStringstringWithFormat:@"%ld",(long)[result[@"d"][@"R_DepartmentId"]integerValue]]; 

    这里是我的一个tag "R_DepartmentId"   一个alias   "Id"

    NSString* alias = [NSStringstringWithFormat:@"%ld",(long)[result[@"d"][@"Id"]integerValue]];

    NSSet* UserTags = [[NSSetalloc]initWithObjects:tag,nil];

    [JPUSHServicesetTags:UserTagsaliasInbackground:alias]

    如果是两个tag ,说真的,开始还真的不知道怎么去弄,开始想的无非就是NSset 但是后来觉得不是那么一回事的,

    NSString*Class_Tag = [NSStringstringWithFormat:@"Class_%ld",(long)[result[@"d"][@"R_DepartmentId"]integerValue]];

    NSString*User_Tag = [NSStringstringWithFormat:@"User_%ld",(long)[result[@"d"][@"Id"]integerValue]];

    NSString* alias = User_Tag;

    NSSet* UserTags = [[NSSetalloc]initWithObjects:Class_Tag,User_Tag,nil];

    NSLog(@"===========%@", Class_Tag);

    NSLog(@"==========%@", User_Tag);

    [JPUSHServicesetTags:UserTagsalias:aliasfetchCompletionHandle:^(intiResCode,NSSet*iTags,NSString*iAlias) {

    NSLog(@"rescode: %d, \ntags: %@, \nalias: %@\n", iResCode, iTags , iAlias);

    }];

    可能你开始觉得很简单,但是我们是一个APP 两个客户端,之间的通讯,开始也确实遇到很多困难,当然现在是困难过后,好像就是那么几行代码,

    还有判断要打印[JPUSHServicesetDebugMode]; 看是否集成,打印极光日志关键还是很重要,至于说其他的至于说其他的,比如说生产证书和开发证书,的制作就不说, 还有遇到一个巨坑,应该是生产黄金,打包成IPA的时候,一定要选择成ad-hot ,如果直接选择成Appstore的话,那样做测试,是不行的.还有一个坑,不是打包最后一步,说起也是真他妈坑,别人用我的可以有推送,但是我的就是没有推送,原来,习惯了下一步,下一步步骤,选择打包的时候,有专门做推送测试的打包,

    测试

    一定要选择第三个,否则你打包测试不了的,好啦 今天暂时说这些

    相关文章

      网友评论

          本文标题:极光推送的坑

          本文链接:https://www.haomeiwen.com/subject/xdxkvttx.html