ios 集成极光后需要干的事

第一步的配置

//注册APNs成功并上报DeviceToken
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    
    /// Required - 注册 DeviceToken
    NSLog(@"%@", [NSString stringWithFormat:@"Device Token: %@", deviceToken]);
    __autoreleasing NSMutableSet *tags = [NSMutableSet set];

//这里就是向极光注册别名,别名是唯一的, 可以用用户名,或者电话号码等 .到时候你们后台 根据alias找到相应的用户进行推送. tags 可以传空

// 在登录成功之后也要注册一次  [JPUSHService setTags:tags alias:USER_USER fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) 这个方法

    [JPUSHService setTags:tags alias:USER_USER fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {
        if(iResCode == 0){
            NSLog(@"registrationID获取成功:%@",iAlias);
        }
        else{
            NSLog(@"registrationID获取失败,code:%d",iResCode);
        }
    }];

//极光注册

    [JPUSHService registerDeviceToken:deviceToken];

    // 坑在这里,如果同时集成了环信和极光,要去环信的 appdelegate 里将他的注册移动到 appdelegate 里,和极光一起注册
//环信注册
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        [[EMClient sharedClient] bindDeviceToken:deviceToken];
    });
    
}

第二步的配置

//完成以上步骤,就可以接受到后台给你的推送了,

- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler {
    //这里就可以得到推送的数据了
    NSDictionary * userInfo = response.notification.request.content.userInfo;
   
    if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
       // 这里就可以对 ui 进行操作,用户点击了推送,跳转到哪一个页面就在这里进行
//进行 push 模态跳转页面.

    }else{
        //本地通知
        
    }
    
    completionHandler();  // 系统要求执行这个方法
}

你可能感兴趣的:(ios 集成极光后需要干的事)