■ 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 |
---|