반응형

게임 개발이 마무리 되어 갈쯤 등록을 위해서 다음과 같은 이미지를 준비해야 합니다.


1.App Icon - 게임 설치 및 마켓 대표 아이콘


2. 스크린 샷 - 등록 시 필요


3. 배너 이미지 - 구글 등록 시 사용



최소로 필요한 경우이며 특정한 경우 추가적인 사이즈가필요 할 수 있으니 미리 체크해보시기 바랍니다.

---------------------------------------------------------------------------------------------------------

분류 

사이즈 

비고 

 App Icon

1024 x 1024  

최초 1024 사이즈로 제작

IOS 서비스를 할 경우, 아이콘 변경프로그램 사용


 Asset Catalog Creator  


android 특정 버전 이상 부터 자체적으로 ICON에 효과를 넣는 경우가 있습니다.


Unity에서 이를 대비한 것인지 배경 과 앞쪽 이미지를 설정하는 부분이 있습니다.


저는 사용하지 않았지만 혹시 모를 경우를 대비하여

(당연히 레이어를 분리했다고 생각하지만) 주의해서 작업해주세요,.

 스크린 샷

<Android>

1080 x 1920 / 1920 x 1080


해당 비율이면 등록시 문제 없음


<IOS>


5.5 ( 1242x2208 / 2208x1242 )

5.8 ( 1124 x 2436 / 2436 x 1125)

 12.9 ( 2048 x 2732 / 2732 x 2048)

각 해상도별 최소 3장의 이미지가 필요


해상도별로 다를필요는 없음


기본 1가지를 변경.

 배너 이미지

[스토어 상단 노출]

1024 x 500


[피처드 용 배너]

180x120

안드로이드에만 해당


스토어 페이지 상단에 노출


피처드 시 사용하는 요도로 알고 있음 


반응형

'개발이야기 > 외부 기능 연결' 카테고리의 다른 글

Unity cloud Build  (0) 2018.07.16
.12 File  (0) 2018.07.16
Unpacking(난독화)  (0) 2018.07.12
Admob 베너 광고 끄기  (0) 2018.04.04
Google Play Game Center 연동  (0) 2018.04.03
반응형

오늘은 Unity Cloud Build 에 대해서 설명 드립니다.


UCB는 소스제어 프로그램 (외부) 또는 Collaba를 통한 소스 및 리소스를 바탕으로 빌드를 진행하는 시스템 입니다.


1. 무료 입니까?

- 처음 해본 바로는 한달은 무료 / 다음달 부터 9000원 정도의 월 결제가 필요합니다.


2. 유료로 이용하면서 쓸만한가요?

- 개인적으로 매달 9천원은 아깝다고 생각하지만 (매일매일 빌드를 하지 않기에) 빌드를 하는 측면에서보면 충분히 지급해서 사용할 만 합니다.


3. 장점은 무엇인가요?


Unity에서 스위치 플랫폼을 하지 않아도 IOS,AOS 등 다양한 플렛폼을 빌드할 수 있ㄷㅏ.

- 빌드 중 Unity를 사용할 수 있다.

- 협업을 하는 프로젝트에서는 더 큰 힘을 발휘한다.


4. 단점은 무엇인가요?

- 소스제어 프로그램을 사용해야한다. (Bitbucket OR collaba 그 외) 

- 초기에 세팅이 필요하다. (좀 많이 필요하다, 막힘 없이 한다면 1~2시간 / 초보자는 하루잡는게 맨탈건강에 이롭습니다. )

- 느리다. 약 5배정도의 시간이 소요된다고 보시면 됩니다. 

- IOS의 경우, Application Loader를 사용해야한다.


그래도 사용해보면 나름 편합니다.


[적용 단계]

1. 다음 플로우를 따라한다.


Unity 자습서에서 제공하는 단계를 따라하면 무리 없이 진행이 되었습니다.

한글 번역한 다른 페이지도 공유하오니 참고 하시면 됩니다.


최신 sourceTree와는 인터페이스는 차이가 있었지만 흐름을 보면 크게 어렵지 않았습니다.


[유니티 공식]

https://unity3d.com/kr/learn/tutorials/topics/cloud-build/creating-your-first-source-control-repository?playlist=17866


[개인 번역 페이지]

http://lonpeach.com/2017/03/10/unity-cloud-build/



[주의 사항]

- 위 버전들이 과거이다보니 뭐가 좀 달랐습니다.

- Unity 팀즈 어드밴스드를 사용하지 않으니 프로젝트에서 Cloud Build가 활성화 되지 않았습니다.

- 한달은 무료이니 사용해보시고 취소하시면 됩니다.


2. IOS 빌드


[IOS빌드 시 주의 사항]


P12.file 이 필요합니다.

http://devgom87.tistory.com/58


제가 이거저것 보고 간락하게 정리는 하였습니다.

저욱자세한 내용이 필요하시면 다른 구글링을 보시는게 좋을 듯합니다.


3. 공통 주의 사항


Player Setting  미리 하기

- xcode 및 cocoapob을 사용하셨더라면 마지막 단계에서 이것 저것 세팅을 하셨을 겁니다.

하지만 해당 방식은 미리 세팅을 모두 해야합니다.


버전, 번들ID, 아이콘 등


기타 문의 사항은 댓글 또는 dev.blackgom@gmail.com 으로 문의 주시면 아는 한에서는 답변 드리도록 하겠습니다.


그럼 좋은 하루 되세요!


반응형

'개발이야기 > 외부 기능 연결' 카테고리의 다른 글

게임 등록 - 이미지 준비  (0) 2018.09.04
.12 File  (0) 2018.07.16
Unpacking(난독화)  (0) 2018.07.12
Admob 베너 광고 끄기  (0) 2018.04.04
Google Play Game Center 연동  (0) 2018.04.03
반응형

Unity Cloud Build 시스템을 사용하기로 하였다.


생소한 내용일 수도 있다.. 하지만 한번 해보면 나쁘지 않다. 아니 빌드 시간은 오래 걸리지만 매우 편하다.


해당 프로세스를 이용하기 위해서는 제목 처럼 p . 12file 이 필요하다.


이글을 시작하기 전 미리 말씀드립니다.


1. 최소 IOS 개발자 가입 / 2. 1회라도 게임을 출시해본 분(IOS) 를 대상으로 작성하기에 매우 불친절 할 수 있습니다.

제 글 중 IOS 개발자 가입 부터 - 앱 최초 등록 부분을 보고 오시는게 좋을 것이라고 생각 합니다.


1. https://developer.apple.com 접속


2. Accout 탭 진입



3.Certificates. Identifiers & Prifiles 접근


4. App IDs 자신이 등록할 앱의 정보를 미리 입력


5. Provisioning ProFiles > Distrbution >+ (추가)


6. Distribution 을 App Store 로 체크 > 마무리


---------------------------------------------------------------

7. KeyChain 오픈


8. 자신의 Distribution 파일 선택


9. 오른쪽 마우스 클릭 > 내보내기 선택


10. 비밀 번호 입력 및 이름 정하여 저장할 것


여기까지 준비


이것을 가지고 Unity cloud Build를 세팅 하러 갑니다.




반응형

'개발이야기 > 외부 기능 연결' 카테고리의 다른 글

게임 등록 - 이미지 준비  (0) 2018.09.04
Unity cloud Build  (0) 2018.07.16
Unpacking(난독화)  (0) 2018.07.12
Admob 베너 광고 끄기  (0) 2018.04.04
Google Play Game Center 연동  (0) 2018.04.03
반응형

게임 개발의 마무리는 항상 암호화 등 안전장치를 하는 것으로 마무리가 됩니다.


암호화, 난독화는 무적의 철벽은 아니지만 그냥 더블클릭으로 내 게임이 까발려지는 것 정도는 막는 다고 생각하면 편합니다.


반대로 내 게임을 조작해서라도 한다면 그 것 또한 나쁘지 않겠지만 그래도 몇개월을 노력한 내용물이 인터넷 바다에 떠다니고 다른 옷을 입고 


나온다면 슬플 것 같습니다.


그래서 난독화를 이번에 다루겠습니다.


이번 난독화 asset은 유료 입니다...


무료나 다른 여러 방식이 있지만 간편하게 사용할 수 있고 주변에서 많이들 사용하시기에 다룹니다.


이름은 Obfuscator 


https://assetstore.unity.com/packages/tools/utilities/obfuscator-48919


사용 방법은 기본 설정을 그대로 사용하시면 될 정도로 편합니다.

스토어에서 보시면 유튜브 등 잘 설명이 되어 있습니다.


여기서 추가로 제가 다루고자하는 부분은 다음과 같습니다.


Q. 위 어셋을 사용하고 빌드도 잘 되었는데 화면이 터치도 안되고 기능이 정상 작동하지 않아요...!!


A: 아래 보이는 그림에서 설정을 수정해야합니다.


1. 아래 경로를 가세요

Obfuscator Iptions를 누르면 인스펙터 쪽에 정보가 출력됩니다.



2. Methods 쪽에 public쪽을 체크를 해제해주세요

메소드쪽이 같이 난독화가 진행되면서 정상 작동을 안하는 경우가 발생하는 것으로 파악이 됩니다.


그래도 안된다면 protected 부분을 해제하고 다시 진행해보세요. 


개발 환경에 따라 ㄴㅓ무 다양한 변수가 있기에 기본적인 부분을 다루며 조금 테스트를 하시면서 알아가실 필요도 있습니다.


반응형

'개발이야기 > 외부 기능 연결' 카테고리의 다른 글

Unity cloud Build  (0) 2018.07.16
.12 File  (0) 2018.07.16
Admob 베너 광고 끄기  (0) 2018.04.04
Google Play Game Center 연동  (0) 2018.04.03
Advertisements, ShowResult (Version=1.0.0) 오류  (0) 2018.03.07
반응형

admob 베너 광고는 거의 뎁스상 최상단에서 출력이 됩니다.


보통 UI를 피해서 만들게 됩니다.


가끔 특정 Scene에서는 베너 광고를 끄고자 하시는 분들이 있습니다. 

물론 저도 그래서 찾았습니다.


bannerView.Hide();


위 코드를 호출하시면 베너가 사라지는 것을 확인하실 수 있습니다.


반응형

'개발이야기 > 외부 기능 연결' 카테고리의 다른 글

.12 File  (0) 2018.07.16
Unpacking(난독화)  (0) 2018.07.12
Google Play Game Center 연동  (0) 2018.04.03
Advertisements, ShowResult (Version=1.0.0) 오류  (0) 2018.03.07
ZplayerPrefs 사용  (0) 2018.02.05
반응형

Google Play 연동의 자세한 내용은 다른 고수분들 내용이 많기에 실작업 간 문제가 생겼던 부분을 위주로 정리 합니다. 


1. Play_game-Plugin-for- unity 어디가 받아요?


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


2. 연결된 앱은 어느 시점에 해야하나요?


랭킹 및 리더보드 설정하시고 해도 상관 없습니다.

먼저 업로드 하셔도 상관 없습니다.

단 ! 다음을 주의 하세요. - 랭킹이 안열리시는 분들...


3. 구글플레이 콘솔 -> 게임 서비스 -> 테스트에 초록색 불이 들어왔는가?

>> 불이 안들어와있다면 위에 중요 정보를 누락된게 있습니다.

>> 이것을 모두 채우고 테스트에 초록불이 들어온 상태에서 정상적인 테스트가 가능합니다.



4. 랭킹 페이지는 불러와지는데, 랭킹 등록 후에 안열려요 ㅠㅠ!!


>> 제가 약 3번의 서비스 준비를 하면서 항상 발생하는 이슈였습니다.

>> 지금은 저만의 방법으로 해결을 하였지만, 이게 정도인지는 확신할 수 없으나 아직까지 문제는 안되고 있기에 작성합니다.


>> 대부분의 설명글은 어느 상태로 하시는지 모르겠지만 전 항상 APK를 직접 넣어서 테스트를 진행했습니다.


>> 아마 apk를 직접 넣었느냐? OR 내부테스트 및 알파테스트로 진행하였느냐? 가 차이가 발생하는 부분으로 보입니다.


>> 테스트 버전을 통해 진행하신 분들은 정상적으로 잘 출력이 됩니다.


>> 하지만 apk를 직접 넣으신분들은 안될가능성이 매우 큽니다.


>> 자 이제 방법입니다.


> 1. 연결된 앱에 1개의 안드로이드를 연결하세요 (=> 그러면 숫자는 같고 뒤에 영어만 다른 한개의 정보가 출력됩니다.[OAuth2])

> 2. 게임 서비스 > 게임 세부정보 > 화면 스크롤 하단 > API 콘솔 프로젝트 > 이 게임은 API 콘솔 프로젝트 '프로젝트명'에 연결되어 있습니다. > 프로젝트 명을 클릭

> 3. 새로운 Google APIs라는 페이지가 열립니다.

> 4. 우측에 열쇠 모양을 누릅니다.

> 5. 여기서 Oauth 2.0키가 1개 이면 하나를 추가합니다.

> 추가 시, 입력할 정보는 다음에서 봅니다.

> 6.구글 플레이 콘솔 > 모든 애플리케이션 > 개발중 앱 선택 > 출시관리 > 앱 서명 > 앱서명 인증서, 업로드 인증서 ShA-1의 인증서를 봅니다.


> 5번에서 기존에 서명 또는 업로드가 있었을 겁니다.

> 둘중 없는 것을 추가하고 테스트 하세요


!!!! 주의: 위 설명은 기본적으로 1개의 서명된 APK를 등록하고 진행한 상태이므로 등록한 앱이 없다면 테스트가 불가능합니다.



5. 기타


이 외에는 보통은 문제없이 될것이라고 생각이 되고 구글링하시거나 댓글 주시면 함께 풀어보겠습니다 ^^

그럼 모두 즐겁게 재미있는 게임 개발해주세요!!



반응형

'개발이야기 > 외부 기능 연결' 카테고리의 다른 글

Unpacking(난독화)  (0) 2018.07.12
Admob 베너 광고 끄기  (0) 2018.04.04
Advertisements, ShowResult (Version=1.0.0) 오류  (0) 2018.03.07
ZplayerPrefs 사용  (0) 2018.02.05
원스토어 IAP 연결하기  (2) 2018.02.03
반응형

맥북을 쓰는 나에게 용량을 정리하는 시점이 왔다.


그러나... 용량을 정리하다가 ICloud 폴더를 통째로 삭제시켜버리는 실수를 저질러 버렸다.


다행이 Icloud.com 웹을 통해 복구는 진행


그러던 중 작업했던 프로젝트에서 Could not load or assembly 'UnityEngine.Adertisements, Version=10.0.0, Culture = neutral. PublicKeyToken=null' or one of its dependencies.


라는 오류가 나면서 난리가 아니다.


그래서 방법을 찾던 중 그나마 해결했던 방식을 남겨놓는다.


주요맹점은 세팅을 다시 한다.


1. 유니티 및 스크립트 프로그램 저장 및 종료

2. 프로젝트 폴더에서 ProjectSettings 폴더 안에 UnityConnectSettings.asset 파일과 Library 폴더 삭제

3. 다시 유니티 오픈

4. 모든빌드 세팅 진행, (중요) 안드로이드 및 ios 스우치 플레폼


해당과 같이 진행하였더니 일단 오류는 사라졌다.


하지만... 아직 몇가지 난재가 있다 해결하면 또 올려야겠다.


그리고 항상 백업 및  Export Package를 통해 관리하는걸 추천한다.


물론 다양한 백업 프로그램들이 많이 존재하지만 큰 시점에 해당 것으로 남겨놓으면 복원이 쉽다고 생각한다.

용량은 크니 외장하드 등에 하자!

반응형

'개발이야기 > 외부 기능 연결' 카테고리의 다른 글

Unpacking(난독화)  (0) 2018.07.12
Admob 베너 광고 끄기  (0) 2018.04.04
Google Play Game Center 연동  (0) 2018.04.03
ZplayerPrefs 사용  (0) 2018.02.05
원스토어 IAP 연결하기  (2) 2018.02.03
반응형

 Unity > PlayerPrefs 암화를 위한 어셋


// 사용 주의 사항

1. start 및 awake 부분에 해당 선언 필요 

선언하지 않은 경우, 대량의 경고를 출력합니다.

ZPlayerPrefs.Initialize("xxxxx","xxxxx");


2. 횟수 설정

기본 99등 높은 수치가 설정되어있음

적당한 수치로 변경 (암호화 횟수로 많이 할 경우, 속도에 영향이 있다고함)

ZPlayerPrefs.cs > const int Iterations = 5;


3. Set 과 Get

일반 Playerprefs 는 set이 없다라도 별도의 디폴트값만 있다면 Get 경고를 출력하지않습니다.

ZPlayerPrefs의 경우, Get하기 전, Set이 없다면 다량의 경고를 출력합니다.


초기화와 같인 Set을 초기에 설정하는 부분을 습과화하여 처리하는 것이 신경이 덜 쓰이게 됩니다.


https://www.assetstore.unity3d.com/kr/#!/content/32357

반응형

'개발이야기 > 외부 기능 연결' 카테고리의 다른 글

Unpacking(난독화)  (0) 2018.07.12
Admob 베너 광고 끄기  (0) 2018.04.04
Google Play Game Center 연동  (0) 2018.04.03
Advertisements, ShowResult (Version=1.0.0) 오류  (0) 2018.03.07
원스토어 IAP 연결하기  (2) 2018.02.03
반응형

안녕하세요.

오늘은 저를 일주일간 별거 아닌 것이 괴롭힌 원스토어 IAP 관련 글을 작성하고자 합니다.


흠 다른 것들과 비교해도 어렵진 않습니다. 

단 ! 몇가지만 꼭~~~ 주의 하신다면요.


자 그럼 시작합니다.


1. 프로젝트 준비

프로젝트는 Android 프로젝트로 준비해주세요.


!!! 만약 구글플레이에 서비스를 하셨다면 정보를 끌어오면되기에 조금 더 편하실 수 있습니다.


2. 필요한 파일 받기

https://github.com/ONE-store/inapp-sdk/wiki/IAP-Download


여기를 가시면 2가지의 파일을 받아 주세요.




3. 파일 풀기 및 유니티 프로젝트에 넣기

3-1. 파일은 풀어서 폴더를 잘 두세요.


3-2. 폴더를 뒤져서 보시면 아래 3개의 파일이 있습니다.

이녀석들을 아래 경로에 넣어주세요!


기본 경로: Assets\Plugins\Android

AndroidManifest

iap_plugin_v16.04.00_20180112

unity_adaptor_v1.1_20180112


3-3. 스크립트

스크립트는 모두다 자신의 스크립트 폴더에 넣어주세요

보통 경로: Assets\Script OR Assets\Scripts

IapSample

VerifyReceipt

Error

Response

여기까지 기초 작업은 완료 되었습니다.


4. 프로젝트 스크립트 세팅

4-1. Hierarchy 

여기 별표 100개 해주세요! 저도 여기서 별거아닌걸로 고생을 많이했습니다.


자 우리는 IapSample.cs만 수정합니다.


여기서 IapSample을 그대로 사용하신다면 "" Hierarchy\IapSamle """ 이라고 동일하게 스크립트 파일과 같은 이름으로 해줍니다. 

이거 실수하면 결과가 안넘어 옵니다.



만약! 당신이 다른 이름으로 변경한다면 그것으로 잘 세팅해야합니다.


4-2. IapSample 작업

1) 기본 설정

iapRequestAdapter = new AndroidJavaObject("com.onestore.iap.unity.RequestAdapter""IapSample"currentActivityfalse); 


여기서는 4-1에서 말한 스크립트 파일이름이 수정이 안되었다면 수정할게 없습니다.

만약 수정하셨다면 "IapSample" 부분을 자신이 수정한 곳으로 수정해 주세요


2) ProductIds

등록한 상품을 모두 배열로 입력하세요.

string[] productIds = {  } 

상품 개수만큼 입력하시면 됩니다.  

상품 ID는 

a) 원스토어 https://dev.onestore.co.kr/devpoc/index.omp


b) Apps > 자신 등록한 정보 (없다면 등록하고오세요.) > InApp정보 > 숫자로 된 ID가 있습니다.





3) AppID 세팅

위 스크린 샷 을 보면 OA000000처럼 생긴 이름이 있다.

이녀석이 바로 AppID 입니다. 


소스에서 OA로 시작하는 부분을 모두 저녀석으로 교체해주세요.

하나도 빠짐없이......


4) 결제 요청 (RequestPaymenet) 

아래 부분을 구매 버튼에 연결해서 사용 하세요. 


여기서 꿀팁! AppiD, ProductID, Product Name 은 꼭! 정확한 값을 넣어주세요.

AppID와 ProductID는 자신껄 넣으시구요 Name은 상점 상품 이름과 동일하게 넣어주세요

전 실제로 샘플로 사용했다가 반려 맞았습니다.


public void RequestPaymenet()
    {
        // ---------------------------------
        // 함수 parameter 정리
        // ---------------------------------
        // (0) 메소드이름 : 구매요청
        // ---------------------------------
        // (1) appId
        // (2) productId
        // (3) proudtName
        // (4) tId
        // (5) bpInfo
        // (6) gameuserId
        // (7) promotionApplicable
        // ----------------------------------
        iapRequestAdapter.Call ("requestPayment""OA000000""00000000""보석""TID_0""BPINFO_0123" , "",true);
 


5) 결과물 처리(PaymentResponse)

결제가 완료되었으면 보상을 지급해야죠!

public void PaymentResponse(string response
    {
        Debug.Log ("--------------------------------------------------------");
        Debug.Log ("[UNITY] PaymentResponse >>> " + response);
        Debug.Log ("--------------------------------------------------------");

        // Parsing Json string to "Reponse" class
        Response data = JsonUtility.FromJson<Response> (response);
        Debug.Log (">>> " + data.ToString());
        Debug.Log ("--------------------------------------------------------");

        if("0000" == data.result.code) // 여기는 꼭필요해요 (0000을 받아야 성공한것이기에)
        {
            switch(data.result.product[0].id) (if sWitch 등 편하신걸로 ID 구분해서 지급)
            {
                지급 내용 작성하세요!!!!!!!!
            }
        }



6) 의문이 드는 부분

a) VerifyReceipt여기는 어찌해야하나요?

> 영수증 검증 부분같습니다. 우선은 전 비전문가이다보니 결론부터 말씀드리면 

아무것도 건들지 않아도 됩니다.

>혹시라도 영수증관련 무언가 하신다면 내용을 별도로 확인해보세요



5. 테스트

검증을 요청하려면 인앱상품의 테스트 여부가 N -> Y로 변경되어야 합니다.

그래야 검수를 진행할 수 있습니다.


5-1) 스크립트 약간 수정하기

앵 위에 끝났는데 무슨 말이냐?


sample 윗부분을 보면 이렇게 2줄이 있습니다.

iapRequestAdapter = new AndroidJavaObject("com.onestore.iap.unity.RequestAdapter""IapSample"currentActivityfalse); //Release
//iapRequestAdapter = new AndroidJavaObject("com.onestore.iap.unity.RequestAdapter", "IapSample", currentActivity, true); //Debug


여기서 테스트를 진행 하실 때에는 꼭!! 아래 Debug 주석처리된 부분을 풀고 Release를 주석처리 후 테스트하세요.


5-2) 구매 확인

만드신 앱에서 구매 및 상품 지급 확인

Onestore 상품 구매 테스트가 Y로 변경되었나 확인


그럼 끝!!


6. 완전 번외

1. 적용했더니 아이콘이 안드로이드 아이콘으로 나와요!!!!

> Plugins/Android/res/drawable 폴더에 앱 아이콘 이름을 app_icon 으로 변경해서 넣으세요,

> Onestore세팅에서 추가한 AndroidManifest 에 이걸 추가하세요

  <application android:allow<wbr />Backup="true" android:label="@<wbr />string/app_nameandroid:icon="@drawable/app_<wbr />icon" 
        android:supportsRtl="t<wbr />rue">


이렇게만 하면 통과했습니다.



반응형

'개발이야기 > 외부 기능 연결' 카테고리의 다른 글

Unpacking(난독화)  (0) 2018.07.12
Admob 베너 광고 끄기  (0) 2018.04.04
Google Play Game Center 연동  (0) 2018.04.03
Advertisements, ShowResult (Version=1.0.0) 오류  (0) 2018.03.07
ZplayerPrefs 사용  (0) 2018.02.05

+ Recent posts