集成 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:
- ConnectDelegate 处理连接的 Delegate
- CallDelegate 处理呼叫的 Delegate
- MessageDelegate 处理消息的 Delegate
- MediaDelegate 处媒体数据的 Delegate
iOS SDK 提供了 APNS 推送功能,如果您要使用,请跳转到 APNS 离线推送 。
注册
注册由 APP 自己处理,注册时 APP 服务端调用露脸云的接口创建用户对应的露脸云帐号,创建成功后会获取到露脸 UserID 和对应的 SessionID,这两个值需要返回给客户端,客户端以下接口中提到的 nameMD5、peername 及指露脸 UserID,SessionID及对应返回的 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];