iOS AVGroup

hi,
AVOS team,我在使用2.6.1版本的SDK时,发现AVSession中有部分AVGroup的方法被注释
不知这些方法,比如:- (void)openForGroupChat:(NSString *)selfId; 什么时候开放?

另外,我通过AVUser来open一个session,但之后发送消息后,另一端从未收到消息

类似:

[self.session open:curUser.uid withPeerIds:self.uidArray];
self.group = [self.session getGroup:@"aStaticGroupID"];
[self.group setDelegate:self];
if ([self.group join]) {
NSLog(@"join succeed");
[self.group sendMessage:@"hello, group" isTransient:NO];
}

请教如何实现群聊?

阅读 2.1k
1 个回答

groupId是服务器生成的,不能自己指定,可以[_session getGroup:nil]表示创建新的group,可以参考下面的代码

//创建新的group
- (AVGroup *)startNewGroup {
    AVGroup *group = [_session getGroup:nil];
    group.delegate = self;
    [group join];
    return group;
}
//加入一个已知的group
- (AVGroup *)joinGroup:(NSString *)groupId {
    AVGroup *group = [_session getGroup:groupId];
    group.delegate = self;
    [group join];
    return group;
}

- (void)session:(AVSession *)session group:(AVGroup *)group didReceiveGroupEvent:(AVGroupEvent)event memberIds:(NSArray *)memberIds {
    if (event == AVGroupEventSelfJoined) {
        //这里是group创建或加入成功
        //如果是新创建的group,这里可以取到group.groupId
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进