본문 바로가기

Unity3D/개발팁

Unity3d, 구글개발자콘솔, google Play Console, GPGS 연동




















■ GPGS_01


* GPGS 연동.


* Unity 2018.3.0f2 (64-bit) 버전으로 GPGS 연동을 하였다.(상위 버전 추천).


* 아무 작업도 안한 빈 프로젝트 생성 : APK 만들기

- Keysotre 입력.

__GPGS_01\capture22.png 


- Identification Package Name : 소문자 입력.

__GPGS_01\capture23.png


- BuildSetting : IL2CPP 체크, ARMv7 ARM64 체크해야 한다. (x86 체크 해제, apk 파일크기가 커진다.)

__GPGS_01\capture20.png

* Scripting Backend

- Mono : C# 컴파일러

- IL2CPP : C++ 로 한 번 컴파일(원본 코드를 보기 힘들어진다. 하지만 IL2CPP 도 보안상 문제가 있기 때문에 난독화는 필수. 앱에 등록하려면 체크해야 된다.)

* API Compatibility Level : .Net 2.0 Subset (불필요한 Package 제외)

* Target Architectures

- ARMv7 : 핸드폰, 체크.

- ARM64 : 체크.

- x86 : 컴퓨터 ( 체크 해제, 용량이 줄어든다. )


* Google Play Console 회원가입 : 현금 25 달러 필요

- 현재 사용하는 구글 계정 외에 구글 계정을 1개 더 만들어서 Google Play Console 에 회원가입하자.

https://play.google.com/console/u/0/signup/?pli=1


* 구글 개발자콘솔 접속.

https://play.google.com/console/u/1/developers/8308657879524432757?onboardingflow=signup 


* 모든 앱 > 앱 만들기 > 정보 작성 후 앱 만들기

- 앱 이름 : GPGS

- 기본 언어 : 한국어

- 게임 체크

- 무료

- 요청 : 개발자 프로그램 정책, 미국 수출 법규 체크.

__GPGS_02\capture05.png   __GPGS_02\capture06.png 


__GPGS_02\capture11.png


* 초기 설정 하기.

- 앱 콘텐츠에 관한 정보 입력 ~ 앱이 분류 및 표시되는 방식 관리 전부 입력.

__GPGS_02\capture07.png


__GPGS_02\capture08.png     __GPGS_02\capture10.png 


- 특수한 엑세스 권한 없이 모든 기능 이용 가능.

- 예, 앱에 광고가 있습니다.

- 콘텐츠 등급

__GPGS_01\capture14.png 


- 개인정보처리방침 : 작성이 어렵다면 비슷한 게임에서 사용되는 개인정보처리방침을 참조하자.

- 타겟층 및 콘텐츠

__GPGS_01\capture16.png    __GPGS_01\capture17.png 


__GPGS_01\capture15.png 


__GPGS_01\capture18.png 


- 뉴스앱 : 아니요


- 스토어 설정

__GPGS_02\capture09.png 


__GPGS_01\capture19.png 


- 기본 스토어 등록정보 : 필수 정보 전부 입력(사진 없으면 1024x500, 512x512 첨부파일 2개 사용하면 됨)

1024x500.psd

512x512.psd



* 비공개태스트

* 트랙 만들기 > GPGS

__GPGS_01\capture21.png 


* 새 버전 만들기

__GPGS_02\capture02.png


- 계속

__GPGS_02\capture12.png


* APK 파일 업로드

- 저장 > 버전검토

- ☆★ 출시는 절대 하지 말자! : 출시하면 앱 삭제가 불가능하다. ★☆


* 해당 오류 발생된다면?

__GPGS_01\capture24.png 


- 대시보드 > 개발자가 관리하는 더 큰 테스터 구릅을 대상으로 앱 테스트 > 국가 및 지역 선택 > 국가 지역추가, 테스터 추가

__GPGS_01\capture25.png     __GPGS_01\capture26.png


- 테스터할 계정 추가

__GPGS_01\capture27.png   __GPGS_01\capture29.png


- 다시 돌아와서 "버전 검토" : 에러 해결

__GPGS_01\capture28.png


* 해당 에러 발생된다면 ?

- 이 출시 버전은 Google Play 64비트 요구 사항을 준수하지 않습니다.

다음 APK 또는 APP Bundle은 64비트 기기에서 사용할 수 있으나 현재 다음 32비트 네이티브 코드만 있습니다.

앱에 64비트 및 32비트 네이티브 코드를 포함하세요. Android App Bundle 게시 형식을 사용하여 각 기기 아키텍쳐가 필요한 네이티브 코드만 수신하도록 자동으로 확인하세요. 그래야 앱 전체 크기를 줄일 수 있습니다.

- Player Setting > Configuration > IL2CPP > ARM64 체크를 해야 한다.

- IL2CPP 빌드를 위해서는 NDK 가 필요하다.


- ☆★ 출시는 절대 하지 말자! : 출시하면 앱 삭제가 불가능하다. ★☆ 





 

■ GPGS_02


- 앱 서명 : SHA-1 인증서 지문을 복사해서 메모장에 임시로 두자.

__GPGS_02\capture07.png     __GPGS_02\capture08.png    __GPGS_02\capture09.png 

- 출시 전 : 업로드 키 인증서 SHA-1 인증서 지문 (출시 전 GPGS 연동 테스트를 목적으로 사용하려면 해당 복사)

- 출시 : 앱 서명 키 인증서 SHA-1 인증서 지문


* Play 게임 서비스

- 구글 개발자 콘솔 홈페이지가 업데이트 되면서 Play 게임 서비스 위치가 앱 안으로 들어갔다.

- 설정

__GPGS_02\capture.png   


- 아니요, 게임에서 Google API 를 사용하지 않습니다. > 만들기

__GPGS_02\capture01.png


- 속성 > 속성 수정

__GPGS_02\capture02.png


- 표시 이름

- 설명

- 게임 카테고리

- 저장된 게임

- 변경사항 저장

- 게임 아이콘

- 그래픽 이미지

- 전부 입력 후 변경사항 저장

__GPGS_02\capture03.png


- 사용자 인증 정보 > OAuth 동의 화면 구성

__GPGS_02\capture04.png 


- Google Cloud Platform 클릭

__GPGS_02\capture05.png 


* 아래 에러가 발생된다면? 구글 계정을 google play console 회원가입한 구글 계정으로 로그인 하자.

__GPGS_02\capture06.png 


- 외부 선택 > 만들기 > 필수 정보 입력 > 저장 후 계속 > 저장 후 계속

__GPGS_02\capture10.png   __GPGS_02\capture11.png


- 신뢰할 수 있는 사용자 : Add User 버튼으로 테스트 할 계정 추가 > 저장 후 계속

__GPGS_02\capture12.png 


- Play 게임 서비스 > 설정으로 돌아오면 화면이 바뀐다.

__GPGS_02\capture13.png


- 사용자 인증 정보 추가

__GPGS_02\capture14.png 


- OAuth 클라이언트 만들기 > OAuth 클라이언트 ID 만들기 클릭

__GPGS_02\capture15.png 


__GPGS_02\capture16.png


- Android 선택

- 이름 입력

- 패키지 이름 : 전부 소문자 (unity Build Setting 에 Identification Package Name 과 동일)

- 메모장에 복사해둔 SHA - 1 입력 (출시 전에는 업로드 키 인증서 사용)

- 만들기

__GPGS_02\capture17.png  __GPGS_02\capture18.png 


- 클라이언트 ID 를 메모장에 복사해두자.

__GPGS_02\capture19.png


- 인증으로 돌아와서 방금 생성한 OAuth 클라이언트 선택 > 변경사항 저장

__GPGS_02\capture20.png 


- ☆★ 출시 하지 말자! ★☆ 


* Play 게임 서비스 > 업적 > 업적 만들기

__GPGS_02\capture21.png    __GPGS_02\capture22.png 


- 이름, 설명 입력 > 임시보관함에 저장

__GPGS_02\capture23.png    


- Play 게임 서비스 > 업적 > 리소스 보기 > Android(XML) 코드 복사. 

__GPGS_02\capture24.png   __GPGS_02\capture25.png


- 하단 두 줄만 삭제하여 메모장에 보관 (GPGS 연동만 다루기 때문에 방금 만든 업적 관련 코드를 삭제한다.)

<!--achievement GPGS-->

  <string name="achievement_gpgs" translatable="false">CgkI_rXutroGEAIQAQ</string> 


* 테스터

__GPGS_02\capture26.png   __GPGS_02\capture27.png


- 테스터 할 계정을 추가한다.

__GPGS_02\capture28.png


- ☆★ 출시 하지 말자! ★☆



 ■ GPGS_03


* GPGS Package 다운로드

- 아래 링크 (또는 구글에 gpgs 검색하여 GitHub 에 접속) 들어가서 가장 상위 Source code 다운로드.

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


* 압축 해제 : play-games-plugin-for-unity-0.10.11\current-build

- Unity 빈프로젝트 > Package 실행

__GPGS_03\capture.png


- ExternalDependencyManager 가 이미 있다면 체크 해제를 하자 (덮어쓰기 하지말자)

__GPGS_03\capture01.png


- Import > OK

__GPGS_03\capture02.png


- Enable

__GPGS_03\capture03.png


- 완료한 경우( 또는 실패 할 경우 ) : Assets > External Dependency Manager > Android Resolover > Force Resolve 진행

__GPGS_03\capture04.png


- OK : 이 창을 봤다면 설치 완료.

__GPGS_03\capture05.png 


- Window > Google Play Game > Setup > Android Setup

__GPGS_03\capture06.png


* Google Play Games - Andriod Configuration

- Resources Definition : 메모장에 저장해둔 Android(XML) 코드 붙혀넣기

- Client ID : 메모장에 복사해둔 OAuth 클라이언트 ID 붙혀넣기 

- Setup 

__GPGS_03\capture08.png


- OK

__GPGS_03\capture09.png 


* 소스코드 및 UI 버튼(UI 버튼 추가는 생략) 추가.

- GameObject 만들고 아래 코드를 추가.

- UI 버튼을 만든다면 login_GPGS, logout_GPGS 2개를 연결.


using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using GooglePlayGames;

public class CGPGSScript : MonoBehaviour

{

    readonly int m_iSCREEN_TXT_OVERFLOW = 90;

    Rect m_Rect;

    string m_sMsg;

    GUIStyle m_GUIStyle;

    void Awake()

    {

        m_GUIStyle = new GUIStyle();

        m_GUIStyle.normal.textColor = Color.white;

        if (Application.platform == RuntimePlatform.Android

            || Application.platform == RuntimePlatform.IPhonePlayer)

        { m_GUIStyle.fontSize = 30; }

        else

        { m_GUIStyle.fontSize = 20; }

        m_Rect = new Rect(0, 0, 480, 800);

        // ****************************************************************************************************************************

        PlayGamesPlatform.Activate();

        login_GPGS();

    }

    public void login_GPGS()

    {

        Social.localUser.Authenticate((bool _bSuccess) =>

        {

            if (true == _bSuccess)

            {// 로그인 성공.

                string sSocial_Id = Social.localUser.id + "\n" + Social.localUser.userName;

                m_sMsg = sSocial_Id;

            }

            else

            {// 로그인 실패.

                m_sMsg = "Google Login Fail";

            }

        });

    }

    public void logout_GPGS()

    {

        ((PlayGamesPlatform)Social.Active).SignOut();

        m_sMsg = "Google Logout";

    }

    private void OnGUI()

    {

        if (null != m_sMsg)

        {

            GUI.Label(m_Rect, m_sMsg, m_GUIStyle);

        }

    }

}


* 두 가지중 한 가지를 선택해서 빌드하여 APK 만들자.

- 테스트 용도라면 mono 로 해도 된다(컴파일 시간이 빠름)

__GPGS_03\capture10.png   __GPGS_03\capture11.png


* 만든 APK 로 핸드폰으로 테스트를 해보자!


// -------------------------------------------------------------------------------------------------------------------------------------

* 로그인이 제대로 안될 경우?

* 테스터 계정 입력 3 곳에 제대로 테스터 계정을 입력했는지 확인.

1. 비공개 테스트 -> 테스트

__GPGS_03\capture12.png 


__GPGS_03\capture13.png 


2. Play 게임 서비스

__GPGS_03\capture14.png   __GPGS_03\capture15.png


3. Play 게임 서비스 > 설정 > 인증 정보 > Google Cloud Platform 에서 보기 클릭

__GPGS_03\capture16.png  __GPGS_03\capture17.png   __GPGS_03\capture18.png


- OAuth 동의화면 > 신뢰할 수 있는 사용자

__GPGS_03\capture19.png __GPGS_03\capture20.png


*  OAuth 클라이언트 만들 때 업로드 키 인증서, 패키지 이름 동일하게 입력했는지 체크. 

- 출시 전에는 업로드 키 인증서 SHA-1 인증서 지문을 사용해야 한다. 

__GPGS_03\capture21.png 

* Unity3d Google Play Games - Andriod Configuration 설정 확인. 

- Resources Definition : 메모장에 저장해둔 Android(XML) 코드 붙혀넣기 

- Client ID : 메모장에 복사해 둔 OAuth 클라이언트 ID 붙혀넣기 



 



'Unity3D > 개발팁' 카테고리의 다른 글

유니티 프로젝트 폴더 백업 방법  (0) 2020.05.07