集成 iOS SDK 基础功能

在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念。

初始化 SDK

  • 要求在 application 启动时做初始化,初始化的时候需要传入应用的AppID、API Version等信息;
  • 设置连接、呼叫、消息、媒体数据的 delegate;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.proxy = [[UserAgentProxy alloc] initProxyWithAppId:0 apiVersion:@"2.0" clientVersion:@"chatgame-3.0"];
    if (self.proxy) {
        self.proxy.connectDelegate = xx;  //设置连接处理 delegate
        self.proxy.callDelegate = xx; //设置呼叫处理 delegate
        self.proxy.messageDelegate = xx; //设置消息处理 delegate
        self.proxy.mediaDelegate = xx;  //设置媒体处理 delegate
    }
    return YES;
}

消息发送、呼叫等服务由 UserAgentProxy 提供,详细说明见:UserAgentProxy 说明

相关 Delegate:

iOS SDK 提供了 APNS 推送功能,如果您要使用,请跳转到 APNS 离线推送

注册

注册由 APP 自己处理,注册时 APP 服务端调用露脸云的接口创建用户对应的露脸云帐号,创建成功后会获取到露脸 UserID 和对应的 SessionID,这两个值需要返回给客户端,客户端以下接口中提到的 nameMD5、peername 及指露脸 UserIDSessionID及对应返回的 SessionID

登录

使用sessionid和username登录

    /**
     * 登录消息处理服务器
     * @param nameMd5 用户ID
     * @param session 用户的 sessionID
     * @param hostname 登录服务器信息, 通过服务端接口 /api/server/addr 获取, 内容为json数据格式
     * @param language 指定手机端语言类型, 服务端推送等相关信息将会使用此语言类型
     * @param regionCode 登录服务器的区号, 中国区 0086, 其他区 0001
     * @return true 表示调用成功
     */
 
[proxy loginToTCPServer:nameMd5 session:sessionId hostName:hostname language:@"zh_CN" regionCode:regionCode];

hostname 通过客户端 RSET 接口 /api/server/addr 获取, 把返回的 tcp_server 数据换为为String格式:

[\"192.168.1.232:7000\",\"192.168.1.233:7000\"]

退出登录

程序退出时调用

[proxy logoutFromTcpServer];