小溪云通信推送功能介绍

本文档里的接口,适用于LittlecIm.framework(v1.3.2)版本

1. 制作推送证书

第 1 步:打开苹果开发者网站。

小溪云通信推送功能介绍_第1张图片

第 2 步:从 Account 进入 Certificates, Identifiers & Profiles。

小溪云通信推送功能介绍_第2张图片

第 3 步:选择要制作的推送证书。

小溪云通信推送功能介绍_第3张图片

● 对于开发环境(sandbox)的推送证书,请选择 Apple Push Notification service SSL (Sandbox)

● 对于生产环境(production)的推送证书,请选择 Apple Push Notification service SSL (Production)

第 4 步:选择对应的 APP ID(小溪示例使用 ChatAppDemo,所以此处APP ID选择 com.cmcchy.xiaoxiApp)。

小溪云通信推送功能介绍_第4张图片

第 5 步:打开钥匙串访问 → 证书助理 → 从证书颁发机构请求证书,根据 Certificate Assistant 的提示,创建 Certificate Request。

小溪云通信推送功能介绍_第5张图片

第 6 步:上传上一步中创建的 Certificate Request 文件。

小溪云通信推送功能介绍_第6张图片

第 7 步:上传完毕后,推送证书就被正确生成了,之后我们下载下来这个证书,并双击导入系统。

小溪云通信推送功能介绍_第7张图片

2. 上传推送证书

第 1 步:打开钥匙串访问 → Certificates,我们会看到有刚刚我们制作好的推送证书。

小溪云通信推送功能介绍_第8张图片

导出并保存为 P12 格式并设置密码。

第 2 步:登录小溪管理后台。

小溪云通信推送功能介绍_第9张图片

第 3 步:输入了正确的账号后,选择对应的 APP(小溪示例使用 ChatAppDemo,选择相应环境(沙箱/线上)后点击“管理”)。

小溪云通信推送功能介绍_第10张图片

第 4 步:同时上传开发环境证书和生产环境证书。(上传之前导出的 P12 文件,密码则为此 P12 文件的密码)

小溪云通信推送功能介绍_第11张图片

● 注意:请正确上传相应环境对应的证书(创建的是 Apple Push Notification service SSL Sandbox 为开发环境;Apple Push Notification service SSL Production 为生产环境)。

3 调用小溪APNS推送接口

推送模块接口属于CMIMPushNotification类,共提供3个接口供开发者调用,分别为:传入deviceToken,订阅消息推送,取消消息推送。

3.1 传入deviceToken

调用此接口向服务器传入deviceToken。

/**
 *  @brief   配置推送需要的设备token
 *
 *  @param  deviceToken 在application的代理方法里获取到
 */
- (void)configWithDeviceToken:(NSData*)deviceToken;

◆ 首先需要注册离线推送:

//iOS8 注册APNS
if ([application respondsToSelector:@selector(registerForRemoteNotifications)]) 
{
    [application registerForRemoteNotifications];
    UIUserNotificationType notificationTypes = UIUserNotificationTypeBadge |
    UIUserNotificationTypeSound |
    UIUserNotificationTypeAlert;
    UIUserNotificationSettings *settings = [UIUserNotificationSettings 
    settingsForTypes:notificationTypes categories:nil];
    [application registerUserNotificationSettings:settings];
}
else
{
    UIRemoteNotificationType notificationTypes = UIRemoteNotificationTypeBadge |
    UIRemoteNotificationTypeSound |
    UIRemoteNotificationTypeAlert;
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:notificationTypes];
}

◆ 注册了推送功能,iOS 才会自动回调以下方法,得到 deviceToken,您需要将 deviceToken 传给 SDK。

// 将得到的deviceToken传给SDK
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:
(NSData *)deviceToken
{
     //获取终端设备标识,服务器端推送消息到APNS时需要知道终端的标识,APNS通过注册的终端标识找到终端设备
    [[CMIMPushNotification defaultManager]configWithDeviceToken:deviceToken];
}
 
// 注册deviceToken失败
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:
(NSError *)error
{
    NSLog(@"error -- %@",error);
}
● APNS 注册失败,一般是由于使用了通用证书或者是模拟器调试导致,请检查证书并用真机调试。此处是 iOS 系统报的错,
  如仍不能确定,请从网上查找相关资料。

3.2 订阅消息推送

调用此接口向服务器订阅消息推送。

/**
 *  订阅推送
 *
 *  @param bProductCrtType    推送证书类型: YES为product证书类型(发布用), NO为develop证书类型(开发调试用)
 *  @param subscribeSucessful 订阅成功回调
 *  @param subscribeFail      订阅失败回调
 */
- (void)subscribePushNotification:(BOOL)bProductCrtType 
              subscribeSuccessful:(subscribeSucessful)subscribeSucessful 
                    subscribeFail:(subscribeFail)subscribeFail;

调用示例(一般在登录成功后调用):

//订阅推送通知
[[CMIMPushNotification defaultManager] subscribePushNotification:YES subscribeSuccessful:^{
            NSLog(@"subscribePushNotification successful!);
 } subscribeFail:^(NSString *error) {
            NSLog(@"subscribePushNotification error:%@",error);
 }];

3.3 取消消息推送

调用此接口向服务器取消消息推送。

/**
 *  取消消息推送
 */
- (void)cancelPushNotification;

调用示例(一般在账号退出后调用):

 [[CMIMPushNotification defaultManager] cancelPushNotification];

你可能感兴趣的:(小溪云通信推送功能介绍)