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이 closeCallbackjsonString인자를 통해 전달됩니다.


Format

int CS_hubAuth(
    const char *param,
    HubCallbackWithJSON closeCallback,
    void *callbackParam
);


Parameters

  • [in] const char * param
정의된 부가 정보
  • [in] HubCallbackWithJSON closeCallback
다이얼로그가 닫힐 때 호출될 함수 포인터 
  • [in] void * callbackParam
closeCallbackparam인자로 전달되는 값


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
}