集成方式

QD_IMSDK 通过手动下载 SDK, 然后添加到您的项目中。

手动集成

需要做以下步骤: 将下载的 SDK 拖动到 Targets -> General -> Embedded Binaries 里,如下图弹框这样选择

即可完成集成。

自动集成

暂不支持...

类库说明

QD_IMSDK 主要提供了如下类(协议)与方法

类(协议) 描述 说明
QDClient SDK的主入口类 提供初始化,注册,内部管理的公共能
QDIMLoginManager 登录管理类 负责登录,注销和相应的回调收发
QDIMChatManager 聊天/会话管理类 负责消息、最近会话的管理
QDIMGroupManager 群组管理类 负责群组各种操作
QDIMSystemNotificationManager 系统通知管理类 负责系统消息的接收和存储
QDIMApnsManager 推送管理类 负责推送的设置和接收
QDIMResourceManager 资源管理类 负责文件上传
QDIMUserManager 用户管理类 负责好友的增删查以及会话的设置

调用规则

调用方式

所有业务均通过 QDClient 单利调用

@interface QDClient : NSObject

/**
 *  获取 SDK 实例
 *
 *  @return QDClient 是咧
 */
+ (instancetype)sharedClient;

@end

以获取登录管理类为例:

id<QDIMLoginManager> loginManager =  [[QDClient sharedClient] loginManager];

我们强烈推荐您在且只在主线程调用相应接口。

通知方式

SDK 通过两种方式通知上层 API 调用结果:回调(callback)和委托 (delegate),两种方式都只在主线程触发。

一般回调接口直接反映在对应接口的 completion 参数上,调用时设置即可。而委托则需要开发者在合适时机在对应管理类上进行添加和移除:一般推荐在相应 ViewController 或管理类初始化进行委托注册,在其销毁时进行移除。

例如,开发者需要在在会话页上监听消息的发送结果

@implementation MySessionViewController

- (void)dealloc
{
  ...
    [[QDClient sharedClient].chatManager removeDelegate:self];
  ...
}

- (void)viewDidLoad 
{
  ...
    [[QDClient sharedClient].chatManager addDelegate:self];
  ...
}

#pragma mark - QDChatManagerDelegate
- (void)sendMessage:(QDMessage *)message didCompleteWithError:(nullable NSError *)error
{
    //发送结果
}

所有调用错误都会以 NSError 的形式暴露。针对不同场景,我们将错误进行分类,主要分为以下两种错误域和对应错误码

错误域 错误码 说明
QDIMLocalErrorDomain QDLocalErrorCode 本地操作出错导致
QDIMRemoteErrorDomain QDRemoteErrorCode 与服务器交互出错导致

在开发过程中遇到错误情况,可以对照错误域和错误码进行排查,具体定义可以参考 QDGlobalDefs.h。当然在开发过程中你也可以通过检视 NSError 中 userInfo 对应的错误描述信息定位问题。

results matching ""

    No results matching ""