저번에는 PlayFab의 Player 기능을 이용하여 로그인 서버로 활용하여 로그인 및 회원가입을 했다.
(http://icechou.tistory.com/313?category=296908)
거기서 아이디 뿐만 아니라 닉네임을 추가로 설정할수는 없을까? 해서 찾아보니
이렇게 유저정보에 Display name 이라는게 있길래 써보기로 했다.
사용법은 로그인 회원가입때와 동일.
1 2 3 4 5 6 7 8 9 | private void OnLoginSuccess(LoginResult result) { Debug.Log("로그인 성공"); PlayerPrefs.SetString("Username", username); // 계정정보 받아옴 var request = new GetAccountInfoRequest { Username = username }; PlayFabClientAPI.GetAccountInfo(request, GetAccountSuccess, GetAccountFailure); } | cs |
로그인을 성공하면 성공콜백함수에서 GetAccountInfo 함수를 이용해 해당 유저의 계정 정보를 받아온다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | private void GetAccountSuccess(GetAccountInfoResult result) { print("Accout를 정상적으로 받아옴"); string nickname = result.AccountInfo.TitleInfo.DisplayName; if(nickname == null) { SceneManager.LoadScene("NicknameSet"); } else { PlayerPrefs.SetString("Nickname", nickname); SceneManager.LoadScene("Lobby"); } } | cs |
이것 역시 성공하면 result.AccountInfo.TitleInfo.DisplayName에서 디스플레이 네임을 받아올 수 있다.
디스플레이 네임이 없다면 닉네임설정씬으로. 있다면 로비로 보내버림.
디스플레이 네임이 없다면 새로 업데이트해주면 되는데 마찬가지로 아래와 같이 업데이트해주면 된다.
1 2 3 | // playfab 서버 접속되었는지 확인하여 되면 실행. 아니면 에러메세지 출력 var request = new UpdateUserTitleDisplayNameRequest { DisplayName = Input_nickname.text }; PlayFabClientAPI.UpdateUserTitleDisplayName(request, DisplayNameUpdateSuccess, DisplayNameUpdateFailure); | cs |
PlayFab에서 자체적으로 DisplayName 중복을 방지해주므로 (업데이트 실패) 중복 닉네임의 걱정도 할 필요가 없다.
DisplayName 설정이 완료되면 사이트의 Player 탭에서 이렇게 바로 확인할 수 있다. (공백도 가능)
'프로그래밍 공부 > Photon' 카테고리의 다른 글
RaiseEvent에 InterestGroup 설정시 메세지가 로컬플레이어에게 오지않는문제 (0) | 2018.10.10 |
---|---|
메세지를 전송하는 방법. OnSerializePhotonView, RPC, RaiseEvent (0) | 2018.09.18 |
PlayFab을 이용하여 로그인 인증하기 (3) | 2018.08.09 |
10. 튜토리얼 문제 해결 (0) | 2018.08.07 |
9. 플레이어 UI 프리팹 (0) | 2018.08.07 |