Hub/docs/methods/CS hubAuthWithParam
CS_hubAuthWithParam
Description
주의! Hub server 및 DB에서는 이 API가 호출되는 것을 기준으로 DAU 통계를 내고 있습니다. 따라서 게임 실행시 이 API를 반드시 호출해 주어야 합니다.
- Google Play Games for PC를 앱 버전부터 사용이 필요한 API (Android, iOS)
- Hub server에 인증을 시도한다. 이전 로그인 세션 정보가 남아있다면 자동 로그인 되고, 그렇지 않은 경우 다이얼로그가 나타난다. 다이얼로그 상에서 사용자는 다음과 같이 선택적으로 사용자 인증을 받을 수 있다.
- 아이디 / 패스워드 로그인
- 외부 소셜 서비스를 이용한 로그인
- 회원 가입 (회원 가입 완료 후 자동으로 로그인 됨)
- param 데이터로 정의된 부가 정보를 전달한다.
- (1) showGuestLogin(bool) : (for Google Play Games for PC) IdP 리스트 로그인 페이지 내 게스트 버튼을 활성
- 인증이 성공하면 사용자의 정보를 포함한 JSON이
closeCallback
의jsonString
인자를 통해 전달됩니다.
Format
int CS_hubAuth(
const char *param,
HubCallbackWithJSON closeCallback,
void *callbackParam
);
HubCallbackWithJSON closeCallback,
void *callbackParam
);
Parameters
-
-
- [in] const char * param
-
- 정의된 부가 정보
- [in] HubCallbackWithJSON closeCallback
-
- 다이얼로그가 닫힐 때 호출될 함수 포인터
- [in] void * callbackParam
-
closeCallback
의param
인자로 전달되는 값
Return Value
- HUB_E_NOTSUP
- Hub 모듈이 초기화되지 않음.
- HUB_E_INUSE
- 다이얼로그를 이미 사용 중임.
- HUB_E_NOMEMORY
- 메모리 부족으로 다이얼로그 생성 실패.
- HUB_E_SUCCESS
- API 호출 성공.
Note
- API 호출이 성공했을 때, 다이얼로그는 invisible 상태로 세션 정보를 조회한다. 세션 인증이 성공하면
closeCallback
호출 후 다이얼로그가 해제되기 때문에 화면 상에 다이얼로그가 노출되지 않는다. 세션 인증에서 지연이 발생하는 경우를 감안하여 로딩 상태 등을 표시해주는 것이 좋다. - 인증 실패 (패스워드 오류, 디바이스 차단 등)은 UI상에 오류 내용으로 표시되므로, 인증이 성공한 경우에만 JSON이 존재한다고 보면 된다.
- showGuestLogin(true)를 통해 IdP 로그인 페이지에서 게스트 버튼을 눌렀을 경우 별도의 콜백이 전달된다. 콜백을 확인 후 게임앱에서 판단하여 게스트 로그인을 유도한다.
JSON
- 인증 성공 시
Key | Data Type | Value |
---|---|---|
"type" | string | "auth" |
"error_code" | number | HUB_SERVER_E_SUCCESS |
"uid" | string | 인증된 사용자의 User Id |
"did" | string | 인증된 사용자의 Device Id |
"sessionkey" | string | 인증된 사용자의 세션키 |
"auth_by" | string | 주의! 이 키 값은 모든 auth의 경우에 리턴되는 것이 아니고, 외부 소셜 서비스 계정으로 로그인한 경우에 한해서만 리턴됨에 유의. / ex)"facebook", "googleplus" |
로그인 성공 시,
{
"type":"auth", "error_code":0, "uid":"27881360", "did":"8311806", "sessionkey":"c73c39c28136d58aebec24657a721d", } |
- 인증 취소 시,
Key | Data Type | Value |
---|---|---|
"type" | string | "auth" |
"error_code" | number | HUB_E_DIALOG_CLOSE |
"error_msg" | string | "Dialog closed." |
인증 취소 시,
{
"type": "auth", "error_code": 2002 "error_msg": "Dialog closed.", } |
- 게스트 버튼 터치 시(showGuestLogin(true)),
Key | Data Type | Value |
---|---|---|
"type" | string | "auth" |
"needGuestLogin" | bool | true |
게스트 버튼 터치 시,
{
"type": "auth", "needGuestLogin": true } |