본문 바로가기

개발

[v10.14] Gpgs 이것저것 메모

1. 환경설정 및 초기화

구글 플레이 게임 서비스의 여러 기능을 사용하려면 PlayGamesClientConfiguration을 통해서 설정을 해줘야 한다.

 

PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
.EnableSavedGames()
.RequestEmail()
.RequestServerAuthCode(false)
.RequestIdToken()
.Build();

 

  • EnableSavedGames() : 게임을 저장하는 기능을 사용할 때 설정.
  • RequestEmail() : 사용자의 이메일 주소를 요청해야할 때 설정. 이 설정을 하면 이메일 주소를 얻는 것에 대해 사용자에게 동의하라는 메시지가 표시됨.
  • RequestServerAuthCode(false) : 서버 인증코드 생성을 요청함. 이 코드는 연결된 백엔드 서버에 전달되어 OAuth 토큰으로 교환될 수 있음.
  • RequestIdToken() : ID 토큰 생성을 요청함. 이 토큰은 파이어베이스와 같이 다른 서비스에서 사용자를 식별할 수 있음.

 

사용할 기능이 있다면 설정해주면 된다. 예를 들어, 게임을 저장하려는 기능만 사용하려면 다음과 같이 작성한다.

 

PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
.EnableSavedGames()
.Build();

PlayGamesPlatform.InitializeInstance(config); 	// 앞에서 설정한 것을 적용하여 초기화.
PlayGamesPlatform.DebugLogEnabled = true; 	// 디버깅할 때 사용.
PlayGamesPlatform.Activate(); 			// 구글 플레이 게임 서비스 사용.

 

구글 플레이 게임 서비스를 사용하려면 PlayGamesPlatform.Activate() 를 한 번 호출해야한다. 

 

 

2. 로그인

로그인하기 위해서 playGamesPlatform.Instance.Authenticate를 사용한다.

Authenticate 메소드는 여러가지 인자를 가질 수 있고, 그 중 하나는 다음과 같다.

public void Authenticate(SignInInteractivity signInInteractivity, Action<SignInStatus> callback) 

 

SignInInteractivity enum에는 CanPromptOnce, CanPromptAlways, NoPrompt가 있다.

 

  • CanPromptOnce : 게임 시작시 자동으로 로그인되며, 자동 로그인에 실패했을 경우 사용자에게 로그인 화면을 띄워 다시 로그인할 수 있게 해줌. 여기서 사용자가 로그인을 거절할 경우, 로그인 화면을 다시 띄워주지 않음.
  • CanPromptAlways : CanPromptOnce와 같으나 사용자가 로그인에 실패하거나 거절할 경우에도 로그인 화면을 다시 띄워줌.
  • NoPrompt : 자동으로 로그인되지만 자동 로그인에 실패했을 경우 사용자에게 아무런 화면을 띄우지 않음.

※로그인을 시도할 때, 동의가 필요한 내용에 관한 메시지가 띄워진다. 이미 사용자에게 동의를 받아냈다면, 다시 띄워지지 않는다.

 

PlayGamesPlatform.Instance.Authenticate(SignInInteractivity.CanPromptOnce, (result) => {
	// callback
});

 

공식 사이트에서는 CanPromptOnce 사용을 권장하고있다. [v10.14 기준]

 

 

 

 

 

참조

https://github.com/playgameservices/play-games-plugin-for-unity/blob/v10.14/README.md