Nakama .NET Client SDK 3.8.0
Nakama .NET Client SDK
Loading...
Searching...
No Matches
Satori.Client Class Reference

More...

Inheritance diagram for Satori.Client:
Satori.IClient

Public Member Functions

 Client (string scheme, string host, int port, string apiKey)
 
 Client (string scheme, string host, int port, string apiKey, IHttpAdapter adapter, bool autoRefreshSession=true)
 
async Task< ISessionAuthenticateAsync (string id, Dictionary< string, string > defaultProperties=default, Dictionary< string, string > customProperties=default, CancellationToken? cancellationToken=default)
 Authenticate against the server.
Parameters
idAn optional user id.
defaultPropertiesOptional default properties to update with this call. If not set, properties are left as they are on the server.
Parameters
customPropertiesOptional custom properties to update with this call. If not set, properties are left as they are on the server.
Parameters
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a user session.

 
Task AuthenticateLogoutAsync (ISession session, CancellationToken? cancellationToken=default)
 Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.
Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which represents the asynchronous operation.

 
async Task EventAsync (ISession session, Event @event, CancellationToken? cancellationToken=default)
 Send an event for this session.
Parameters
sessionThe session of the user.
eventThe event to send.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task object.

 
async Task EventsAsync (ISession session, IEnumerable< Event > events, CancellationToken? cancellationToken=default)
 Send a batch of events for this session.
Parameters
sessionThe session of the user.
eventsThe batch of events which will be sent.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task object.

 
async Task< IApiExperimentListGetAllExperimentsAsync (ISession session, CancellationToken? cancellationToken=default)
 Get all experiments data.
Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to all experiments that this identity is involved with.

 
async Task< IApiExperimentListGetExperimentsAsync (ISession session, IEnumerable< string > names, CancellationToken? cancellationToken=default)
 Get specific experiments data.
Parameters
sessionThe session of the user.
namesExperiment names.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to all experiments that this identity is involved with.

 
async Task< IApiFlagGetFlagAsync (ISession session, string name, CancellationToken? cancellationToken=default)
 Get a single flag for this identity.
Parameters
sessionThe session of the user.
nameThe name of the flag.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a single feature flag.

 
Task< IApiFlagGetFlagAsync (ISession session, string name, string defaultValue, CancellationToken? cancellationToken=default)
 Get a single flag for this identity.Unlike GetFlags(ISession,string,CancellationToken) this method will return the default value specified and will not raise an exception if the network is unavailable.
 
async Task< IApiFlagGetFlagDefaultAsync (string name, CancellationToken? cancellationToken=default)
 Get a single default flag for this identity.
Parameters
nameThe name of the flag.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a single default feature flag.

 
Task< IApiFlagGetFlagDefaultAsync (string name, string defaultValue, CancellationToken? cancellationToken=default)
 Get a single default flag for this identity.Unlike GetFlagDefaultAsync(string,string,CancellationToken) this method will return the default value specified and will not raise an exception if the network is unreachable.
 
async Task< IApiFlagListGetFlagsAsync (ISession session, IEnumerable< string > names, CancellationToken? cancellationToken=default)
 List all available flags for this identity.
Parameters
sessionThe session of the user.
namesFlag names, if empty string all flags are returned.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to all flags available to this identity.

 
Task< IApiFlagListGetFlagsDefaultAsync (IEnumerable< string > names, CancellationToken? cancellationToken=default)
 List all available default flags.
Parameters
namesFlag names, if empty string all flags are returned.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to all available default flags.

 
async Task< ISessionIdentifyAsync (ISession session, string id, Dictionary< string, string > defaultProperties, Dictionary< string, string > customProperties, CancellationToken? cancellationToken=default)
 Identify a session with a new ID.
Parameters
sessionThe session of the user.
idIdentity ID to enrich the current session and return a new session. The old session will no longer be usable. Must be between eight and 128 characters (inclusive). Must be an alphanumeric string with only underscores and hyphens allowed.
defaultPropertiesThe default properties.
customPropertiesThe custom event properties.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to the new session for the user.

 
async Task< IApiLiveEventListGetLiveEventsAsync (ISession session, IEnumerable< string > names=null, CancellationToken? cancellationToken=default)
 List available live events.
Parameters
sessionThe session of the user.
namesLive event names, if null or empty, all live events are returned.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a list of live events.

 
async Task< IApiPropertiesListPropertiesAsync (ISession session, CancellationToken? cancellationToken=default)
 List properties associated with this identity.
Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a list of live events.

 
async Task< ISessionSessionRefreshAsync (ISession session, CancellationToken? cancellationToken=default)
 Refresh a user's session using a refresh token retrieved from a previous authentication request.
Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a user session.

 
async Task UpdatePropertiesAsync (ISession session, Dictionary< string, string > defaultProperties, Dictionary< string, string > customProperties, bool recompute=false, CancellationToken? cancellationToken=default)
 Update properties associated with this identity.
Parameters
sessionThe session of the user.
defaultPropertiesThe default properties to update.
customPropertiesThe custom properties to update.
recomputeWhether or not to recompute the user's audience membership immediately after property update.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task object.

 
async Task DeleteIdentityAsync (ISession session, CancellationToken? cancellationToken=default)
 Delete the caller's identity and associated data.
Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task object.

 

Static Public Attributes

static TimeSpan DefaultExpiredTimeSpan = TimeSpan.FromMinutes(5)
 The default expired timespan used to check session lifetime.
 
const int DefaultTimeout = 15
 The default timeout of the server.
 

Properties

bool AutoRefreshSession [get]
 True if the session should be refreshed with an active refresh token.
 
string Host [get]
 The host address of the server.
 
int Port [get]
 The port number of the server.
 
string Scheme [get]
 The protocol scheme used to connect with the server. Must be either "http" or "https".
 
string ApiKey [get]
 The key used to authenticate with the server without a session.
 
int Timeout [get, set]
 Set the timeout in seconds on requests sent to the server.
 
- Properties inherited from Satori.IClient

Detailed Description

Constructor & Destructor Documentation

◆ Client() [1/2]

Satori.Client.Client ( string  scheme,
string  host,
int  port,
string  apiKey 
)
inline

◆ Client() [2/2]

Satori.Client.Client ( string  scheme,
string  host,
int  port,
string  apiKey,
IHttpAdapter  adapter,
bool  autoRefreshSession = true 
)
inline

Member Function Documentation

◆ AuthenticateAsync()

async Task< ISession > Satori.Client.AuthenticateAsync ( string  id,
Dictionary< string, string >  defaultProperties = default,
Dictionary< string, string >  customProperties = default,
CancellationToken?  cancellationToken = default 
)
inline

Authenticate against the server.

Parameters
idAn optional user id.
defaultPropertiesOptional default properties to update with this call. If not set, properties are left as they are on the server.
Parameters
customPropertiesOptional custom properties to update with this call. If not set, properties are left as they are on the server.
Parameters
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a user session.

Implements Satori.IClient.

◆ AuthenticateLogoutAsync()

Task Satori.Client.AuthenticateLogoutAsync ( ISession  session,
CancellationToken?  cancellationToken = default 
)

Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.

Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which represents the asynchronous operation.

Implements Satori.IClient.

◆ DeleteIdentityAsync()

async Task Satori.Client.DeleteIdentityAsync ( ISession  session,
CancellationToken?  cancellationToken = default 
)
inline

Delete the caller's identity and associated data.

Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task object.

Implements Satori.IClient.

◆ EventAsync()

async Task Satori.Client.EventAsync ( ISession  session,
Event event,
CancellationToken?  cancellationToken = default 
)
inline

Send an event for this session.

Parameters
sessionThe session of the user.
eventThe event to send.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task object.

Implements Satori.IClient.

◆ EventsAsync()

async Task Satori.Client.EventsAsync ( ISession  session,
IEnumerable< Event events,
CancellationToken?  cancellationToken = default 
)
inline

Send a batch of events for this session.

Parameters
sessionThe session of the user.
eventsThe batch of events which will be sent.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task object.

Implements Satori.IClient.

◆ GetAllExperimentsAsync()

async Task< IApiExperimentList > Satori.Client.GetAllExperimentsAsync ( ISession  session,
CancellationToken?  cancellationToken = default 
)
inline

Get all experiments data.

Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to all experiments that this identity is involved with.

Implements Satori.IClient.

◆ GetExperimentsAsync()

async Task< IApiExperimentList > Satori.Client.GetExperimentsAsync ( ISession  session,
IEnumerable< string >  names,
CancellationToken?  cancellationToken = default 
)
inline

Get specific experiments data.

Parameters
sessionThe session of the user.
namesExperiment names.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to all experiments that this identity is involved with.

Implements Satori.IClient.

◆ GetFlagAsync() [1/2]

async Task< IApiFlag > Satori.Client.GetFlagAsync ( ISession  session,
string  name,
CancellationToken?  cancellationToken = default 
)
inline

Get a single flag for this identity.

Parameters
sessionThe session of the user.
nameThe name of the flag.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a single feature flag.

Implements Satori.IClient.

◆ GetFlagAsync() [2/2]

Task< IApiFlag > Satori.Client.GetFlagAsync ( ISession  session,
string  name,
string  defaultValue,
CancellationToken?  cancellationToken = default 
)
inline

Get a single flag for this identity.Unlike GetFlags(ISession,string,CancellationToken) this method will return the default value specified and will not raise an exception if the network is unavailable.

Implements Satori.IClient.

◆ GetFlagDefaultAsync() [1/2]

async Task< IApiFlag > Satori.Client.GetFlagDefaultAsync ( string  name,
CancellationToken?  cancellationToken = default 
)
inline

Get a single default flag for this identity.

Parameters
nameThe name of the flag.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a single default feature flag.

Implements Satori.IClient.

◆ GetFlagDefaultAsync() [2/2]

Task< IApiFlag > Satori.Client.GetFlagDefaultAsync ( string  name,
string  defaultValue,
CancellationToken?  cancellationToken = default 
)
inline

Get a single default flag for this identity.Unlike GetFlagDefaultAsync(string,string,CancellationToken) this method will return the default value specified and will not raise an exception if the network is unreachable.

Implements Satori.IClient.

◆ GetFlagsAsync()

async Task< IApiFlagList > Satori.Client.GetFlagsAsync ( ISession  session,
IEnumerable< string >  names,
CancellationToken?  cancellationToken = default 
)
inline

List all available flags for this identity.

Parameters
sessionThe session of the user.
namesFlag names, if empty string all flags are returned.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to all flags available to this identity.

Implements Satori.IClient.

◆ GetFlagsDefaultAsync()

Task< IApiFlagList > Satori.Client.GetFlagsDefaultAsync ( IEnumerable< string >  names,
CancellationToken?  cancellationToken = default 
)

List all available default flags.

Parameters
namesFlag names, if empty string all flags are returned.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to all available default flags.

Implements Satori.IClient.

◆ GetLiveEventsAsync()

async Task< IApiLiveEventList > Satori.Client.GetLiveEventsAsync ( ISession  session,
IEnumerable< string >  names = null,
CancellationToken?  cancellationToken = default 
)
inline

List available live events.

Parameters
sessionThe session of the user.
namesLive event names, if null or empty, all live events are returned.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a list of live events.

Implements Satori.IClient.

◆ IdentifyAsync()

async Task< ISession > Satori.Client.IdentifyAsync ( ISession  session,
string  id,
Dictionary< string, string >  defaultProperties,
Dictionary< string, string >  customProperties,
CancellationToken?  cancellationToken = default 
)
inline

Identify a session with a new ID.

Parameters
sessionThe session of the user.
idIdentity ID to enrich the current session and return a new session. The old session will no longer be usable. Must be between eight and 128 characters (inclusive). Must be an alphanumeric string with only underscores and hyphens allowed.
defaultPropertiesThe default properties.
customPropertiesThe custom event properties.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to the new session for the user.

Implements Satori.IClient.

◆ ListPropertiesAsync()

async Task< IApiProperties > Satori.Client.ListPropertiesAsync ( ISession  session,
CancellationToken?  cancellationToken = default 
)
inline

List properties associated with this identity.

Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a list of live events.

Implements Satori.IClient.

◆ SessionRefreshAsync()

async Task< ISession > Satori.Client.SessionRefreshAsync ( ISession  session,
CancellationToken?  cancellationToken = default 
)
inline

Refresh a user's session using a refresh token retrieved from a previous authentication request.

Parameters
sessionThe session of the user.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task which resolves to a user session.

Implements Satori.IClient.

◆ UpdatePropertiesAsync()

async Task Satori.Client.UpdatePropertiesAsync ( ISession  session,
Dictionary< string, string >  defaultProperties,
Dictionary< string, string >  customProperties,
bool  recompute = false,
CancellationToken?  cancellationToken = default 
)
inline

Update properties associated with this identity.

Parameters
sessionThe session of the user.
defaultPropertiesThe default properties to update.
customPropertiesThe custom properties to update.
recomputeWhether or not to recompute the user's audience membership immediately after property update.
cancellationTokenThe CancellationToken that can be used to cancel the request while mid-flight.
Returns
A task object.

Implements Satori.IClient.

Member Data Documentation

◆ DefaultExpiredTimeSpan

TimeSpan Satori.Client.DefaultExpiredTimeSpan = TimeSpan.FromMinutes(5)
static

The default expired timespan used to check session lifetime.

◆ DefaultTimeout

const int Satori.Client.DefaultTimeout = 15
static

The default timeout of the server.

Property Documentation

◆ ApiKey

string Satori.Client.ApiKey
get

The key used to authenticate with the server without a session.

◆ AutoRefreshSession

bool Satori.Client.AutoRefreshSession
get

True if the session should be refreshed with an active refresh token.

Implements Satori.IClient.

◆ Host

string Satori.Client.Host
get

The host address of the server.

◆ Port

int Satori.Client.Port
get

The port number of the server.

◆ Scheme

string Satori.Client.Scheme
get

The protocol scheme used to connect with the server. Must be either "http" or "https".

◆ Timeout

int Satori.Client.Timeout
getset

Set the timeout in seconds on requests sent to the server.


The documentation for this class was generated from the following file: