Documentation index for AI agents

SDK

GS2-SDK의 초기화 방법에 대해

SDK를 초기화하려면 Credential, Session이라는 객체를 생성해야 합니다.

Credential

GS2의 API 키를 표현하는 객체입니다. BasicGs2Credential이라는 클래스가 정의되어 있으며, clientId / clientSecret을 사용하여 API를 이용할 때는 이 클래스를 사용합니다.

BasicGs2Credential 파라미터

인자명설명
clientId클라이언트ID
clientSecret클라이언트시크릿

Session

Session에는 HTTP 통신을 이용하는 Gs2RestSession과 WebSocket 통신을 이용하는 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)