Hub/docs/methods/CS hubSetPGSAutoLoginWithCB

 

CS_hubSetPGSAutoLoginWithCB

Description

주의! Google Play Games for PC를 적용한 Android 빌드에서 사용되는 API 입니다.
			
  • Google Play Games for PC를 앱 버전부터 사용이 필요한 API (Android)
  • 단말에 로그인된 Google 계정을 기반으로 PGS Id(Play Games 아이디) 값을 획득해 Hive 서버에 연결된 UID 정보와 UID 세션을 획득해 자동로그인 가능 상태를 만듭니다.
    • GPG for PC 적용 시 Google의 정책 권장에 따라 유저가 단말에서 사용하고 있는 PGS Id로 게임을 로그인한적이 있다면 앱을 신규 설치한 다른 단말에서도 자동로그인을 경험하도록 지원합니다.
  • CS_hubInitializeEx 호출 후 CS_hubAuthWithParam 호출 전 호출하여 자동로그인 여부를 모듈이 설정하도록 합니다.
  • 해당 API 호출 후 콜백 데이터를 확인하여 다음 동작을 유도합니다.
    • 자세한 동작 유도는 아래 JSON 항목 내용을 참고합니다.
  • GPG for PC에서의 로그인 동작
    • Android 단말에 유저가 Google 계정을 정상 등록한 상태를 가정합니다. 그리고 Play 게임즈앱에도 Google 계정이 정상 로그인된 상태를 가정합니다.
    • (1) A 단말(Google 계정 E가 로그인된 상태)에서 Hive X 계정을 이미 게임한 경우
      • 신규 단말 B(Google 계정 E가 로그인된 상태)에서 앱 설치 시 해당 API 호출을 통해 Hive X 계정 세션이 설정됩니다. 이후 CS_hubAuthWithParam 호출 시 Hive X 계정으로 자동로그인 됩니다.
    • (2) A 단말(Google 계정 E가 로그인된 상태)에서 Hive X 계정으로 게임하다 로그아웃하고 Hive Y 계정으로 로그인하면
      • Google E 계정과 Hive Y 간의 매칭 관계가 갱신됩니다.
      • 추후 신규 단말 B(Google 계정 E가 로그인된 상태)에서 앱 설치 시 해당 API를 호출하면 Hive Y 계정 세션이 설정됩니다.
    • 보다 자세한 사항은 문의바랍니다.


Format

int CS_hubSetPGSAutoLoginWithCB(
    HubCallbackWithJSON closeCallback,
    void *callbackParam
);


Parameters

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


Return Value

  • HUB_E_NOTSUP
    • Hub 모듈이 초기화되지 않음.

 

  • HUB_E_SUCCESS
    • API 호출 성공.


Note

  • API 호출 후 반드시 콜백 데이터를 확인하여 다음 동작을 유도합니다.
  • type 값과 loginType 값을 확인합니다.
  • 게임 진행 중 CS_hubLogout API 호출로 로그아웃 후 해당 API를 호출하진 마세요. 앱 실행 후 CS_hubInitializeEx 호출 후 해당 API는 1회만 호출 필요합니다.


JSON

  • 이미 게스트 유저 세션이 있는 경우
    • 다음 동작으로 게스트 로그인을 유도합니다.
Key Data Type Value
"type" string "pgs/check_login"
"error_code" number ...
"error_msg" string ...
"loginType" string auto_guest
이미 게스트 유저 세션이 있는 경우,
{
    "type":"pgs/check_login",
    "error_code": ...,
    "error_mgs":"...",
    "loginType":"auto_guest",
}
  • 이미 Hive 세션이 있거나 Hive 세션을 확보한 경우
    • 다음 동작으로 CS_hubAuthWithParam 호출을 통해 Hive 정식 유저 자동로그인을 유도합니다.
Key Data Type Value
"type" string "pgs/check_login"
"error_code" number ...
"error_msg" string ...
"loginType" string auto_hive
이미 Hive 세션이 있거나 Hive 세션을 확보한 경우,
{
    "type":"pgs/check_login",
    "error_code": ...,
    "error_mgs":"...",
    "loginType":"auto_hive",
}
  • 현재 확보한 PGS Id에 매칭된 Hive 계정 정보가 없는 경우
    • CS_hubAuthWithParam 호출로 IdP 로그인 페이지를 열어 수동 로그인을 유도합니다. 
    • 이후 로그인이 성공하면 PGS Id와 Hive 정식 유저 계정 UID간 매칭 관계가 형성됩니다.
Key Data Type Value
"type" string "pgs/check_login"
"error_code" number ...
"error_msg" string ...
"loginType" string hive_pgs
 
{
    "type":"pgs/check_login",
    "error_code": ...,
    "error_mgs":"...",
    "loginType":"hive_pgs",
}
Key Data Type Value
"type" string "pgs/check_login"
"error_code" number  
"error_msg" string 인증된 사용자의 User Id
"loginType" string hive
{
    "type":"pgs/check_login",
    "error_code": ...,
    "error_mgs":"...",
    "loginType":"hive",
}