NakamaBaseClient class abstract

This defines the interface to communicate with Nakama API. It is a little tricky to support web (via REST) and io (via gRPC) with just one codebase so please don't use this directly but get your fitting instance with getNakamaClient().

Implementers

Constructors

NakamaBaseClient()
NakamaBaseClient.init({String? host, String? serverKey, String key = _kDefaultAppKey, int httpPort = 7350, int grpcPort = 7349, bool ssl = false})

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addFriends({required Session session, List<String>? usernames, List<String>? ids}) Future<void>
Adding friends
addGroupUsers({required Session session, required String groupId, required Iterable<String> userIds}) Future<void>
Accepting join requests
authenticateApple({required String token, bool create = true, String? username, Map<String, String>? vars}) Future<Session>
authenticateCustom({required String id, bool create = true, String? username, Map<String, String>? vars}) Future<Session>
Custom authentication
authenticateDevice({required String deviceId, bool create = false, String? username, Map<String, String>? vars}) Future<Session>
Device authentication
authenticateEmail({String? email, String? username, required String password, bool create = false, Map<String, String>? vars}) Future<Session>
authenticateFacebook({required String token, bool create = true, String? username, Map<String, String>? vars, bool import = false}) Future<Session>
#Facebook authentication
authenticateFacebookInstantGame({required String signedPlayerInfo, bool create = true, String? username, Map<String, String>? vars}) Future<Session>
authenticateGameCenter({required String playerId, required String bundleId, required int timestampSeconds, required String salt, required String signature, required String publicKeyUrl, bool create = true, String? username, Map<String, String>? vars}) Future<Session>
authenticateGoogle({required String token, bool create = true, String? username, Map<String, String>? vars}) Future<Session>
authenticateSteam({required String token, bool create = true, String? username, Map<String, String>? vars, bool import = false}) Future<Session>
Authenticate with steam token
banGroupUsers({required Session session, required String groupId, required Iterable<String> userIds}) Future<void>
Banning members
blockFriends({required Session session, List<String>? usernames, List<String>? ids}) Future<void>
Blocking users
createGroup({required Session session, required String name, String? avatarUrl, String? description, String? langTag, int? maxCount, bool? open}) Future<Group>
Creating groups
deleteFriends({required Session session, List<String>? usernames, List<String>? ids}) Future<void>
Deleting friends
deleteGroup({required Session session, required String groupId}) Future<void>
Deleting groups
deleteLeaderboardRecord({required Session session, required String leaderboardName}) Future<void>
Deleting records
deleteNotifications({required Session session, required Iterable<String> notificationIds}) Future<void>
Deleting notifications
deleteStorageObject({required Session session, required Iterable<StorageObjectId> objectIds}) Future<void>
demoteGroupUsers({required Session session, required String groupId, required Iterable<String> userIds}) Future<void>
Demoting members
getAccount(Session session) Future<Account>
Get the user account
getUsers({required Session session, List<String>? facebookIds, List<String>? ids, List<String>? usernames}) Future<List<User>>
Getting users
joinGroup({required Session session, required String groupId}) Future<void>
Joining a group
joinTournament({required Session session, required String tournamentId}) Future<void>
Joining tournaments
kickGroupUsers({required Session session, required String groupId, required Iterable<String> userIds}) Future<void>
Kicking members
leaveGroup({required Session session, required String groupId}) Future<void>
Leaving groups
linkApple({required Session session, required String token, Map<String, String>? vars}) Future<void>
linkCustom({required Session session, required String id, Map<String, String>? vars}) Future<void>
Link custom authentication
linkDevice({required Session session, required String deviceId, Map<String, String>? vars}) Future<void>
Linking Device ID authentication
linkEmail({required Session session, required String email, required String password, Map<String, String>? vars}) Future<void>
Linking E-Mail authentication
linkFacebook({required Session session, required String token, bool import = false, Map<String, String>? vars}) Future<void>
Linking Facebook authentication
linkFacebookInstantGame({required Session session, required String signedPlayerInfo, Map<String, String>? vars}) Future<void>
linkGameCenter({required Session session, required String playerId, required String bundleId, required int timestampSeconds, required String salt, required String signature, required String publicKeyUrl, Map<String, String>? vars}) Future<void>
Linking Game Center authentication
linkGoogle({required Session session, required String token, Map<String, String>? vars}) Future<void>
Linking Google authentication
linkSteam({required Session session, required String token, Map<String, String>? vars, bool import = false}) Future<void>
Linking steam authentication
listChannelMessages({required Session session, required String channelId, int limit = defaultLimit, bool? forward, String? cursor}) Future<ChannelMessageList>
#Listing message history
listFriends({required Session session, FriendshipState? friendshipState, int limit = defaultLimit, String? cursor}) Future<FriendsList>
Listing friends
listGroups({required Session session, String? name, String? cursor, String? langTag, int? members, bool? open, int limit = defaultLimit}) Future<GroupList>
Listing and filtering groups
listGroupUsers({required Session session, required String groupId, String? cursor, int limit = defaultLimit, GroupMembershipState? state}) Future<GroupUserList>
Listing the user’s groups
listLeaderboardRecords({required Session session, required String leaderboardName, List<String>? ownerIds, int limit = defaultLimit, String? cursor, DateTime? expiry}) Future<LeaderboardRecordList>
Listing the top records
listLeaderboardRecordsAroundOwner({required Session session, required String leaderboardName, required String ownerId, int limit = defaultLimit, DateTime? expiry}) Future<LeaderboardRecordList>
listMatches({required Session session, bool? authoritative, String? label, int limit = defaultLimit, int? maxSize, int? minSize, String? query}) Future<List<Match>>
Listing matches
listNotifications({required Session session, int limit = defaultLimit, String? cursor}) Future<NotificationList>
Listing notifications
listStorageObjects({required Session session, String? collection, String? cursor, String? userId, int? limit}) Future<StorageObjectList>
Listing storage objects
listTournamentRecords({required Session session, required String tournamentId, Iterable<String>? ownerIds, int? expiry, int limit = defaultLimit, String? cursor}) Future<TournamentRecordList>
Listing records
listTournamentRecordsAroundOwner({required Session session, required String tournamentId, required String ownerId, int? expiry, int limit = defaultLimit}) Future<TournamentRecordList>
Listing records around a user**
listTournaments({required Session session, int? categoryStart, int? categoryEnd, String? cursor, DateTime? startTime, DateTime? endTime, int limit = defaultLimit}) Future<TournamentList>
Listing tournaments
listUserGroups({required Session session, String? cursor, int limit = defaultLimit, GroupMembershipState? state, String? userId}) Future<UserGroupList>
Listing the user’s groups
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
promoteGroupUsers({required Session session, required String groupId, required Iterable<String> userIds}) Future<void>
Promoting members
readStorageObject({required Session session, String? collection, String? key, String? userId}) Future<StorageObject?>
Reading storage objects
rpc({required Session session, required String id, String? payload}) Future<String?>
sessionLogout({required Session session}) Future<void>
Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.
sessionRefresh({required Session session, Map<String, String>? vars}) Future<Session>
toString() String
A string representation of this object.
inherited
unlinkApple({required Session session, required String token, Map<String, String>? vars}) Future<void>
unlinkCustom({required Session session, required String id, Map<String, String>? vars}) Future<void>
unlinkDevice({required Session session, required String deviceId, Map<String, String>? vars}) Future<void>
unlinkEmail({required Session session, required String email, required String password, Map<String, String>? vars}) Future<void>
unlinkFacebook({required Session session, required String token, Map<String, String>? vars}) Future<void>
unlinkFacebookInstantGame({required Session session, required String signedPlayerInfo, Map<String, String>? vars}) Future<void>
unlinkGameCenter({required Session session, required String playerId, required String bundleId, required int timestampSeconds, required String salt, required String signature, required String publicKeyUrl, Map<String, String>? vars}) Future<void>
unlinkGoogle({required Session session, required String token, Map<String, String>? vars}) Future<void>
unlinkSteam({required Session session, required String token, Map<String, String>? vars, bool import = false}) Future<void>
updateAccount({required Session session, String? username, String? displayName, String? avatarUrl, String? langTag, String? location, String? timezone}) Future<void>
Update the user account
updateGroup({required Session session, required String groupId, String? name, String? avatarUrl, String? description, String? langTag, int? maxCount, bool? open}) Future<void>
Update group visibility
writeLeaderboardRecord({required Session session, required String leaderboardName, int? score, int? subscore, String? metadata}) Future<LeaderboardRecord>
Submitting scores
writeStorageObject({required Session session, String? collection, String? key, String? value, String? version, StorageWritePermission? writePermission, StorageReadPermission? readPermission}) Future<void>
Writing storage objects
writeTournamentRecord({required Session session, required String tournamentId, String? metadata, LeaderboardOperator? operator, int? score, int? subscore}) Future<LeaderboardRecord>
Submitting scores

Operators

operator ==(Object other) bool
The equality operator.
inherited