04/25/2025 12:50:47

Editor 환경에서의 시뮬레이션 로그인

업무는 개발 단계에서 Editor 환경에 로그인하여 연동 테스트를 진행해야 합니다. MSDK 는 현재 Editor 환경에서 연동 테스트를 진행할 수 있게끔 시뮬레이션 로그인 방법을 제공하고 있습니다. 현재 MSDK 는 Unity, UE4 의 시뮬레이션 로그인을 제공하고 있으며, 구현 원리는 모두 같습니다.
시뮬레이션 로그인은 token 대신, 만능 token 이 사용되며, 본 방법은 테스트 환경에서만 사용할 수 있습니다.
신규 접속 고객의 경우, 본 기능을 사용하시려면 기업위챗을 통해 온라인MSDK 로 연락주시기 바랍니다.

[info] 정식 환경에서의 시뮬레이션 로그인
정식 환경에서의 시뮬레이션 로그인은 실제 openid 와 token 을 사용하여야만 검증이 가능합니다.

1 Unity 시뮬레이션 로그인

시뮬레이션 PC 로그인 절차(Wechat 기준):

  1. PC 에서 Wechat 채널 로그인을 클릭하면, MSDK 는 Assets/GCloudSDK/Scripts/MSDKCore/MSDK/UnityEditor/Data/ 디렉토리에 대응채널 시뮬레이션 로그인 상태 정보를 담은 .txt 파일을 만듭니다. 예를 들어 Wechat의 경우 WeChatLoginData.txt 이며, editor 에 나타나지 않은 경우, Refresh 를 클릭하면 됩니다.
  2. 게임 패키지를 모바일 기기에서 실행하고, 로그에서 로그인 상태 정보를 획득하여 WeChatLoginData.txt 파일로 복사합니다. 위의 두 단계를 완료하면 PC 에서 로그인이 가능하게 됩니다.

주의사항:

  1. Assets/GCloudSDK/ 플러그인 디렉토리가 변경됐다면, UnityEditorData.cs 에서 dataFilePath 의 경로를 수정하십시오
  2. xxx/MSDK/UnityEditor/Data/ 디렉토리의 LoginData.txt 에 기본적으로 로그인 상태 정보가 저장됩니다

2 UE4 시뮬레이션 로그인

GCloud V2.0.4 버전부터 지원함

게임이 보다 더 편리하게 Mac 과 Windows 플랫폼의 Editor 에서 로그인 테스트할 수 있도록 시뮬레이션 로그인 기능을 구현하였습니다

ue_editor

  1. 우선 MSDKCore 플러그인의 디렉토리에 Content 폴더를 새로 만들고, Content 폴더에 채널+서브채널+LoginData.txt 을 새로 만듭니다. 서브 채널이 없는 경우, 비어두시면 되며, 아래 그림을 참조하십시오

ue_create_logindata.txt_

  1. 프로토타입에서 로그인 로그를 획득합니다. 획득한 로그를 LoginData.txt 파일에 입력하십시오. 획득 방법은 아래에 자세히 설명해두었으니 참고하시길 바라겠습니다, 반드시 JSON 포맷이어야 합니다

위의 두 단계를 완료하면 Editor 의 로그인 콜백을 받아 시뮬레이션 로그인을 할 수 있습니다

3 로그인 상태 획득 방법

3.1 Android 로그인 로그의 획득

Android 모바일 기기에 게임 App 을 설치한 후, Logcat 에서 Tag: MSDK 하여 로그 필터링을 합니다. 로그인 후 결과에서 OnLoginResp 을 검색하여, 로그인 결과를 로그에 복사하시면 됩니다.

ue4_android_log

3.2 iOS 로그인 로그의 획득

iPhone / iPad 에 게임 App 을 설치한 후, MAC 의 제어판을 열고 테스트 기계로 선택합니다. 로그인 후, 결과에서 OnLoginResp 를 검색하여, 로그인 결과를 로그에 복사하시면 됩니다.

ue4_ios_log

[info] 로그인상태 예시 코드를 그대로 복사하여 대응 채널의 LoginData.txt 파일에서 사용하십시오. openid 를 변경하시면 됩니다. pc 에서 테스트 구매가 필요하시다면, 프로토타입에서 실제 openid 와 pfKey 등 관련 필드를 가져와 사용해야 합니다.

4 로그인상태 예시

1、WeChat 의 로그인 상태 예시, WeChatLoginData.txt 내용

{
  "extraJson": "",
  "methodNameID": 112,
  "retCode": 0,
  "retMsg": "Success",
  "thirdCode": 0,
  "thirdMsg": "success",
  "birthdate": "",
  "channel": "WeChat",
  "channelid": 1,
  "channel_info": "{\"code\":\"071H5ihk0HTfoq1W6Pek0MYuhk0H5ihH\",\"access_token\":\"16_l4kRVRLBvAUfUyWXz6evSZwwXvNcrTj-XdIVC4ryc5koTQeymyvsELbyZ8zH0SU-6EheFuY78jNF7zaymzF_uObPf9d92U3JK9fddJXUnRI\",\"expired\":7200,\"refresh_token\":\"16_caPx3PRfwkP8NOGL89Q4H4h_k-eEBNSLKIekJsC82tW3iCMUZNfkVKNcVaZyLZKzQEU-hCACRJpBua422UEAB9_UjwY2SQqu_9663IdR25E\",\"scope\":\"snsapi_userinfo,snsapi_friend,snsapi_message\",\"funcs\":\"\",\"other_funcs\":\"\",\"extend\":\"\"}",
  "uid": "oHlap1QDpmRiwliuWdvMH3mAWnQM",
  "first": 0,
  "gender": 0,
  "health_game_ext": "{\"serial_number\":\"oHlap1QDpmRiwliuWdvMH3mAWnQM-1543845913-ahnZ\",\"prajna_ext\":\"{ \"type\": 0, \"webview_frame\": { \"buttons\": [  ], \"show_title\": 0, \"show_titlebar\": 0, \"url\": \"\" } }\",\"username\":\"\"}",
  "openid": "3042973086530817307",
  "pf": "wechat_wx-App Store-android-App Store-wx-xxxxx-oHlap1QDpmRiwliuWdvMH3mAWnQM",
  "pfKey": "74ffe118eb96e85e87957566796fcc40",
  "picture_url": "",
  "need_name_auth": false,
  "reg_channel_dis": "",
  "seqID": "11-afd9d432-0527-4429-a905-5e9742399f30-1543845916-14",
  "token": "MSDKLOGINMOCKER_51433213c2e72a6304fb805b10a2201d",
  "token_expire_time": 1543853113,
  "user_name": "rdgztest_INWRBE"
}

2、 QQ 의 로그인상태 예시, QQLoginData.txt 내용

{
  "ret": 0,
  "msg": "success",
  "openid": "3042973086530817307",
  "token_expire_time": 1541658617,
  "first": 0,
  "reg_channel_dis": "",
  "user_name": "kysduolc",
  "picture_url": "http://qzapp.qlogo.cn/qzapp/ 1106977030/FA1981312F1A9ABA31CC5EC5E62690B9/100",
  "need_name_auth": false,
  "channel_info": "{\"pay_token\":\"493C9D67E5F3C653253F9CA8D8043498\",\"access_token\":\"0 3FE61DCBC55C86C18B9455D5D91AA89\",\"openid\":\"FA1981312F1A9ABA31CC5EC5E62690B9\",\"expired\":0,\"refresh_ token\":\"\",\"scope\":\"\",\"funcs\":\"\",\"other_funcs\":\"\",\"extend\":\"\"}",
  "extra": "",
  "retCode": 0,
  "retMsg": "Success",
  "token": "A23EsnNaIT@7ISkex5JOg3Tl@LMFlDS3SvzqsEp14wiuK087owIv4vgu BV6MVGU5",
  "gender": 1,
  "birthdate": "",
  "pf": "qq_qq-00000000-android-00000000-qq-110 6977030-FA1981312F1A9ABA31CC5EC5E62690B9",
  "pfKey": "",
  "channel": "QQ",
  "channelID": 2,
  "methodNameID": 112
}

3、 Guest 의 로그인상태 예시, GuestLoginData.txt 내용

{
  "ret": 0,
  "msg": "success",
  "openid": "6020163207300203881",
  "token_expire_time": 1555812357,
  "first": 1,
  "reg_channel_dis": "",
  "user_name": "",
  "picture_url": "",
  "need_name_auth": false,
  "channel_info": "{\"uuid\":\"b640b767-9d92-45f0-8149-8fd33d769894\",\"access_token\":\"6dd0a5f22c5bddb5e74d481db6dbbb8ec6fc094a\",\"expired\":0,\"refresh_token\":\"\"}",
  "bind_list": "",
  "confirm_code": "",
  "confirm_code_expire_time": -2282828787735330816,
  "retCode": 0,
  "retMsg": "Success",
  "token": "7ca255b0fd2cc21380ab4ddd1e0a410a8c66ef91",
  "gender": 0,
  "birthdate": "",
  "pf": "guest_gs-00000000-android-00000000-gs-00-b640b767-9d92-45f0-8149-8fd33d769894",
  "pfKey": "e8f82e9551896ab732dafe510288a787",
  "channel": "Guest",
  "channelID": 3,
  "methodNameID": 112,
  "extraJson": ""
}

4、 Facebook 의 로그인 상태 예시, FacebookLoginData.txt 내용

{
  "ret": 0,
  "msg": "success",
  "openid": "2355738011190361112",
  "uid": "224557048495562",
  "token": "6f5bd082f9972b7bdb6c516bc1df605bf2f1d7f5",
  "token_expire_time": 1555570474,
  "first": 0,
  "reg_channel_dis": "App Store",
  "user_name": "Công Phượng",
  "gender": 0,
  "birthdate": "",
  "picture_url": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=224557048495562&height=50&width=50&ext=1555570473&hash=AeQQj1MotyFo6xvo",
  "pf": "facebook_fb-App Store-iap-App Store-fb-371085970095922-224557048495562",
  "pf_key": "89baba8a5e12ed954fdfe2b0266fb528",
  "need_name_auth": false,
  "channel_info": "{\"access_token\":\"EAAFRgC9tvzIBANTcaIcjBz2fK5QK2GnhKTvWNLlGoF2rq0HtZC08KivVkYNA48nx0jmla0aXUEYwnH1oINb9Azo3D6qeZCn1mm066BzDh6bZBDh8ISxx2LpuQeEqEY7ZAqxsr4ZC3dPUYGjCUj7XfgNezVQEEFFcVdBKiETdRMWzVvoORKsfIrh6fUFPlTJwB3gC69Ff88pAWEcD3S1acP6oBzMgLw6kZD\",\"seq\": \"11 - seXEMyVaFv5QBkCo2CasBbHu8W9JHOfNTCjVLaJkUAPtPo8XJ89G2R7BlAKGcoar - 1552978424 - 5\"\"}"
}

5、Logout 은 Logout.txt 에 아래와 같은 내용을 추가하여 editor 모드에서 Logout 성공 리턴값을 획득할 수 있습니다

{"ret":1,"msg":"","methodNameID":117,"retCode":0,"retMsg":"Success","extraJson":""}



Copyright © 2025 MSDK.
All rights reserved.

results matching ""

    No results matching ""