Access
Connect cross-platform accounts & identity management
The Groups service allows players to gather to chat and play together. This service allows players to create, join, and invite other players to groups. Group admins can also manage join requests and add members to or remove members from their group. The Groups service can be integrated with other services such as Lobby, Statistics, and Leaderboards, to extend its functionality. For example, you can create groups for players that have achieved a specific level or rank in your game.
There are three types of groups that can be created:
Make sure you’ve read about Roles Management to know the basics of creating a role.
Permissions are used to grant access to specific resources within our services. Make sure your account has the following permissions before you attempt to manage groups in the Admin Portal. For a full list of permissions that impact groups management, see the Groups tab of the permissions reference.
Usage | Resource | Action |
List Group Configuration | ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION | Read |
Create New Configuration | ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION | Create |
Initiate Configuration | ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION | Create |
Get Existing Configuration | ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION | Read |
Delete Group Configuration | ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION | Delete |
Update Existing Configuration | ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION | Update |
Update Existing Configuration Global Rule | ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION | Update |
Delete Existing Configuration Global Rule Based On Allowed Action | ADMIN:NAMESPACE:{namespace}:GROUP:CONFIGURATION | Update |
Get List Of Groups | ADMIN:NAMESPACE:{namespace}:GROUP | Read |
Get Single Group | ADMIN:NAMESPACE:{namespace}:GROUP | Read |
Delete Existing Group | ADMIN:NAMESPACE:{namespace}:GROUP:{groupId} | Delete |
Get a List Of Group Members | ADMIN:NAMESPACE:{namespace}:GROUP:MEMBER | Read |
Get All List Of Member Roles | ADMIN:NAMESPACE:{namespace}:GROUP:ROLE | Read |
Create New Member Role | ADMIN:NAMESPACE:{namespace}:GROUP:ROLE | Create |
Get the Member Role | ADMIN:NAMESPACE:{namespace}:GROUP:ROLE | Read |
Delete Member Role | ADMIN:NAMESPACE:{namespace}:GROUP:ROLE | Delete |
Update Member Role | ADMIN:NAMESPACE:{namespace}:GROUP:ROLE | Update |
Update Member Role Permission | ADMIN:NAMESPACE:{namespace}:GROUP:ROLE | Update |
Permissions work slightly differently depending on whether they are assigned to IAM Clients or Roles assigned to users. For more information, read the Authentication and Authorization documentation.
Click Add when you’re done.
When you’re done, click Save.
You can create a new group once you have a group configuration in your namespace. The members of your group will be admins by default.
Search for a group by its name or region. The results will be paginated, and you can use offset and limit parameters to limit the list. This function only shows PUBLIC and OPEN groups.
Get information about a group by using the Group ID.
You can get a player’s group information using this function. If the player you requested doesn’t belong to any group, the returned status will be ErrorCode.UserNotBelongToAnyGroup, and the player will be able to be invited to a group.
This function is to call the group information of other users with a specific user ID.
Use this function to get a group’s member list.
A group’s information such as its name, icon, description, region, and type can be updated with this function. Only members with an admin role can update the group’s information.
You can also update a group’s custom attributes separately using this function. Just like the group information update, only members with an admin role can update the group’s custom attributes.
Players can request to join open or public groups. An OPEN group will allow players to automatically join, whereas a join request to a PUBLIC group will need to be approved by an admin before the player can join.
After a player requests to join a group, that request can be canceled.
To leave a group, you can use this function.
Group admins can also invite players to join their group. A PRIVATE group can use this function to add new members. Players need to accept the invitation before they can join the group.
Group admins can also kick group members out of the group.
Players can get the list of group invitation requests, to either accept or reject these invitations.
After getting the invitation list, players can accept an invitation.
Players can also reject any invitation request.
Group admins can get the list of group member join requests, to either approve or reject them.
After getting the list of join requests, a group admin can accept them to the group.
Group admin can also reject any member join request.
You can use this endpoint to get users’ presence information in bulk.
Every group member has roles assigned to them, which can be used to restrict or allow access to features such as: inviting a member, kicking a member, etc. Every group member will automatically be assigned to the default member role that is already defined in the group configuration. This can be either an admin group role or a member group role.
An admin can get a list of the member roles that have already been created in the Admin Portal.
An admin can promote a member to a specific role, as long as the role has been defined for that group.
An admin can also remove a role from a member.
Some group activity will trigger notifications that will be sent to individual players, to group admins, or to all group members. The notification payload will be a JSON formatted string that contains data related to the triggered activity. To retrieve these notifications, you need to add a callback to the OnNotification function.
Here’s an example of the payload for a notification sent to a player when they’ve been invited to join a group:
{
"groupName": "nameOfGroup",
"groupId": "groupId",
"kind": "invitation"
}
Here’s an example of the payload for a notification sent to a player when their request to join a group has been accepted:
{
"groupName": "nameOfGroup",
"groupId": "groupId",
"kind": "accepted-request"
}
Here’s an example of the payload for a notification sent to a player when their request to join a group has been rejected:
{
"groupName": "nameOfGroup",
"groupId": "groupId",
"kind": "rejected-request"
}
Here’s an example of the payload for a notification sent to all group members when a new member has joined their group:
{
"groupName": "nameOfGroup",
"groupId": "groupId",
"newGroupMember": "newGroupMemberId",
"kind": "new-member"
}
Here’s an example of the payload for a notification sent to group admins when a player has requested to join their group:
{
"groupName": "nameOfGroup",
"groupId": "groupId",
"newGroupMember": "newGroupMemberId",
"kind": "join-request"
}
Here’s an example of the payload for a notification sent to a player when a group admin has assigned a role to them:
{
"groupName": "nameOfGroup",
"groupId": "groupId",
"newGroupMember": "newGroupMemberId",
"roleId": "roelId",
"kind": "assigned-role"
}
And here’s the payload if a group admin removes a role from a player:
{
"groupName": "nameOfGroup",
"groupId": "groupId",
"newGroupMember": "newGroupMemberId",
"roleId": "roelId",
"kind": "removed-role"
}
Before using the Groups service from the SDK, you will need to initialize your server-side SDK to ensure you are authorized and able to perform create, read, update, and delete actions.
Before using the Groups service from the Golang SDK, you will need to initialize the SDK by following the steps below:
Once completed, you can use the Golang SDK to create, read, update, and delete Groups (opens new window) from your serverless app.
Before using the Groups service from the Python SDK, you will need to initialize the SDK by following the steps below:
Once completed, you can use the Python SDK to create, read, update, and **delete **Groups (opens new window) from your serverless app.
To use the Group Service, make sure you have the necessary permissions.
Before using the Group service, you will need to set some permissions. Use the following .NET namespaces:
using AccelByte.Sdk.Api.Group.Model;
using AccelByte.Sdk.Api.Group.Operation;
using AccelByte.Sdk.Api.Group.Wrapper;
Before using the Group service, you will need to set some permissions. Initialize the Group wrapper from the Group service using the following code:
Group wGroup = new Group(sdk);
Once completed, you can use the SDK to create, read, update, or delete groups.
Use the following function to create a group (opens new window):
Use the following function to delete a group (opens new window):
Use the following function to retrieve a group (opens new window):
Use the following function to update a group (opens new window):