title: 快速入门

你可以通过以下教程快速了解 IM 的用法。同时,你可以通过 IM Demo 进行体验。

环境准备

  • 支持 Xcode 7.0 及以上版本
  • 支持 iOS 8.0 及以上版本

1. 创建应用

首先,你需要在控制面板中创建应用。请参考 控制面板-创建应用

2. 安装 SDK

SDK 的安装方式有两种,你可以任选其一:

  • 使用 CocoaPods

要将 Wilddog IM SDK 导入到你的工程中,推荐使用 CocoaPods,如果没用过 CocoaPods,请先访问 CocoaPods getting started

打开工程目录,新建一个 Podfile 文件:

  1. $ cd your-project-directory
  2. $ pod init
  3. $ open -a Xcode Podfile # opens your Podfile in XCode

然后在 Podfile 文件中添加以下语句:

  1. pod 'WilddogIM'

最后安装 SDK:

  1. $ pod install
  2. $ open your-project.xcworkspace


  • 手动集成
  1. 下载 Sync SDK 点此下载
  2. 下载 Core SDK 点此下载
  3. 下载 Auth SDK 点此下载
  4. 下载 IM SDK 点此下载
  5. 把 WilddogSync.framework、WilddogCore.framework、WilddogAuth 和 WilddogIM 拖到工程目录中。
  6. 选中 Copy items if needed 、Create Groups,点击 Finish。
  7. 点击工程文件 -> TARGETS -> General,在 Linked Frameworks and Libraries 选项中点击 ‘+’,将 JavaScriptCore.framework、 libsqlite3 加入列表中。

3. 引入头文件

  1. import <WilddogIM/WilddogIM.h>

4. 集成用户和初始化

IM 的用户系统完全兼容 Wilddog Auth 产品的用户系统。你可以使用 Auth 的邮箱、电话、匿名等登录方式与 IM 结合使用,也可以使用 Auth 产品的 customToken 的方式来集成开发者的已有用户系统。 用 customToken 的方式,首先需要提供野狗 Server SDK 生成的 customToken,开发者需要提供用户的 ID、昵称、头像。 具体流程如下:

  1. 客户端向开发者服务器请求 customToken。
  2. 开发者服务器使用野狗 Server SDK 生成 customToken 返回给客户端。
  3. 客户端使用 customToken 登录 Wilddog IM 服务。
  1. // 用 Wilddog Auth Token 登录
  2. [[WDGAuth auth] signInWithCustomToken:wilddogToken completion:^(WDGIMUser * _Nullable currentUser, NSError * _Nullable error) {
  3. if(!error){
  4. // 初始化 SDK。
  5. [[WDGIM im] setDelegate:self];
  6. }
  7. }];

提示:

你可以在 控制面板 - 即时通讯 - 接口测试 中手动生成 Token 用于测试。

5. 发起聊天

发起聊天需要三个步骤:

  1. 创建会话
  2. 创建消息体
  3. 发送消息

例如,发送一条文本消息:

  1. //创建会话,传入的数组中默认包含登录用户 ID
  2. [[WDGIMClient defaultClient] newConversationWithMembers:@[@"UserID"] completion:^(WDGIMConversation * _Nullable conversation, NSError *__autoreleasing _Nullable * _Nullable error) {
  3. //创建文字消息
  4. WDGIMMessageText *textMessage = [WDGIMMessage messageWithText:@"Hello, Wilddog!"];
  5. //发送消息
  6. [conversation sendMessage:textMessage completion:^(WDGIMMessage * _Nullable msg, NSError * _Nullable err) {
  7. //msg 是发送成功后的消息
  8. }];
  9. }];

6. 接收消息

WDGIMClientDelegate 的代理方法 -wilddogClient:didRecieveMessages: 用于接收新消息。

  1. //实现监听消息的方法
  2. - (void)wilddogClient:(WDGIMClient *)client didRecieveMessages:(NSArray<WDGIMMessage *> *)messages
  3. {
  4. for (WDGIMMessage *msg in messages) {
  5. switch (msg.messageType) {
  6. //文本消息
  7. case WDGIMMessageTypeText:
  8. break;
  9. //图片消息
  10. case WDGIMMessageTypeImage:
  11. break;
  12. //语音消息
  13. case WDGIMMessageTypeVoice:
  14. break;
  15. default:
  16. break;
  17. }
  18. }
  19. }