얼마전에 Cocos2d-x 를 보니까
패치를 좀더 쉽게 구현할 수 있게 해주는 기능이 있었다.
바로
AssetsManager
이름만 보면 싱글톤 같은 느낌이지만.
싱글톤은 아니다.
무튼 curl 을 사용해서
패치 버전이랑 패치 파일 경로만 입력해주면
알아서 다운로드 받아주고 압축까지 풀어주는
진짜 편하고 좋은 기능이다.
전체적인 과정은 아래와 같습니다.
1. 패치를 할 파일들을 묶어 압축한다.
2. 압축한 파일을 서버에 올린다.
3. 패치 버전을 알려주는 페이지를 만든다.
4. 코드를 구현한다.
--- 1. 패치를 할 파일들을 묶어 압축한다. ---
파일을 하나하나 올리는 것 보다 압축해서
하나만 올리는게 더 편하기 때문에..
일단 아래처럼
패치를 할 이미지를 만듭니다.
그래서 아래처럼 최종적으로 패치를 할
패키지 형태로 만들어 줍니다.
그다음 폴더들을 선택해서 압축해 줍니다.
--- 2. 압축한 파일을 서버에 올린다. ---
이부분은 굳이 설명하지 않겠습니다.
그냥 패치를 받을 서버에 FTP 나 기타 프로그램으로
방금 압축한 파일을 올리면 됩니다.
그리고 패치 파일이 올라간 URL 은 기억해 둡니다.
--- 3. 패치 버전을 알려주는 페이지를 만든다. ---
아주 간단하게 만들어 주셔도 됩니다.
그냥 아래처럼 딱 버전만 나오는
페이지만 있으면 됩니다.
패치 버전 URL 또한 기억해 둡니다.
--- 4. 코드를 구현한다. ---
위의 1, 2, 3 단계가 모두 완료되면
이제 코드를 구현 합니다.
헤더에서
AssetsManagerDelegateProtocol
이걸 상속 받아 코드를 구현합니다.
그다음 cpp 파일에는
아래처럼 구현해 줍니다.
그리고 안드로이드는
매니페이트에 아래의 권한을 추가해 줍니다.
그다음 실행합니다.
1 : 패치 파일들을 리셋하는 버튼.
2 : 패치파일을 다운로드 받는 버튼.
3. 패치 상황이 표시 됩니다.
4 : 패치가 정상적으로 받아졌을
경우에 띄워지는 이미지
별 문제가 없다면
아래처럼 download 폴더에 아까 압축했던
파일들이 다운받아 지고 압축까지 풀어줍니다.
__MACOSX 폴더는 Mac 에서
저절로 생성되는 폴더 인데..
무시해도 되지만.. 아무래도 저 폴더가
나오지 않게 하려면 윈도우에서
압축옵션을 "압축안함" 으로 해서
압축하는게 좋을 것 같습니다.
이렇게 간단히 패치 시스템을 구현할 수 있습니다.
'Programming > Cocos2D-X' 카테고리의 다른 글
[Cocos2d-X] 해상도 고정해서 여러 디바이스에 쉽게 대응하기 (0) | 2015.04.01 |
---|---|
[Cocos2d-X] TexturePacker 를 이용한 이미지 안 보이게 숨기기 (보안) (0) | 2015.03.30 |
[Cocos2d-X] 안드로이드 메모리 해킹 대비하기 (0) | 2015.03.30 |
[Cocos2d-X] Cocos2d-x (C++) 에서 안드로이드 (Java) 로 Jni 를 이용해 함수 호출하는 방법 (0) | 2015.03.29 |
[Cocos2d-X] 안드로이드 (Java) 에서 Cocos2d-x (C++) 로 함수 호출하는 방법 (0) | 2015.03.28 |