> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-SDK for UE5 Blueprint のチュートリアル

GS2-SDK for UE5 Blueprint でアカウントを作成してログインするまでを実装してみましょう



途中までは一般的なチュートリアルと同じ手順となります。

[GS2のセットアップ]()

[SDKのセットアップ]()

[クレデンシャル(APIキー)の作成]()

[ログイン処理に必要なリソースを準備]()

## クライアントの初期化

![img.png](img.png)

`GS2::Core::Action::Initialize` ノードを作成し、clientId / clientSecret / 接続先のリージョンを設定します。
clientId / clientSecret には [クレデンシャル(APIキー)の作成]() で作成した値を設定します。

初期化に成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。

成功時は Client に GS2 のクライアントオブジェクト、失敗時は Error に失敗理由のエラーオブジェクトが返されます。

## GS2-Account クライアントの生成

![img_1.png](img_1.png)

初期化した際に得られた Client オブジェクトを指定して `GS2::Account::Service` ノードを作成します。

Service に GS2-Account の機能を利用するためのサービスクライアントが返されます。

## Namespace オブジェクトの生成

![img_2.png](img_2.png)

GS2-Account のサービスクライアントを指定して `GS2::Account::Namespace` ノードを作成します。
Namespace Name には[ログイン処理に必要なリソースを準備]() で作成したネームスペース名を指定します。

Namespace に GS2-Account の Namespace オブジェクトが返されます。

## 匿名アカウントの新規作成

![img_3.png](img_3.png)

GS2-Account の Namespace オブジェクトを指定して `GS2::Account::Action::Create` ノードを作成します。

アカウントの作成に成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。

成功時は Account に作成したアカウントオブジェクト、失敗時は Error に失敗理由のエラーオブジェクトが返されます。

## アカウントオブジェクトから値の取り出し

![img_4.png](img_4.png)

アカウントオブジェクトを指定して `GS2::Account::Fetch::GetValueOfAccount` ノードを作成します。

アカウントの値の取り出しに成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。

成功時は Value にアカウントオブジェクトの値、失敗時は Error に失敗理由のエラーオブジェクトが返されます。
構造体を展開することで、発行されたユーザーIDやパスワードを取り出すことができます。

## ログイン

![img_5.png](img_5.png)

ログイン処理を実行するために、`GS2::Core::Action::Login` ノードを作成します。

Login ノードは Client と Authenticator の指定が必要となります。
Client には `GS2::Core::Action::Initialize` ノードで作成した Client を指定します。
Authenticator には `GS2::Core::CreateGs2Authenticator` ノードで作成した Authenticator を指定しています。
UserId / Password には先程作成したユーザーIDとパスワードを指定しています。

ログインに成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。

成功時は AccessToken に作成したアクセストークンオブジェクト、失敗時は Error に失敗理由のエラーオブジェクトが返されます。

アクセストークンはログインが必要なAPIの呼び出しで必要なパラメーターです。

## ログイン後に呼び出せるAPIの呼び出し

ログイン後に呼び出せるAPIの呼び出し例として、引き継ぎ情報の一覧を取得してみます。

![img_6.png](img_6.png)

アクセストークンオブジェクト を使用して `GS2::Account::Me` で自分のアカウントオブジェクトを作成します。
その後、自分のアカウントオブジェクトを使用して `GS2::Account::Fetch::ListOfTakeOver` ノードを作成し、引き継ぎ情報の一覧を取得します。

引き継ぎ情報の一覧の取得に成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。

成功時は Values に引き継ぎ情報の配列、失敗時は Error に失敗理由のエラーオブジェクトが返されます。

Values を `For Each Loop` ノードでループしながら値を取り出しています。




