在开始接收这个项目时,觉得推送,只要按文档做就会比较快,,谁知道如果完全按文档的话,确实坑不少,比如说开发模式和生产模式的推送,就是一个很明显的,必须要选择第三个,是属于专属对于推送的.这也是开始折腾的不行的,比如,不同的标签,或者别名的不同,比如两个标签,或者一个标签一个别名,如果不按正常,也是不行的,
先将下一个标签,一个别名,可能各有不同,
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的话,那样做测试,是不行的.还有一个坑,不是打包最后一步,说起也是真他妈坑,别人用我的可以有推送,但是我的就是没有推送,原来,习惯了下一步,下一步步骤,选择打包的时候,有专门做推送测试的打包,
一定要选择第三个,否则你打包测试不了的,好啦 今天暂时说这些