Skip to main content
Version: 1.6.0

Usage

This page explains how to authorize users, receive account information, handle events, and check authorization state using the Platform101XP SDK.

1. Authorization Methods​

Authorize User​

P101XP.GetInstance().Authorize();

Show Profile Window​

P101XP.GetInstance().ShowProfile();

2. Events​

Authorization Result Event​

using Platform101XP.Entities;

private void AuthorizeResultHandler(AuthorizeResult result)
{
}

P101XP.GetInstance().AuthorizeResultEvent += AuthorizeResultHandler;

Account Information Event​

using Platform101XP.Entities;

private void AccountResultHandler(AccountResult result)
{
}

P101XP.GetInstance().GetAccountEvent += AccountResultHandler;

Logout Event​

private void LogoutEventHandler()
{
}

P101XP.GetInstance().LogoutEvent += LogoutEventHandler;

3. Data Structures​

Token and AuthorizeResult​

public class Token
{
public string accessToken;
public long expires;
public string type;
public string provider;
}

public class AuthorizeResult
{
public Token token;
public string error;
}

Account and AccountResult​

public class Account
{
public long accountId;
public long portalId;
public long userGameId;
public long mobileId;
public string userName;
public string userPhotoUrl;
public bool isGuest;
}

public class AccountResult
{
public Account account;
public string error;
}

4. Authorization State Helpers​

You may query the current authorization state at any time:

Token token     = P101XP.GetInstance().GetToken();
Account account = P101XP.GetInstance().GetAccount();
  • token appears first
  • account appears later (async load)

5.1 Check if the user is authorized​

var token = P101XP.GetInstance().GetToken();

if (token != null)
{
// Authorized
}
else
{
// Not authorized
}

5.2 Check if account data is available​

var account = P101XP.GetInstance().GetAccount();

if (account != null)
{
Debug.Log("User: " + account.userName);
}
else
{
Debug.Log("Account not loaded yet");
}

5.3 Token exists but account is not ready yet​

This is normal behavior:

var token = P101XP.GetInstance().GetToken();
var account = P101XP.GetInstance().GetAccount();

if (token != null)
{
if (account != null)
{
// Full user info available
}
else
{
Debug.Log("Waiting for account data...");
}
}

5.4 Check if the user is a guest​

var account = P101XP.GetInstance().GetAccount();

if (account != null && account.isGuest)
{
Debug.Log("Guest mode");
}

6. Typical Authorization Flow​

Subscribe → Authorize() → Receive Token → SDK loads account → Receive AccountResult

Note:
If the user already has a valid token (GetToken() != null), you do not need to call Authorize() again.
In this case, simply check whether account data is available (GetAccount()) and wait for GetAccountEvent if needed.

7. Namespaces​

All SDK data classes are located under:

namespace Platform101XP.Entities

Add this to use the SDK models:

using Platform101XP.Entities;