본문 바로가기

Game Programming221

JPush 서비스 오랜만에 중국쪽 서비스를 준비하게 되었는데 많은 변화가 있었다. 특히 Push같은 경우 중국은 애플 앱스토어는 정식으로 들어와 있지만 구글 플레이는 접속이 차단되어 있다. 이 때문에 푸시 서비스를 몇가지 로컬 서비스 중 선택하게 되는 데 그 중에 이번에 해보게 된 것이 JPush였다. 순전히 고객 요청이지만 말이다. 유니티용 플러그인도 준비되어 있고 (1.8.0 xcode 6이상) 5에서 빌드 될 수 있는 1.7.x 버전도 있었다. 안드로이드의 경우 큰 무리가 없었지만 애플은 조금 번거로운 작업이 있을 수 밖에 없는 듯 하다. www.jpush.cn 관련자료가 영문보다는 중문 위주로 난감하긴 한 작업이었다. 2014. 12. 5.
Unity3D ClassNotFoundException on Android plugin 사실 몇가지 경우가 있지만 가장 중요한 부분은 매니페스트 정보를 잘 못 기재했다거나 하는 문제였다. 그런데 오늘 어처구니 없는 문제가 있었다. 소스를 플러그인 폴더에 넣고 작업하다보니 메인 엑티비티의 메타파일이 만들어졌고 그 파일이 apk 빌드에 영향을 주었다. 덕분에 Class not found. 삽질 좀 했다. 이런... 2014. 11. 16.
Java enum 내 입장에서 자바에 enum 을 쓰기 위해서는 java를 1.7 이상으로 업데이트 해야 하는 문제가 있었다.사실상 잘 돌아가는 상황에서 굳이 그 이상을 쓰는 게 좋은가에 고민했지만 이제 시간이 많이 지나서 10년 넘게 쓴 구버전을 뒤로하고새롭게 접하고 있는 중이었다. enum 하나 때문에 말이다. java의 enum 은 사용하기에 따라 재미있는 구현이 가능하다. 일반적인 enum 의 활용은 enum test = { ONE = 1, TWO, MAX } 이렇게 하기 위함인데 java에서 ordering은 기본적으로 기입이 불가능하다.물론 기본적으로이며 당연히 확장을 통해 구현이 가능하다. 자바에선 enum test { ONE(1), TWO, MAX } 이렇게 할 수 있다. 물론 이렇게 하기 위해서는 enum.. 2014. 9. 21.
Unity3d Assembly.Load 문제 해킹 방지 대책으로 동적 스크립트 실행을 처리하는 중인데 iOS와 Web에서는 사용이 안된다.해결 방안으로 2가지 정도 있는 것으로 보여지지만 일단 가장 편한 방식으로 진행. string url = "http://www.mywebsite.com/mygame/assetbundles/assetbundle1.unity3d"; IEnumerator Start () { // Start a download of the given URL WWW www = WWW.LoadFromCacheOrDownload (url, 1); // Wait for download to complete yield return www; // Load and retrieve the AssetBundle AssetBundle bundle = w.. 2014. 9. 15.
MBCS 에서 글자깨짐 오랜만에 삽질 했다. 모바일을 오래 하다보니 MBCS상태에서 아스키코드를 제외한 값이 보이지 않아 유니코드와 달리 확인해보니 시스템 로케일 설정에 맞추어 맞춤 표기되는 것이라 값 자체는 제대로 들어가는 것을 확인할 수 있었다. 데쟈뷰가 일어나는 것은 과거에도 분명 겪었던 일이라는 점인데 기획자 출신에 이렇게 풀그림에 빠져 사는 것도 아이러니구나. 글자출력이 이상해도 로그로 남겨보면 잘 나온다. 디버깅에 안나온다 걱정말고 출력을 시켜보자. ㅎㅎ 2014. 8. 18.
Unity3D와 StreamSocket 그리고 Window 8.1 App 현재 버전까지의 (4.5.1, 실제 안정적인 버전은 4.3.4) 유니티에서는 윈도우 스토어용 앱 제작에 어려움이 있는데 가장 큰 부분중 한가지가 소켓 통신 부분이었습니다. 기존의 System.net 사용이 제약되어 socket부분이 streamsocket으로 변경되어야 하기 때문인데 이 부분은 모바일 기기와의 호환성 문제로 인한 부분이 큽니다. 일단 내부적으로 유니티가 직접적인 사용이 어렵기 때문에 개인적인 솔류션으로 알아 본 부분이 streamsocket을 이용한 socket 대체와 eventhandler를 이용한 다이렉트 통신부를 만들어서 연결하는 것입니다. 테스트는 문제 없었지만 스트림 속성이라 기존의 연결 취약성에 대한 코드가 그다지 필요하지 않게 되었습니다. ssl 처리를 위한 추가적인 연산이 .. 2014. 7. 7.