NakamaRestApiClient class

Base class for communicating with Nakama via gRPC. NakamaGrpcClient abstracts the gRPC calls and handles authentication for you.

Inheritance

Constructors

NakamaRestApiClient.init({String? host, String? serverKey, String key = _kDefaultAppKey, int port = 7350, bool ssl = false})
Either inits and returns a new instance of NakamaRestApiClient or returns a already initialized one.
factory

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serverKey String
The key used to authenticate with the server without a session. Defaults to "defaultkey".
latefinal

Methods

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

Operators

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