고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.
커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.
문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.
- 뒤끝 SDK 버전 :
- 프로젝트명 :
- 스테이터스 코드 :
- 에러 코드 :
- 에러 메시지 :
GPGS 로그인 설정에서 초기 설정을 마치고 스크립트를 작성했습니다.
-
설명에 보면 'Google Play Game Services(GPGS)의 ID token 을 받기 위한 PlayGamesClientConfiguration의 default 설정을 custom 설정으로 변경 후, GPGS를 실행합니다.'라는 부분이 있는데요, 이 설정은 어디서 변경하는 것인가요?
-
예제 코드를 프로젝트의 구글 로그인 버튼에 붙여넣고, 버튼에 GPGSLogin() 함수를 호출하도록 하고, 에러가 났을 경우 에러 위치를 찾으려 login_error 텍스트를 띄우도록 빌드했지만 빌드 후 버튼을 클릭하면 login_error 텍스트에 아무 반응이 없고 nicknamePanel도 활성화 되지 않습니다.
어떤 부분이 잘못되었나요?
작성한 코드는 다음과 같습니다.
using BackEnd;
using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine;
using TMPro;
public class GoogleFederation : MonoBehaviour
{
[SerializeField] GameObject nicknamePanel;
[SerializeField] TMP_Text login_error;
// GPGS 로그인
void Start()
{
// GPGS 플러그인 설정
PlayGamesClientConfiguration config = new PlayGamesClientConfiguration
.Builder()
.RequestServerAuthCode(false)
.RequestIdToken()
.Build();
// .RequestEmail() // 이메일 권한을 얻고 싶지 않다면 해당 줄(RequestEmail)을 지워주세요.
//커스텀 된 정보로 GPGS 초기화
PlayGamesPlatform.InitializeInstance(config);
PlayGamesPlatform.DebugLogEnabled = true; // 디버그 로그를 보고 싶지 않다면 false로 바꿔주세요.
//GPGS 시작.
PlayGamesPlatform.Activate();
}
public void GPGSLogin()
{
// 이미 로그인 된 경우
if (Social.localUser.authenticated == true)
{
BackendReturnObject BRO = Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "gpgs");
login_error.text = " 로그인 성공 ";
nicknamePanel.SetActive(true);
}
else
{
Social.localUser.Authenticate((bool success) => {
if (success)
{
// 로그인 성공 -> 뒤끝 서버에 획득한 구글 토큰으로 가입 요청
BackendReturnObject BRO = Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "gpgs");
login_error.text = " 로그인 성공! ";
nicknamePanel.SetActive(true);
}
else
{
// 로그인 실패
Debug.Log("Login failed for some reason");
login_error.text = " 로그인 실패 ";
}
});
}
}
// 구글 토큰 받아옴
public string GetTokens()
{
if (PlayGamesPlatform.Instance.localUser.authenticated)
{
// 유저 토큰 받기 첫 번째 방법
string _IDtoken = PlayGamesPlatform.Instance.GetIdToken();
// 두 번째 방법
// string _IDtoken = ((PlayGamesLocalUser)Social.localUser).GetIdToken();
return _IDtoken;
}
else
{
Debug.Log("접속되어 있지 않습니다. PlayGamesPlatform.Instance.localUser.authenticated : fail");
login_error.text = " 접속되어 있지 않습니다 ";
return null;
}
}
}