Join a Group
Join a Group
In order to start participating in group conversations, you will have to join a group. You can do so using the joinGroup()
method.
- Swift
- Objective C
let guid = "cometchat-guid-11";
let password = nil; // mandatory in case of password protected group type
CometChat.joinGroup(GUID: guid, groupType: .public, password: nil, onSuccess: { (group) in
print("Group joined successfully. " + group.stringValue())
}) { (error) in
print("Group joining failed with error:" + error!.errorDescription);
}
NSString *guid = @"cometchat-guid-101";
NSString *password = nil ; // mandatory in case of password protected group type
[CometChat joinGroupWithGUID:guid groupType:groupTypePublic password:password onSuccess:^(Group * group) {
// Success
NSLog(@"Group joined successfully: %@",[group stringValue]);
} onError:^(CometChatException * error) {
// Error
NSLog(@"Group joining failed with exception: %@",[error errorDescription])
}];
The joinGroup()
method takes four parameters
Parameter | Description |
---|---|
GUID | The GUID of the group you would like to join |
groupType | Type of the group. CometChat provides 3 types of groups viz. .public .private .password |
password | The password is mandatory in case of a .password protected the group. |
Once you have joined a group successfully, you can send and receive messages in that group.
CometChat keeps a track of the groups joined and you do not need to join the group every time you want to communicate in the group.
You can identify if a group is joined using the hasJoined
parameter in the Group
object.
Real-time Group Member Joined Events
In other words, as a recipient, how do I know when someone joins a group?
To receive Real-Time Events for the same, you need to implement the onMemberAddedToGroup()
method of the GroupListener
class.
- Swift
- Objective C
extension AppDelegate: CometChatGroupDelegate {
func onMemberAddedToGroup(action: ActionMessage, addedBy: User, addedUser: User, addedTo: Group) {
//When any member is added in the group this function will be called
}
}
@interface ViewController ()<CometChatGroupDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[CometChat setGroupdelegate:self];
}
- (void)onMemberAddedToGroup:(Action *)action addedBy:(User * _Nonnull)addedBy addedUser:(User * _Nonnull)addedUser addedTo:(Group * _Nonnull)addedTo {
//When any member is added in the group this function will be called
}
@end
Missed Group Member Joined Events
In other words, as a member of a group, how do I know if someone joins the group when my app is not running?
When you retrieve the list of previous messages if a member has joined any group that the logged-in user is a member of, the list of messages will contain an Action
message. An Action
message is a sub-class of BaseMessage
class.
For the group member joined the event, in the Action
object received, the following fields can help you get the relevant information-
action
-joined
actionBy
- User object containing the details of the user who joined the groupactionFor
- Group object containing the details of the group the user has joined