Amazon AppStore에 App 등록하기


아마존 앱스토어 링크 : https://www.amazon.com/mobile-apps/b?ie=UTF8&node=2350149011

아마존 개발자 콘솔 링크 : https://developer.amazon.com



먼저, 아마존 개발자 콘솔로 이동합니다.





계정이 없는 경우 

[I am a new customer] 를 체크하고





정보를 입력 후 [Create account] 합니다.





계정생성을 완료한 후 or 계정이 이미 있는 경우

[I am a returning customer, and my password is] 를 체크하고

로그인 합니다.





로그인 후 사이트 상단의 [APPS & SERVICES] 로 이동한 다음

[Add a New App] 을 클릭합니다.





- Android

- Mobile Web

- PC & Mac


등록할 앱의 플랫폼을 선택하고 [Next] 합니다.





앱의 이름과 카테고리, 고객 서포트 관련 정보를 입력하고 [Save] 합니다.

여기서 [App SKU] 에는 해당 앱의 고유식별코드를 입력합니다. (본인이 알아볼 수 있게 입력, 중요하지 않음)





위 처럼, 앱이 추가된 모습을 볼 수 있습니다.

세부정보를 입력하기 위해 추가한 앱의 이름을 클릭합니다.





1. General Information

2. Availability & Pricing

3. Description

4. Images & Multimedia

5. Content Rating

6. Binary File(s)


총 6단계의 절차를 완료해야 앱을 업로드할 수 있습니다.


첫 번째 [General Information] 에는 아까 입력했던 정보가 나와있습니다.

수정할 게 있으면 [Edit] 을 눌러 수정할 수 있습니다.





두 번째 [Availability & Pricing] 에서는 출시관련 정보를 입력해야합니다.


- Where would you like this app to be available? 

앱을 출시할 국가를 정합니다. 

글로벌로 출시할 것이라면 [In all countries and regions where Amazon sells apps] 을 선택하고

특정 국가를 정하고 싶으면 [Only in the following countires and regions...] 를 선택하고 원하는 지역을 체크합니다.


- Are you charging for this app?

무료로 판매할 것이라면 [No, this is a free app] 을 선택합니다.

유료로 판매할 것이라면 [Yes, my base list price is...] 를 선택하고

출시할 지역별 판매가격을 책정합니다.


- Has this app already been released?

등록하려는 앱이 아직 출시된 앱이 아니라면 [No] 를 선택합니다.

등록하려는 앱이 구글 플레이 스토어나 애플 앱스토어 등에 이미 출시된 앱이라면 [Yes, it was first available on...] 를 선택하고

스토어와 출시일을 입력해줍니다.


- When would you like this app to be available on Amazon?

해당 앱을 아마존 스토어에 언제 출시할 것인지 입력해야합니다.

나중에 수정할 수 있으니 대략적인 날짜로 우선 설정합니다.


모두 완료하면 [Save] 합니다.





세 번째 [Description] 에서는 말 그대로, 해당 앱이 스토어에서 보여질 설명들을 입력해야합니다.


간단 설명, 자세한 설명, 한 줄 피쳐, 키워드를 입력하고 [Save] 합니다.



다음으로, 네 번째 [Images & Multimedia] 에서는 스토어에 보여질 앱 아이콘과 스크린샷, 영상 등을 입력해야합니다.




[General assets] 의 내용들을 아래와 같이 채워줍니다.



그 아래,



[Fire TV assets] 에 있는 내용들도 아래와 같이 채워줍니다.




모두 채우고 [Save] 합니다.






다섯 번째 [Content Rating] 입니다.

[Subject Matter][Additional Information] 에 있는 간단한 설문에 답하고 [Save] 합니다.




마지막 여섯 번째 [BInary File(s)] 에서는 

언어지원, 바이너리정보 등의 내용을 체크, 작성한 후 [UPLOAD BINARY] 버튼을 눌러 apk 파일을 업로드 합니다.

업로드가 완료되면 [Save] 합니다.





6가지 모든 과정을 마무리했다면 우측 상단에 있는 [Submit App] 을 눌러 앱을 제출합니다.


문제가 없다면 [Availability & Pricing] 에서 입력했던 출시예정 일자에 맞춰서 스토어에 업로드됩니다.



이상으로 포스팅을 마치겠습니다!





마이크로소프트가 맥용 비쥬얼스튜디오 출시를 발표했습니다.


이제 더 이상 Mac Unity에서 MonoDevelop이 아닌 VisualStudio를 사용할 수 있게 되었습니다!







다운로드 사이트 링크 : https://www.visualstudio.com/ko/vs/visual-studio-mac


저도 소식을 접하자마자 바로 다운받았는데요!





VisualStudio를 실행한 모습입니다 ㅠㅠ


이제 Mac 환경에서도 디버깅을 할 수 있게되어 기쁘네요.



해상도 목록

해상도화면비율삼성LG애플구글
320 x 4802:3옵티머스1아이폰3
480 x 8003:5갤럭시S1
갤럭시S2
넥서스S
넥서스One
640 x 9602:3아이폰4
640 x 11369:16아이폰5
720 x 12809:16갤럭시S2 HD
갤럭시S3
갤노트2
옵티머스G갤럭시넥서스
750 x 13349:16아이폰6
아이폰6S
아이폰7
768 x 10243:4옵티머스뷰아이패드1
아이패드2
아이패드미니
768 x 12803:5넥서스4
800 x 128010:16갤럭시탭10.1
갤노트1
G패드10.1넥서스7
1080 x 19209:16갤럭시S4
갤럭시S5
갤노트3
옵티머스G프로
G2
아이폰6+
아이폰6S+
넥서스5
Pixel
1200 x 192010:16G패드8.3넥서스7(2013)
1242 x 22089:16
1440 x 25609:16갤럭시S6
갤럭시S7
갤노트4
갤노트5
갤노트7
G3
G4
G5
V10
V20
Pixel XL
1536 x 20483:4아이패드미니레티나
아이패드에어2
1600 x 256010:16갤럭시탭S
갤럭시노트10.1(2014)
갤럭시노트프로12.2
넥서스10
2048 x 27323:4아이패드프로


화면비율

  • 스마트폰 대세는 9:16
  • 스마트패드 대세는 10:16(안드로이드), 3:4(애플)
  • 아래표는 아래로 갈수록 길쭉
화면비율추세대표사례
3:41536 x 2048(아이패드3, 아이패드4)
2048 x 2732(아이패드프로)
2:3640 x 960(아이폰4)
320 x 480(아이폰3, 옵1)
10:16★★1600 x 2560(갤탭S, 넥10)
1200 x 1920(G패드8.3, 넥7)
3:5768 x 1280(넥4)
480 x 800(갤1, 갤2, 넥S, 넥원)
9:16★★★1440 x 2560(갤6, 갤7, 갤노4, 갤노5, G3, G4, G5, 픽셀XL)
1080 x 1920(갤4, 갤5, 갤노3, 옵G프로, G2, 넥5, 아이폰6, 픽셀)



출처 : http://zetawiki.com/wiki/%EC%8A%A4%EB%A7%88%ED%8A%B8%ED%8F%B0_%ED%95%B4%EC%83%81%EB%8F%84,_%ED%99%94%EB%A9%B4%EB%B9%84%EC%9C%A8



클래스 네이밍을 할 때,

~Manager

~Handler

~Controller


이렇게 많이 하는데

얼핏 보면 다 비슷비슷한 뜻 같지만 

조금씩 의미적 차이가 있다고 합니다!


Manager는 관리

Handler는 처리

Controller는 제어


도움이 되었길바랍니다~



JNI (Java Native Interface) 란?






기본 개념

- JNI는 Java에서 native영역(C/C++)으로 들어가 호출 또는 native(C/C++)에서 Java로 호출하는 interface.

- Java와 Java 이외의 언어로 만들어진 어플리케이션이나 라이브러리가 상호작용할 수 있도록 연결시켜주는 인터페이스.

- JVM(Java Virtual Machine)이 네이티브 메소드(Native Method)를 적재(locate)하고 수행(invoke)할 수 있도록 함.

- JNI가 JVM 내에 포함됨으로써 JVM이 호스트 운영체제상의 입출력, 그래픽스, 네트워킹, 그리고 스레드와 같은 기능들을 작동하기 위한 

로컬시스템호출(local system calls)을 수행할 수 있도록 함.


* 쉽게 말해, JNI는 Java와 다른 언어를 연동하는 솔루션이다. (C/C++로 작성한 API를 Java에서 호출하게 해줌)

* 네이티브 메소드(Native Method)란 자바에서 특화된 메소드로써, 다른 언어로 구현되어 있으며 native 라는지시자(예약어)를 가지는 메소드를 말함.

* NDK(Native Development Kit)는 Java의 JNI 기술을 이용하여 안드로이드 App(Java)과 안드로이드 Library(C/C++) 계층을 연결해주는 역할을 함.


참조 : http://viiiin.tistory.com/11


네이티브 메소드를 이용하는 몇 가지 공통적인 이유

- 이미 다른 언어(c/c++)로 상당히 크고 중요한 코드를 작성했고, 자바로 동일한 코드를 재작성하기를 원치 않으며, 단지 기존 코드를 재사용하고 싶을 때 JNI를 사용한다.

- 시스템 디바이스에 접근할 필요가 있거나 자바의 성능을 넘어선 플랫폼 특정적인 작업을 수행할 경우에 JNI를 사용한다.

- 자바로 구현하기엔 어플리케이션이 매우 느릴 수 있으며, C++에서 time-critical 코드를 구현함으로써 성능의 향상을 가져올 수 있을 경우에 JNI를 사용한다.



JNI의 부정적인 측면

- 이식성(Portability)을 잃게 된다. 많은 자바 라이브러리가 네이티브 메소드를 사용하고 있는데, 새로 추가된 네이티브 메소드가 모든 플랫폼에서 호출 가능한 동일한 C++코드를 가진다면, 그 코드는 자바에서 가장 먼저 구현되어질 수 있다.

- 안정성(safety)을 잃게 된다. 네이티브 메소드는 자바 메소드처럼 동일한 보호를 보장받지 못한다. 일단 C++코드에 들어가게 되면, 자바에서의 모든 것이 백지화되고 메모리 추적, 포인터의 사용, 그리고 배열 바운딩에 의한 C++ 버그들이 발생할 수 있다.

- 네이티브 메소드의 구현은 .dll 및 .so 와 같은 동적 라이브러리들 내에서 이루어진다. 네이티브 메소드를 사용하는 자바 코드는 반드시 동적 라이브러리들을 호출하는데, 이는 자바 시큐리티 매니저에 반대되는 연산이다.

- 타이핑 오류와 같은 컴파일 오류에 종종 직면하게 되므로 코드 자체가 방해물이 될 수 있다. 



JNI를 사용하는 기본 절차

- native 예약어를 표시함으로써 자바로 구현되지 않는 특정 메소드들을 가지는 자바 클래스를 선언한다.

- JNI 프로토콜을 사용하여 네이티브 메소드를 구현하는 C/C++ 함수를 작성한다.

- C/C++ 함수를 컴파일하고 동적 라이브러리를 삽입한다.

- JVM이 동적 라이브러리를 호출한다. 네이티브 메소드에 대한 호출은 동적 라이브러리 내에서 구현된 호출에 의해 다루어진다.




프로젝트를 하나 켜놓은 상태에서 Mac 터미널 실행 후


> open -na unity



+ Recent posts