1. ์ ๋ํฐ์์ GPGS ์ค์นํ๊ธฐ
Window -> Google Play Games -> Setup -> Android setup
์์ ๊ฐ์ ์ฐฝ์ด ๋จ๊ฒ ๋ฉ๋๋ค.
Resources Definition ์นธ๊ณผ Client ID ์นธ์ ์ฑ์์ผํฉ๋๋ค.
์
์ ํญ๋ชฉ์ ๋ค์ด๊ฐ ๋ค์ ์๋์ ์๋ย ๋ฆฌ์์ค ๋ฐ๊ธฐ๋ฅผ ํด๋ฆญํฉ์๋ค
๋ด์ฉ๋ค์ ์ ๋ถ ๋ณต์ฌ ํ๋ค์ย ย Resources Definitionย ์นธ์ ๋ถ์ฌ๋ฃ๊ธฐ.
๋ค์์ Client ID์นธ์ ์ฑ์๋ด
์๋ค
๊ตฌ๊ธ ๊ฐ๋ฐ์ ์ฝ์ -> ๊ฒ์ ์๋น์ค (์ผ์ชฝ 2๋ฒ์งธ ํจ๋๋ชจ์ ์์ด์ฝ) -> ๊ฒ์ ์ธ๋ถ์ ๋ณด -> API Project
ํด๋ฆญ์ ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ผ๋ก ๋์ด๊ฐ๋๋ค
์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ํญ๋ชฉ์ ์๋ ํด๋ผ์ด์ธํธ ID๋ฅผ ๋ณต์ฌํด์ ์ ๋ํฐ Client ID ์นธ์ ์ฑ์๋ฃ์ต๋๋ค
Setup์ ํ๋ฉด ์ค์น๊ฐ ์๋ฃ ๋ฉ๋๋ค.
2. GPGS ๋ก๊ทธ์ธ
๊ฐ๋จํ๊ฒ GPGS๋ก๊ทธ์ธํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค์ด๋ด
์๋ค
usingย System.Collections;
usingย System.Collections.Generic;
usingย UnityEngine;
usingย GooglePlayGames;
usingย GooglePlayGames.BasicApi;
publicย classย GPGSMngย :ย MonoBehaviourย {
ย ย ย publicย boolย bLogin
ย ย {
ย ย ย ย ย get;
ย ย ย ย ย set;
ย ย }
ย ย ย voidย Start()
ย ย {
ย ย ย ย InitGPGS();
ย ย ย ย LoginGPGS();
ย ย }
ย ย ย publicย voidย InitGPGS()
ย ย {
ย ย ย ย bLoginย =ย false;
ย ย ย ย PlayGamesClientConfigurationย configย =ย newย PlayGamesClientConfiguration.Builder().EnableSavedGames().Build();
ย ย ย ย PlayGamesPlatform.InitializeInstance(config);
ย ย ย ย PlayGamesPlatform.DebugLogEnabledย =ย false;
ย ย ย ย PlayGamesPlatform.Activate();
ย ย }
ย ย ย publicย voidย LoginGPGS()
ย ย {
ย ย ย ย ย if(!Social.localUser.authenticated)
ย ย ย ย {
ย ย ย ย ย ย Social.localUser.Authenticate(LoginCallbackGPGS);
ย ย ย ย }
ย ย }
ย ย ย publicย voidย LoginCallbackGPGS(boolย result)
ย ย {
ย ย ย ย bLoginย =ย result;
ย ย }
}
usingย System.Collections.Generic;
usingย UnityEngine;
usingย GooglePlayGames;
usingย GooglePlayGames.BasicApi;
publicย classย GPGSMngย :ย MonoBehaviourย {
ย ย ย publicย boolย bLogin
ย ย {
ย ย ย ย ย get;
ย ย ย ย ย set;
ย ย }
ย ย ย voidย Start()
ย ย {
ย ย ย ย InitGPGS();
ย ย ย ย LoginGPGS();
ย ย }
ย ย ย publicย voidย InitGPGS()
ย ย {
ย ย ย ย bLoginย =ย false;
ย ย ย ย PlayGamesClientConfigurationย configย =ย newย PlayGamesClientConfiguration.Builder().EnableSavedGames().Build();
ย ย ย ย PlayGamesPlatform.InitializeInstance(config);
ย ย ย ย PlayGamesPlatform.DebugLogEnabledย =ย false;
ย ย ย ย PlayGamesPlatform.Activate();
ย ย }
ย ย ย publicย voidย LoginGPGS()
ย ย {
ย ย ย ย ย if(!Social.localUser.authenticated)
ย ย ย ย {
ย ย ย ย ย ย Social.localUser.Authenticate(LoginCallbackGPGS);
ย ย ย ย }
ย ย }
ย ย ย publicย voidย LoginCallbackGPGS(boolย result)
ย ย {
ย ย ย ย bLoginย =ย result;
ย ย }
}
์ ๊ฐ์ ๊ฒฝ์ฐ์๋ Manager ํด๋์ค๋ค์ ์ฑ๊ธํค์ผ๋ก ๊ด๋ฆฌํ์ง๋ง ์ฐ์ ํ
์คํธ์ฉ์ผ๋ก ์์ฑํ์ต๋๋ค
์ฐ์ InitGPGS ํจ์์์ GPGS๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ธํ
์ ํฉ๋๋ค
๊ทธ๋ค์ LoginGPGS ํจ์๋ฅผ ์คํ์์ผ ๋ก๊ทธ์ธ์ ์๋ํฉ๋๋ค
bLogin ๋ณ์๋ ๋ก๊ทธ์ธ ์ฑ๊ณต์ true ์คํจ์ false ๊ฐ์ ์ป๊ฒ ๋ฉ๋๋ค.
3. ์คํ, ์๋ฌ ํด๊ฒฐ
๋ฒ ํ ๋ฒ์ ์ผ๋ก ์ถ์ํ๊ธฐ ๋๋ฌธ์ ํ ์คํฐ ๊ณ์ ์ผ๋ก ๊ฒ์์ ์คํํด๋ด ์๋ค.
๋ณ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๊ตฌ๊ธ ํ๋ ์ด ์๋น์ค์ ๋ก๊ทธ์ธ์ด ๋ ๊ฒ์
๋๋ค.
17๋
4์ 12์ผ ๊ธฐ์ค์ผ๋ก GPGS ํ๋ฌ๊ทธ์ธ๊ณผ ์๋๋ก์ด๋ SDK ๋ฒ์ ์ด ์ถฉ๋ํ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํด๋ด
์๋ค.
PlayServicesResolver ํด๋ ์ฐํด๋ฆญ -> Play Services Resolver -> Android Resolver -> Settings
Enable Background resolution ์ฒดํฌ ํด์
๋ง์ฝ ์ด๋ฅผ ํ์ง ์์์ ์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธํ๋ผ๋ ์๋ฆผ์ด ์๊พธ ๋จ๊ฒ ๋ฉ๋๋ค.
์ ๋งํฌ์ ๋ค์ด๊ฐ์ ํ์ผ์ ๋ค์ด ๋ฐ์ต๋๋ค
์ ๋ํฐ ํ๋ก์ ํธ์ ์๋ Assets/Plugins/Android ํด๋์ ์๋ ํ์ผ๋ค์ ์ ๋ถ ์ง์๋๋ค.
๋ค์ด ๋ฐ์ ํ์ผ์คย GPG_10.01_Patch.unitypackage ํ์ผ์ Importํฉ์๋ค.
๋ค์ ์ค์ ์ ํ๊ณ ์ค๊ฐ์ ๋์ค๋ ๋ฉ์์ง๋ ์ ๋ถ Keep ํฉ์๋ค.
๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ์คํ์ ์ด๋ฐ ๋ก๊ทธ์ธ ํ๋ฉด์ด ๋์ค๋ฉด ์ฑ๊ณต.
๋ค์์๋ ์ ์ฅ์ ๊ตฌํํด๋ด
์๋ค.
์์ ํ ์ ์ด๋ ์ถ๊ฐํ ๋ด์ฉ ์์ผ๋ฉด ํผ๋๋ฐฑ ๋ถํ ๋ฐ๋
์ ๋ณด๊ธ ์ถ์ฒ
์ ์์ ๋จ๋๊ฑฐ ๊ตฌ๊ธ ์ฐ๋ ๋ก๊ทธ์ธํด์ ๋จ๋๊ฑฐ์ฃ ?
๋ค
ํธ์ฐ์ฐ!
๋ก๊ทธ์ธ ํฌ๋์ฌ ๋์ ์์ฒญ ํค๋ฉ๊ณ ์์๋๋ฐ plugin ๋ฌธ์ ์ธ์ง๋ ๊ฟ์๋ ๋ชฐ๋๋ค์.. ์ ๋ง ๊ฐ์ฌํฉ๋๋ค ใ ใ
๊ฐ์ฌํฉ๋๋ค! ๋ค์๊ธ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ด์!
์ด๊ฑธ ๊ทธ๋๋ก ๋ณต๋ถ ํ๋ฉด ๋ก๊ทธ์ธ์ด ๋๋ค๋๊ฑด๊ฐ์..?? ์๋ฌด๋๋ ์ ์๋๋๋ผ๊ตฌ์.. ใ ใ ๋ก๊ทธ์ธ ํ๋ฉด๊น์ง๋ ๋์ค๋๋ฐ.. ๋๋ด(?)ํ๋ฉด์ ์๋์ค๋๋ผ๊ตฌ์. .์ด๊ฒ ๋ก๊ทธ์ธ์ด ์ฑ๊ณตํ๋์ง๋ฅผ ๋ชจ๋ฅด๊ฒ ์ด์์.. ์ ๊ฐ ํ๋ก๊ทธ๋จ์ ํ๋๋ ๋ชฐ๋ผ์ ๋๋ฒ๊ทธ ํ๋๋ฒ์ ๋ชฐ๋ผ์์..