Categories
Android

2016년에 바뀌는 Google Play Games 퍼미션들 정리

google_play_game_services

Google Play Games가 로그인 부분을 대폭적으로 변경하려고 하는것 같습니다. 현재의 Play Game의 경우 로그인 과정에서 다양한 권한 요청을 수행하게 되는데 이 팝업이 생각보다 개발자스럽고 뭔가 요구하는것이 많아 보인다는 단점이 있습니다. 아마도 실제 통계로도 많은 유저들이 이 로그인 단계를 건너 뛰거나 포기하는게 아닐까 추측해 봅니다. 그래서 구글이 빼어든 칼은 놀랍게도 “게임마다 로그인한다”는 개념이 아니라 “구글플레이게임에 로그인 한다”는 개념입니다. 안드로이드폰에 Play Game Services의 기능을 담당하는 GameService라는 백그라운드 프로세스가 있는데 아마도 이 프로세스가 전체 로그인 세션을 직접 관리하게 되지 않을까 생각됩니다.

이 부분이 변경되면 어떤 게임에 한번만 로그인하면 이후의 모든 Play Game API를 탑재한 게임은 로그인이 이미 되어있는 상태가 되겠지요. 게임 개발자 입장에서는 왠지 멋진 업데이트 같습니다만 유저 입장에서는 반갑지 않은 소식이 될꺼 같군요. 하지만 설정에서 자동 로그인을 끌 수 있다고 하니 옵트아웃 방식으로 해당 기능을 피할 수 있기는 하겠네요.

이제 유저는 로그인한적도 없는데 게임내에서 저렇게 되어있는것을 경험하게 될 것 같습니다. 다음은 구글 개발자 블로그에 올라온 소개글 일부분을 번역한 내용입니다.


우리는 로그인 과정에서의 마찰과 유저가 게임 API를 호출할 때 발생하는 불필요한 퍼미션 요청을 줄이기 위해 새로운 모델로 변경을 하고 있습니다. 새로운 인터렉션은 다음과 같습니다.

  • 플레이어는 게임당 한번의 로그인이 아닌 계정당 한번의 로그인 과정만을 거치게 됩니다.
  • 플레이어는 구글플레이서비스를 사용하기 위해 더이상 그들의 계정을 구글플러스 계정으로 업그레이드 할 필요가 없어졌습니다.
  • 플레이어가 최초 한번 로그인을 하게 되면 그들은 더이상 새로운 게임을 위해 로그인을 할 필요가 없어집니다. 새로운 게임들에서는 자동으로 로그인이 진행될 것입니다. (플레이어는 플레이게임 설정에서 자동 로그인 설정을 끌 수 있습니다)

장점 :

  • 유저가 최초에 한번 로그인을 하게 되면 새로운 게임들은 아무런 유저의 인터렉션 없이 로그인이 가능해 집니다.
  • 각각의 게임들에 로그인 과정에 발생하는 개인정보 획득 등의 동의 화면이 없어집니다. 각각의 새로운 게임마다 자동으로 로그인이 처리될 것입니다. (사라질 화면은 다음과 같은 동의 화면입니다)

유저의 개인정보를 존중하고 그들의 실제 이름이 노출되지 않도록 하기 위해, 우리는 마찬가지로 플레이어들의 ID 방식을 변경해야 합니다.

  • 기존의 플레이어 : 로그인할 때 게임은 계속해서 그들의 구글 플러스 ID (예전 문서에서는 player ID라고 불렀던)를 가져옵니다.
  • 새로운 플레이어 : 게임은 예전에 사용된적이 없는 새로운 player ID를 가져옵니다.

잠재적 이슈

대부분의 게임은 장애 요소가 변경해야 하는 부분이 없을것으로 보입니다. 하지만 극소수의 경우에 한해 변화가 필요할 수 있습니다. 아래에는 몇가지 문제점과 잠재적인 해결방안 입니다.

  1. 불필요한 구글 플러스 스코프를 물어보기
    • 문제점 : 당신의 유저가 불필요한 잠재적으로 방해가 되는 권한요청 팝업 윈도우를 보게 됨
    • 해결책 : 명확하게 유저에게 요구되는 스코프가 아닌 이상 추가적인 요청을 하지 않습니다.
  2. Play Game의 player ID를 다른 게임이 아닌 Google API에 사용하기
    • 문제점 : 다른 엔드포인트로부터 잘못된 데이터를 받게 될 것입니다.
    • 해결책 : 다른 Google API들에는 player ID를 사용하지 않습니다.
  3. 모바일/클라이언트 엑세스토큰을 서버에서 사용하기
    • 문제점 : 당신의 엑세스 토큰은 당신이 찾는 정보를 포함하고 있지 않으며 최초에 사용하는것을 추천하지 않습니다.
    • 해결책 : 서버용 토큰 발급을 위해 새로운 GetServerAuthCode API를 사용하십시오.

자세한 기술적인 구현 부분은 구글 블로그의 가이드를 참고하시기 바랍니다.

Exit mobile version