iOS 环信SDK使用日志

  1. 环信IM部分
IEMChatManager
// 给chatManager添加代理self
[EMClient.sharedClient.chatManager addDelegate:self delegateQueue:nil];
// 实现两个代理方法
- (void)cmdMessagesDidReceive:(NSArray *)aCmdMessages {
// aCmdMessages中的对象类型是EMMessage
}
- (void)messagesDidReceive:(NSArray *)aMessages {
// aMessages中的对象类型是EMMessage
}
IEMChatroomManager
// 给roomManager添加代理self
[EMClient.sharedClient.roomManager addDelegate:self delegateQueue:nil];
// 有人加入的聊天室的时候会触发这个代理
- (void)userDidJoinChatroom:(EMChatroom *)aChatroom user:(NSString *)aUsername {
  // 只能获取到在环信注册的用户名
}
  1. 环信的音视频部分(业务只用到音频)
EMConferenceManagerDelegate
// 给conferenceManager添加代理self
[EMClient.sharedClient.conferenceManager addDelegate:self delegateQueue:nil];
// 加入语音房间
// 这里可以设置roomConfig的时候带入用户的昵称头像等信息
// role为加入房间时候的角色Admin>Speaker>Audience,当role = Audience时,其他人无法通过memberDidJoin:member:代理方法获取你的头像昵称等信息
[EMClient.sharedClient.conferenceManager joinRoom: password: role: roomConfig: completion:];
// 有人加入房间会触发代理方法
- (void)memberDidJoin:(EMCallConference *)aConference member:(EMCallMember *)aMember {
  // 这里的aMember中就包含了用户设置roomConfig时的头像昵称等信息
}
// 在这个代理方法中订阅其他用户发出的数据流
- (void)streamDidUpdate:(EMCallConference *)aConference addStream:(EMCallStream *)aStream {
    // 订阅流
    [EMClient.sharedClient.conferenceManager subscribeConference:aConference
                                                        streamId:aStream.streamId
                                                 remoteVideoView:nil completion:^(EMError *aError) {

    }];
}

你可能感兴趣的:(iOS 环信SDK使用日志)