Group applications overview
Retrieve, process, and listen for group applications on iOS.
When a group enables join verification, member join requests require administrative review by the group owner or an administrator. Group applications are encapsulated by OIMGroupApplicationInfo models, using the composite key groupID:userID (where userID is the applicant's user ID) as the primary identifier for deduplication and local cache merges.
Application operations
- Retrieve received group applications: Paginated query for incoming applications reviewed by owners and administrators.
- Retrieve sent group applications: Paginated query for outgoing applications submitted by the current user.
- Retrieve unhandled group application count: Count of pending review requests for badge and notification displays.
- Accept a group application: Approve a join request and admit the applicant into the group.
- Reject a group application: Decline an incoming join request.
- Delete group application records: Prune application history records from storage.
Application event listeners
Handle application lifecycle events by implementing the OIMGroupListener protocol:
- (void)startApplicationEvents {
[[OIMManager callbacker] addGroupListener:self];
}
- (void)stopApplicationEvents {
[[OIMManager callbacker] removeGroupListener:self];
}
- (void)onGroupApplicationAdded:(OIMGroupApplicationInfo *)item {
// New group application received
[self upsertApplication:item];
}
- (void)onGroupApplicationAccepted:(OIMGroupApplicationInfo *)item {
// Group application accepted
[self upsertApplication:item];
}
- (void)onGroupApplicationRejected:(OIMGroupApplicationInfo *)item {
// Group application rejected
[self upsertApplication:item];
}
- (void)onGroupApplicationDeleted:(OIMGroupApplicationInfo *)item {
// Group application record deleted
[self removeApplication:item];
}All application events use groupID:userID as the primary key. When new application notifications arrive during pagination, reset the pagination offset to 0 and re-query the list to ensure accurate badge counts and item ordering.
Was this page helpful?