Copyright (c) 2014 Google Inc. 모든 권리 보유.
Unity®용 Google Play 게임 플러그인은 게임 개발자가 Unity®로 작성된 게임에서 Google Play 게임 API와 통합할 수 있도록 하는 플러그인을 제공하는 것을 목표로 하는 오픈 소스 프로젝트입니다. 그러나 이 프로젝트는 Unity Technologies에서 어떤 식으로든 승인하거나 감독하지 않습니다.
Unity®는 Unity Technologies의 상표입니다.
iOS는 Apple, Inc.의 상표입니다.
Github 릴리스 페이지에서 패키지를 다운로드하세요.
Unity용 Google Play 게임 플러그인을 사용하면 Unity의 소셜 인터페이스를 통해 Google Play 게임 API에 액세스할 수 있습니다. 플러그인은 Google Play Games API의 다음 기능을 지원합니다.
로그인
친구
성취도 잠금 해제/공개/증가
점수를 리더보드에 게시
클라우드 저장 읽기/쓰기
내장 업적/리더보드 UI 표시
이벤트
근처 연결편
주의 사항 : 이 버전의 플러그인은 더 이상 iOS를 지원하지 않습니다. iOS용 Google Play 게임 서비스는 더 이상 사용되지 않으며 예상대로 작동하지 않을 가능성이 높습니다. 새로운 앱에서는 iOS용 Google Play 게임 서비스를 사용하지 마세요. 자세한 내용은 지원 중단 공지 블로그 게시물을 참조하세요.
특징:
쉬운 GUI 기반 프로젝트 설정(Unity GUI에 통합됨)
플레이어 활동을 재정의/사용자 정의할 필요가 없습니다.
AndroidManifest.xml을 재정의/맞춤화할 필요가 없습니다.
플러그인 사용에 대한 지침은 이 개발자 가이드를 참조하세요.
Google Play 게임 사용 방법을 보여주는 샘플 애플리케이션은 SmokeTest 프로젝트를 참조하세요.
프로젝트를 이미 이전 버전의 플러그인과 통합했고 새 버전으로 업그레이드하려는 경우 업그레이드 지침을 참조하세요.
현재 플레이어를 대신하여 백엔드 웹 서버에서 Google API에 액세스하려면 클라이언트 애플리케이션에서 인증 코드를 가져와 이를 웹 서버 애플리케이션에 전달해야 합니다. 그런 다음 이 코드를 액세스 토큰으로 교환하여 다양한 API를 호출할 수 있습니다. 이 흐름에 대한 자세한 내용은 웹사이트용 Google 로그인을 참조하세요.
서버 인증 코드를 얻으려면:
Play Game Console에서 게임에 연결된 웹 애플리케이션의 웹 클라이언트 ID를 구성합니다.
구성을 생성할 때 PlayGamesClientConfiguration.Builder.RequestServerAuthCode(false)
호출하세요.
플레이어가 인증되면 PlayGamesPlatform.Instance.GetServerAuthCode()
호출하세요.
이 코드를 서버 애플리케이션에 전달하세요.
PlayGamesPlatform.Instance.RequestServerSideAccess(/* forceRefreshToken= */ false,code -> { // 서버에 코드 보내기});
Proguard를 사용하여 게임에서 사용하지 않는 Play 게임 서비스 기능에 대한 코드를 제거하면 Play 게임 서비스 Unity 플러그인의 크기를 줄일 수 있습니다. Proguard는 게임에서 사용되지 않는 기능에 대한 Play Games Unity 플러그인 코드를 제거하므로 게임에는 필요한 코드만 포함되어 제공되고 Play 게임 서비스 사용으로 인한 크기 영향이 최소화됩니다.
또한 전체 프로젝트를 압축하는 Unity의 관리 코드 스트리핑을 사용하여 전체 Unity 프로젝트의 크기를 줄일 수도 있습니다. Proguard와 함께 사용할 수 있습니다.
File > Build Settings > Player Settings
으로 이동하여 Publishing Settings
섹션을 클릭하세요. Minify용 Proguard
Minify > Release
선택합니다. 그런 다음 User Proguard File
활성화합니다. 디버그 APK에 대해서도 플러그인을 보호하려면 Proguard
for Minify > Debug
선택하세요.
Proguard 구성 내용을 Assets/Plugins/Android/proguard-user.txt
에 복사합니다.
PlayGamesPlatform.Activate
호출하면 Google Play Games가 기본 소셜 플랫폼 구현이 됩니다. 즉, Social
및 Social.Active
의 메소드에 대한 정적 호출이 Google Play Games 플러그인에 의해 수행됩니다. 이는 플러그인을 사용하는 대부분의 게임에서 원하는 동작입니다.
그러나 어떤 이유로든 기본 구현에 액세스할 수 있도록 하려는 경우(예: 다른 소셜 플랫폼에 업적 및 리더보드를 제출하는 데 사용) 기본 구현을 재정의하지 않고 Google Play 게임 플러그인을 사용할 수 있습니다. 이렇게 하려면:
PlayGamesPlatform.Activate
호출하지 마세요.
Xyz
Social
클래스에서 호출하려는 메서드의 이름인 경우 Social.Xyz
호출하지 마세요. 대신 PlayGamesPlatform.Instance.Xyz
호출하세요.
Google Play 게임과 상호작용할 때 Social.Active
사용하지 마세요. 대신 PlayGamesPlatform.Instance
사용하세요.
이렇게 하면 두 개 이상의 소셜 플랫폼에 점수와 성과를 동시에 제출할 수도 있습니다.
// 원래 기본 소셜 플랫폼Social.ReportProgress("MyAchievementIdHere", 100.0f, callback)에 업적 제출;// Google PlayPlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback)에 업적 제출;
이 섹션에는 코드 작성, 문서 개선 또는 버그 수정을 통해 이 프로젝트에 기여한 사람들의 목록이 나와 있습니다.
Windows에서 JAVA_HOME 설정이 필요한지 알아 보려면 Dgizusse를 참조하세요.
지원 라이브러리의 showErrorDialog 매개변수 유형으로 버그를 수정한 antonlicht입니다.
OnAchievementsLoaded가 OPERATION_DEFERRED 결과 코드를 성공으로 받아들이지 않는 문제를 해결하기 위한 pR0P입니다.
연결된 경우에도 API 호출이 실행되지 않고 대기열에 추가되는 문제를 디버깅하는 데 도움을 준 friikyeu입니다.