SDK

GS2-SDK の初期化方法について

SDK の初期化のためには Credential, Session というオブジェクトを作成する必要があります。

Credential

GS2 のAPIキーを表現するオブジェクトです。 BasicGs2Credential というクラスが定義されており、clientId / clientSecret を使用したAPIの利用時には、こちらを使用します。

BasicGs2Credential Request

引数名説明
clientIdクレデンシャル情報
clientSecretクレデンシャル情報

Session

Session には2種類存在し、HTTP通信を利用する Gs2RestSession と WebSocket通信を利用する Gs2WebSocketSession です。 プログラミング言語によっては Gs2WebSocketSession はサポートされておらず、ペイロードが大きくなるリクエストには Gs2WebSocketSession が使用できないため、サーバーからのプッシュ通知を必要としない場合は原則として Gs2RestSession を利用します。

Gs2RestSession Request

引数名説明
credentialCredentialオブジェクト
region接続先のGS2リージョン

Gs2WebSocketSession Request

引数名説明
credentialCredentialオブジェクト
region接続先のGS2リージョン

初期化

作成した Session オブジェクトは使用する前に接続処理が必要です。

セッションオブジェクトには接続APIが用意されており、そちらを呼び出すことで接続を実行できます。

    session := core.Gs2RestSession{
        Credential: &core.BasicGs2Credential{
            ClientId: "your client id",
            ClientSecret: "your client secret",
        },
        Region: core.ApNortheast1,
    }

    if err := session.Connect(); err != nil {
        panic("error occurred")
    }
    $session = new Gs2RestSession(
        new BasicGs2Credential(
            "your client id",
            "your client secret"
        ),
        Region::AP_NORTHEAST_1
    );

    $session->open();
    Gs2RestSession session = new Gs2RestSession(
        Region.AP_NORTHEAST_1,
        new BasicGs2Credential(
            "your client id",
            "your client secret"
        )
    );
    session.connect();
    var session = new Gs2RestSession(
        new BasicGs2Credential(
            "your client id",
            "your client secret"
        ),
        Region.ApNortheast1
    );
    yield return session.Open();
    const session = new Gs2Core.Gs2RestSession(
        "ap-northeast-1",
        new BasicGs2Credential(
            "your client id",
            "your client secret"
        )
    );
    await session.connect();
    session = core.Gs2RestSession(
        core.BasicGs2Credential(
            "your client id",
            "your client secret"
        ),
        "ap-northeast-1",
    )
    session.connect()

カオスモード

カオスモードを適用したSDK初期化処理を呼び出すことで、APIリクエストを一定の確率で失敗させることができます。 カオスモードを有効にしたクライアントを使用して開発を進めることで、エラーハンドリングを強固なものにすることができます。

    var session = new ChaosGs2RestSession(
        new BasicGs2Credential(
            "your client id",
            "your client secret"
        ),
        0.1f, // APIリクエスト時に10%の確率でリトライが必要なエラーを発生させる
        Region.ApNortheast1
    );
    yield return session.Open();

マイクロサービスのクライアント

GS2 が提供する各種マイクロサービスごとにクライアントが用意されています。 マイクロサービスのクライアントにも Gs2AccountRestClientGs2AccountWebSocketClient のように通信プロトコルごとのクライアントが用意されており、それぞれ Gs2RestSessionGs2WebSocketSession を必要とします。

Gs2AccountRestClient Request

引数名説明
sessionGs2RestSession

Gs2AccountWebSocketClient Request

引数名説明
sessionGs2WebSocketSession

実装例

client := account.Gs2AccountRestClient{
    Session: &session,
}
$client = new Gs2AccountRestClient($session);
Gs2AccountRestClient client = new Gs2AccountRestClient(session);
var client = new Gs2AccountRestClient(session);
const client = new Gs2Account.Gs2AccountRestClient(session);
client = account.Gs2AccountRestClient(session)