안녕하세요.


이번 포스팅의 주제는 Google Play Games 플러그인 연동하기 입니다!


유니티 프로젝트에


     Android - 구글 플레이 게임 서비스 (Google Play Games Services)

     iOS - 애플 게임 샌터 (Apple Game Center)


를 연동하고


1. 로그인(SignIn), 2. 로그아웃(SignOut), 3. 업적(Achievement), 4. 리더보드(Leaderboard) 


기능을 구현해보도록 하겠습니다.


물론 Google Play Games plugin for Unity - Github 사이트에 영문으로


업적, 리더보드, 저장된 게임, 퀘스트 등 다양한 기능 연동 가이드가 있습니다.


링크 : https://github.com/playgameservices/play-games-plugin-for-unity





우선 위 링크에서 [Clone or download] -> [Download.ZIP] 하여 플러그인을 다운로드합니다.


압축을 풀고 내용물을 보면





이렇게 되어있는데


맨 위 current-build 폴더에 최신 버전 플러그인.unitypackage가 들어있습니다.


(이 플러그인은 구글 플레이 게임서비스와 애플 게임센터 두 플랫폼 다 지원함)




유니티 프로젝트에 import 해둡니다.




[Android - 구글 플레이 게임 서비스 설정]



먼저, 구글 플레이 개발자 콘솔로 이동하여 (회원가입 후) 로그인 합니다.


플레이 콘솔 사이트 링크 : https://play.google.com/apps/publish/?hl=ko


(Google Play Developer Console의 탐색 기능과 디자인이 업데이트되었으며 이름이 Play Console로 변경되었습니다 - 17년 4월 기준)





우측에 [애플리케이션 만들기] 버튼을 클릭합니다. (플레이 콘솔에 앱을 추가하지 않은 경우만)





언어를 설정하고 제목을 입력한 후 [만들기] 하고


스토어 등록정보 등 기타 내용을 채워서 출시 조건을 맞춰줍니다.





애플리케이션 설정을 완료했다면 [게임 서비스]로 이동하여 [새 게임 추가]를 클릭합니다.





게임 이름을 입력하고 카테고리 선택 후 [계속] 합니다.


애플리케이션 설정과 마찬가지로 [게임 세부정보]에 내용을 채워줍니다.





그 다음 [연결된 앱]으로 이동하고 플랫폼을 선택합니다.





이전에 만들어 두었던 애플리케이션을 게임 서비스와 연결하는 과정입니다.


앱 이름과 패키지 이름, 기타 설정을 마치고 [저장하고 계속] 합니다.





연결이 정상적으로 완료된 모습입니다.







업적과 리더보드를 각각 추가해줍니다.


(참고로, 업적이나 리더보드 아이콘을 넣어주지 않으면 디폴트 아이콘이 보여집니다.)


그러고 나면 하단에 [리소스 받기] 가 보이실텐데요 한번 클릭해 봅시다.





위 처럼 [리소스 내보내기] 라고 뜨는데요


Android 앱은 [ANDROID] 탭을 눌러서 내용을 복사해둡니다.


(iOS 앱은 [OBJECTIVE-C] 탭을 눌러서 복사)


이제 유니티로 돌아옵니다.





플러그인이 정상적으로 임포트 되었다면 Window에 Google Play Games 메뉴가 생깁니다.


그럼 [Window] -> [Google Play Games] -> [Setup] -> [Android setup] 해줍니다.





위와 같은 팝업창이 뜨면 [Resources Definition]


아까 복사해 두었던 리소스를 붙여넣기 합니다.


[Web App Client ID]는 웹 게임용 변수이므로 패스하고 [Setup] 버튼을 누릅니다.





Setup이 완료되었습니다.


[OK]를 누르고 로딩을 기다리면





위 처럼 GPGSIds 라는 .cs 파일이 생성되었을 것입니다.





앞서 만들어둔 업적과 리더보드의 ID를 string 형식으로 담고있는 모습입니다.


업적을 잠금해제하거나 리더보드에 스코어를 올릴 때


static 클래스 GPGSIds의 string 변수를 가져다 쓸 것입니다.




[iOS - 애플 게임센터 설정]



아이튠즈 커넥트 사이트로 이동하여 회원가입 후 로그인 합니다.


iTunes Connect 사이트 링크 : https://itunesconnect.apple.com





로그인 후 메인 페이지에서 [나의 앱] 으로 이동합니다.





[나의 앱] 페이지 좌상단에 있는 [+ 버튼] 을 누른 후 [신규 앱] 을 클릭합니다.


이미 등록된 앱이 있다면 앱 아이콘을 클릭합니다.





플랫폼, 이름, 기본 언어, 번들 ID, SKU 를 입력하고 [생성] 합니다.





앱이 정상적으로 생성되었다면 앱 아이콘을 눌러 앱 페이지로 이동합니다.


그 다음 [앱 내 추가 기능] -> [Game Center] 메뉴로 이동합니다.





순위표와 목표 달성 (각각 리더보드와 업적을 뜻함) 이


비어있는 모습입니다.


먼저 순위표 옆에 있는 +버튼을 눌러줍니다.





개별 순위표를 [선택] 합니다.





개별 순위표 정보를 채워줍니다.


그리고 하단 순위표 현지화에 있는 [언어 추가] 를 눌러줍니다.





현지화 할 언어를 선택합니다.


나머지 정보를 입력하고 (이미지는 선택사항, 이미지를 올리지 않으면 디폴트 이미지가 보여짐) [Save] 합니다.


이제 리더보드가 준비되었습니다.


다음으로 업적을 추가해 봅시다.





목표 달성 옆에 있는 +버튼을 눌러서 업적을 생성합니다.


업적 정보를 입력하고 하단 목표 달성 현지화에 있는 [언어 추가] 를 눌러줍니다.





마찬가지로 현지화 할 언어를 선택하고 제목과 설명을 입력하고 [Save] 합니다.


위는, 업적 아이콘을 원하는 이미지로 직접 설정해 준 모습입니다.





다시 유니티로 돌아와서


[Window] -> [Google Plat Games] -> [Setup] -> [iOS setup...] 합니다.






팝업 창이 뜨면 플레이 콘솔 [리소스 내보내기] 에서 [OBJECTIVE-C] 를 선택하고 


복사 & 붙여넣기 합니다.


그리고 [Setup] 해줍니다.




자, 이제 정말로 연동할 준비가 다 되었습니다!


다음 편에 계속됩니다!


[Unity3D] 구글 플레이 게임 서비스 & 애플 게임 센터 연동 (2/2) #코드편 링크 : http://minhyeokism.tistory.com/72



  1. 개발자 2017.07.13 15:33

    안녕하세요. 조금 지났지만 댓글을 달면 답변을 받을 수 있을거란 생각에 글을 써봅니다.
    여기 게시된 글을 통해 정말 간단히 연동할 수 있었습니다. 우선 감사드려요.
    그런데 한가지.. 윈도우에서 유니티를 켜고, 안드로이드를 연동하는 쪽에서는 잘 됐습니다. 이상없이 로그인,업적,리더보드 등등 다 잘되었구요.
    포함되어있는 PlayGamesPlatform 클래스를 이용해서 데이터 저장/로드 기능까지 구현 완료했습니다. 테스트 이상 없었고요..
    그러다 맥으로 넘어가서 ios테스트를 하려고 하는데, 메뉴에 Google Play Service 메뉴가 생성되지 않아서.. Setup을 못하고 있습니다 ㅠ
    또한ios는 PlayGamesPlatform 을사용할 수가 없어서, 로그인/업적/리더보드 등처럼 유니티에서 제공해주는 공통기능만 넣어두고
    데이터 저장/로드 (게임센터) 쪽은 다른 플러그인을 쓰거나, 아니면 네이티브로 구현을 해야할 것 같더군요 ..

    1. 맥 유니티에서 Google Play Service 메뉴가 생성되지 않는 이유가 혹시 있을까요?
    2. 혹시 게임센터쪽 데이터 저장/로드 기능 구현 해보신 예제가 있을까요 ??

    감사합니다.

  2. 1q2w3e4r 2017.12.28 17:59

    애플 게임 센터를 이용한건데 왜 google play games leaderboard - objective c를 삽입해주나요? 안드로이드만 해주면 되는것 아닌가요?

+ Recent posts