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
| 引数名 | 説明 |
|---|---|
| credential | Credentialオブジェクト |
| region | 接続先のGS2リージョン |
Gs2WebSocketSession Request
| 引数名 | 説明 |
|---|---|
| credential | Credentialオブジェクト |
| 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 が提供する各種マイクロサービスごとにクライアントが用意されています。
マイクロサービスのクライアントにも Gs2AccountRestClient と Gs2AccountWebSocketClient のように通信プロトコルごとのクライアントが用意されており、それぞれ Gs2RestSession と Gs2WebSocketSession を必要とします。
Gs2AccountRestClient Request
| 引数名 | 説明 |
|---|---|
| session | Gs2RestSession |
Gs2AccountWebSocketClient Request
| 引数名 | 説明 |
|---|---|
| session | Gs2WebSocketSession |
実装例
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)