极光推送 标签和别名设置说明

喜欢交朋友的加:微信号 dwjluck2013

1.获取别名:在极光这个回调方法里面 得到 registrationID 并存储起来 登录的时候会用,

/**
 极光推送 回调
 */
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    
    /// Required - 注册 DeviceToken
    [JPUSHService registerDeviceToken:deviceToken];
    // 这个block回调获取registrationID 别名 存储起来 在登录界面传给后台
    [JPUSHService registrationIDCompletionHandler:^(int resCode, NSString *registrationID) {
        if(resCode == 0)
        {
            // iOS10获取registrationID放到这里了, 可以存到缓存里, 用来标识用户单独发送推送
            NSLog(@"registrationID获取成功:%@",registrationID);
//            [[[NSUserDefaults standardUserDefaults] setObject:registrationID forKey:@"registrationID"];
//            [[NSUserDefaults standardUserDefaults] synchronize];]
            [UserModel sharedInstanced].jpushRegistrationID = registrationID;
        }
        else
        {
            NSLog(@"registrationID获取失败,code:%d",resCode);
        }
    }];
}

2.极光推送 标签和别名设置(在登录的时候设置)

- (void)loginBtnClick:(UIButton *)sender{
    NSLog(@"登录");
    // 设置极光推送的标签和别名(标签是一个集合可以包含多个关键词 比如:红的、黄的、绿的)(别名是每个用户唯一的名称可以 根据这个别名给唯一的用户发推送)
    NSMutableSet *set = [[NSMutableSet alloc] initWithObjects:@"HelpYou_1.0",nil, nil]; // 标签
    NSString *registrationIdStr = [UserModel sharedInstanced].jpushRegistrationID; // 别名
    [JPUSHService setTags:set alias:registrationIdStr callbackSelector:@selector(tagsAliasCallback:tags:alias:) object:self];
    //写后接口的时候  调用后台接口 把registrationIdStr传给后台
}
// 极光推送 标签和别名设置成功回调
- (void)tagsAliasCallback:(int)iResCode tags:(NSSet*)tags alias:(NSString*)alias {
    NSLog(@"rescode: %d, 
tags: %@, 
alias: %@
", iResCode, tags , alias);
}

3.退出登录的时候 可以把标签和别名设置为nil 这样推送的时候就得到不推送的消息了

[JPUSHService setTags:nil alias:nil callbackSelector:@selector(tagsAliasCallback:tags:alias:) object:self];

流程总结:别名在delegate.m极光回调方法中得到(如1步骤代码);在登录的时候传给后台,并调用极光的方法给极光;之后的事就是公司后台用这个别名给极光进行推送了(和我们前台就无关了)

原文地址:https://www.cnblogs.com/dujiahong/p/9166379.html