2017. 11. 1. 11:40

안녕하세요. 게임 개발자 놀이터입니다.


이번 포스팅은 애플 게임 센터 ( Apple GameCentor ) 를 유니티를 이용해 연동하는 방법을 적어보려고합니다.


감사합니다.



SDK 다운로드 경로 

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


구글 플레이 서비스 SDK를 같이 사용합니다. IOS의 경우 추가적인 설정을 해줘야합니다.

SDK 설정에 적어뒀으니 꼭 확인하세요!


SDK 설치 및 설정 방법


0. IOS상태에서 패키지를 추가하거나, 패키지를 추가한 상태에서 IOS로 변경할 경우 Cocoapods 설치가 진행됩니다.

아래와 같이 팝업창이 뜰때까지 기다려줍니다.


 


1. 게임센터 서비스를 이용하기 위해선 아래 링크로 들어갑니다.

https://itunesconnect.apple.com/

 




2. 여러 버튼중 ‘나의 앱’을 눌러서 들어 간후, 좌 상단에 + 버튼을 눌러 신규 앱을 만들어 줍니다.

 




3. 아래와 같이 알맞는 정보를 적어줍니다.


 



4. 상단 메뉴 ‘앱 내 추가 기능’ 에서 ‘Game Centor’ 로 들어갑니다.



 

5. 상단은 순위효과(리더보드) 하단은 목표 달성 (업적) 입니다. 

 



6. 순위표에서 + 버튼을 눌러 아래와 같은 창을 띄웁니다.



 

7. 우리가 만들껀 개별 순위표 입니다, 개별 순위표를 선택해 아래와 같이 입력해줍니다.

 

여기서 순위표 ID는 구글 콘솔에서 가져오셔야 합니다.


8. 입력 후 로컬라이징을 위해 아래 언어 추가를 누른 후 Korean을 선택합니다.

 


9. 언어 추가를 누른뒤 아래와 같이 입력해줍니다. 


 


10. 아래와 같이 추가 되었다면 성공!

 



11. 이번엔 목표 달성을 추가해봅시다.


 

리더보드와 다를껀 없습니다. ID는 구글콘솔과 동일하게 맞춰줘야 합니다.


12. 사진이 꼭 필요합니다! 사이즈에 맞춰서 추가해줍시다.

 



13. 이제 유니티에서 iOS 셋업을 해줍니다. 

 



14. ClientID는 구글 콘솔에서 받아온내용으로 적고, Object-C Resources 는 구글 콘솔에서 리소스 받기 – Object-C 로 받아온 내용으로 적어둡니다.

 


15. 이제 IOS 세팅만 남았습니다.


GooglePlay는 더이상 IOS를 지원하지 않는다고합니다. 그런데도 GooglePlaySDK를 사용하여 iOS 기능을 사용하는 점은, 구글 콘솔을 통하여 업적과 리더보드등 한개로 통일하기 위함입니다.
하지만, 더이상 지원하지 않는 기능의 코드들이 iOS빌드할때 같이 나나게 됩니다. 따라서 NO_GPGS 라는 Define을 추가해줘야 합니다.
PlayerSetting – iOS – Other Settings – Scripting Define Symebol 에 NO_GPGS 를 추가해줍니다.




API
주로 사용 해야할 API 입니다.



로그인
애플 게임 센터 서비스에 로그인합니다.
Social.localUser.Authenticate((bool success) => {
//handle success or failure
});

업적 달성
업적은 0~100까지 달성도로 나타냅니다.
// unlock achievement (achievement ID "Cfjewijawiu_QA")
Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
//handle success or failure
});

리더보드에 점수 게시
리더보드에 점수를 게시합니다.
//post score 12345 to leaderboard ID "Cfji293fjsie_QA")
social.ReportScore(12345, "Cfji293fjsie_QA", (bool success) =>{
//handle success or failure
});

업적 UI 보여주기
모든 업적이 보이는 UI창을 띄웁니다.
//show achievements UI
Social.ShowAchievementsUI();

리더보드 UI 보여주기
리더보드 UI창을 띄웁니다.
        // show leaderboard UI
Social.ShowLeaderboardUI();




감사합니다.






Posted by 시리시안