极光推送的坑

2016-12-23  本文已影响312人  Joe_lisa

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

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

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的话,那样做测试,是不行的.还有一个坑,不是打包最后一步,说起也是真他妈坑,别人用我的可以有推送,但是我的就是没有推送,原来,习惯了下一步,下一步步骤,选择打包的时候,有专门做推送测试的打包,

测试

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

上一篇 下一篇

猜你喜欢

热点阅读