한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
개발자를 위한 안드로이드 5.0 롤리팝의 중요 변경사항 정리
2014년 10월 18일 토요일
안녕하세요. 구글 디벨로퍼 어드보케 양찬석입니다.
안드로이드 5.0 롤리팝이 드디어 정식으로 공개
되었습니다. 플랫폼 SDK 와 에뮬레이터, 넥서스 5, 넥서스 7용 시스템 이미지가 공개되었는데요. 새로운 넥서스 디바이스를 포함하여 실제 일반 사용자들이 롤리팝을 손에 쥐기 까지는 약 2주 정도의 시간이 남아있습니다.
<안드로이드의 V 사인은 남은 2주간을 나타낸다는 설이 있습니다.>
이번 안드로이드 롤리팝은 추가된 API 의 숫자만도 5,000 개가 될 만큼 기존 버전에 비해 정말 다양한 변화가 있었는데요, 그 변화의 폭도 넓어서 새로운 사용자 UX 인
머티리얼 디자인
부터
새로운 런타임 ART
까지, 플랫폼 가장 위에서 아래까지 많은 변화가 있었습니다. 그런만큼 혹시라도 여러분의 앱이 새로운 안드로이드 5.0 플랫폼 버전에서 별다른 문제 없이 잘 동작하고 있는지, 안드로이드 5.0을 지원하는 디바이스가 정식 출시 될 때까지, 남은 2주간의 시간을 잘 활용해서 다음과 같은 부분을 꼭 한번 확인해보시기 바랍니다.
아래 정리한 내용은 안드로이드 개발자의 영원한 동반자. 안드로이드 개발자 사이트의
API 21 소개 페이지
의 내용을 기반으로 정리하였습니다.
안드로이드 런타임(ART)이 기본 런타임으로 사용됩니다.
안드로이드 4.4 킷캣 버전부터 새로운 안드로이드 런타임 ART 가 추가되었습니다. 4.4 까지 ART 는 개발자 옵션을 통해서만 기능을 사용할 수 있었지만, 안드로이드 5.0 부터는 ART 가 기본 런타임으로 사용됩니다. ART는 Ahead-of-time(AOT) 컴파일, 개선된 가비지 컬렉션(GC), 개선된 디버깅 기능등을 지원합니다. 보다 자세한 내용은
ART 소개 페이지
를 참고하시기 바랍니다.
대부분의 안드로이드 앱은 별다른 변경 없이 ART상에서 잘 동작합니다. 그러나 기존 Dalvik 과 동작 방식에 몇 가지 차이가 있기 때문에, 특히 다음과 경우에는 앱의 ART 호환성 여부를 꼭 확인해봐야 합니다.
C / C++ 코드를 실행하기 위해 Java 네이티브 인터페이스 (JNI)를 사용합니다.
서드파티 난독화 도구등 비표준 코드를 생성하는 개발 도구를 사용하고 있습니다.
가비지 콜렉션 컴팩트 기능이 동작하면 호환되지 않는 기술을 사용하고 있습니다. (ART 현재 GC 컴팩트 기능을 사용하지 않지만, 안드로이드 오픈 소스 프로젝트 상에서 해당 기술을 개발 중입니다.)
이외 ART 호환성 이슈가 발생하는 경우는 개발자 사이트의
ART 호환성 검증에 관한 문서
를 확인해보시기 바랍니다.
알림(Notification) 기능이 크게
변경
발전 되었습니다.
앱에서 알림 기능을 사용하고 계시다면, 안드로이듸 5.0 의 새로운 알림 기능과 잘 조화를 이루는지 확인할 필요가 있습니다. 특히 안드로이드 5.0 알림 디자인에 관한 자세한 내용은
디자인 가이드문서
를 확인해 보시기 바랍니다.
머티리얼 디자인 스타일의 알림
알림은 새로운 머티리얼 디자인 위젯에 맞게 흰색(혹은 아주 가벼운) 배경에 어두운 텍스트로 표시되도록 다시 한번 변경되었습니다. 사용중인 알림이 새로운 배경색에 잘 어울리는지 확인하고 이상한 점이 있으면 잘 어울리도록 멋지게 수정해주시기 바랍니다 : )
setColor()
메서드를 이용해 아이콘 이미지 뒤에 원 안에 악센트 색상을 설정할 수 있습니다.
알림에 사용되는 이미지들에 색상이 입혀 있다면 이를 수정해야 합니다. 여러분의 알림에서 사용된 리소스의 색상 정보는 시스템에 의해 무시되며 오직 알파 채널 값만이 사용됩니다. 실제 아이콘의 색상과는 무관하게 알림 아이콘은 흰색, 액션 아이콘은 짙은 회색으로 그려집니다.
소리와 진동
만일 여러분이
Ringtone
,
MediaPlayer
,
Vibrartor
클래스를 이용해 알림의 소리나 진동을 구현하고 있다면, 시스템이 새로운 '우선 순위 모드(priority mode)' 에 있을 때, 이를 적절히 처리할 수 있도록 해당 코드는 제거해주시기 바랍니다. 대신
Notification.Builder
를 이용해 사운드나 진동을 추가할 수 있습니다.
디바이스를
RINGER_MODE_SILENT
모드로 설정하면, 디바이스가 새로운 우선 순위 모드로 변경됩니다. 디바이스는 음소거 모드를 벗어날때 까지 우선 순위 모드로 유지됩니다.
지금까지 안드로이드 테블릿 장치의 마스터 볼륨을 제어하기 위해서는
STREAM_MUSIC
이 사용되었습니다. 안드로이드 5.0 부터는 스마트폰과 태블릿 모두
STREAM_RING
혹은
STREAM_NOTIFICATION
에 의해 마스터 볼륨이 제어됩니다.
잠금 화면(Lock Screen)
안드로이드 5.0에서
기본적으로 모든
알림은 잠금 화면에 표시됩니다. 잠금 화면에 민감한 정보가 표시되지 않도록,사용자는 민감한 정보가 표시되지 않도록 설정할 수 있습니다. 이렇게 되면 알림 내용이 표시될 때 텍스트 내용이 자동으로 제거됩니다. 개발자 여러분이 편집된 알림의 내용을 직접 정의하려면
setPublicVersion() 메서드
를 사용할 수 있습니다.
만일 알림에 개인 정보가 포함되어 있지 않거나, 알림을 통해 미디어를 제어할 수 있게 하려면
setVisibility() 메서드
를 호출해 알림을
VISIBILITY_PUBLIC
으로 설정합니다.
미디어 재생
기존의 커스텀
RemoteView
를 사용하는 대신, 새로운
Notification.MediaStyle
을 이용해 사용자에게 미디어 재생 컨트롤 기능을 제공할 수 있습니다. 어떤 방법을 사용하던 알림의 Visibility 를 VISIBILITY_PUBLIC 으로 설정하면 사용자는 잠금화면에서 바로 미디어를 컨트롤 할 수 있습니다. 안드로이드 5.0 부터는 더이상 잠금 화면에
RemoteControlClient
객체를 표시하지 않습니다. 바로 아래에 이와 관련된 보다 자세한 내용을 확인하실 수 있습니다.
헤드 업(Heads-up) 알림
새로운 해드 업 알림 기능이 추가되었습니다. 디바이스가 활성화된 상태일 때 화면에 떠있는 형태로 표시되는 작은 창 모양의 알림으로 사용자가 바로 실행할 수 있는 액션버튼을 포함할 수 있습니다. 사용자는 현재 실행 중인 어플리케이션을 벗어나지 않고도 바로 헤드 업 알림 내용을 확인하고 특정 액션을 실행하거나 알림을 닫을 수 있습니다.
헤드 업 알림은 다음과 같은 경우에 발생할 수 있습니다.
알림이
fullScreenIntent
를 갖고 있으며, 전체 화면을 필요로 할 때
알림의 우선 순위가 높으며 벨소리 및 진동을 사용하고 있을 때
여러분이 어플리케이션이 해당 조건을 만족하는 알림을 사용하고 있다면, 헤드 업 알림이 제대로 표시되는지 확인하시기 바랍니다.
RemoteControlClient 가 더이상 지원되지 않습니다.
안드로이드 5.0 에서는
RemoteControlClient
를 사용해도 미디어 재생 컨트롤 화면이 잠금 화면에 표시되지 않습니다. 대신, 새로운
Notification.MediaStyle
탬플릿을 통해 미디어 재생 컨트롤을 잠금 화면에 표시할 수 있습니다.
Notification.Builder.addAction() 메서드
를 통해 추가한 액션은 미디어 재생 알림에 버튼 형태로 추가되며
setSession() 메서드
를 통해 현재 어떤 미디어 세션이 재생되고 있는지 지정할 수 있습니다. 새로운 MediaStyle 스타일 알림을 사용할 때는 사용자가 잠금 화며에서 미디어를 컨트롤 할 수 있도록 VISIBILITY_PUBLIC 속성을 사용하시기 바랍니다.
안드로이드 TV 나 안드로이드 웨어 디바이스에서도 미디어 재생 기능을 지원하기 위해서는
MediaSession
클래스를 구현해야 합니다. 또한, 안드로이드 디바이스에서 미디어 버튼 이벤트를 받아 특정 작업을 수행하려고 하는 경우에도 마찬가지로 MediaSession 클래스를 구현 하셔야 합니다.
getRecentTasks() 는 더 이상 지원되지 않습니다.
안드로이드 5.0 에서는 하나의 앱을
여러 개의 다큐먼트와 엑티비티 태스크로 분리
하여 지정하고 관리할 수 있는 방법이 추가되면서, 사용자의 개인정보를 보호하기 위하여
ActivityManager.getRecentTasks() 메서드
는 더 이상 지원되지 않습니다. 하위 호환을 위하여 안드로이드 5.0 에서 이 메서드는 메서드를 호출한 프로그램과 홈과 같은 덜 민감한 태스크의 정보만을 반환하도록 수정되었습니다. 만일 현재 여러분의 앱에 속한 태스크의 정보를 확인하고자 한다면, 새로운
getAppTasks() 메서드
를 사용하실 수 있습니다.
64비트가 지원됩니다. 최신 NDK를 이용해 앱을 다시 빌드해야 합니다.
안드로이드 5.0은 64비트 시스템을 지원합니다. 64비트로 주소 공간이 늘어나며 성능이 향상 될 수 있습니다. 또한 64비트 지원을 통해 OpenSSL의 암호화 성능도 개선될 수 있습니다. 여기에 이번 릴리즈에서는 새로운 네이티브 NDK API 와 OpenGL ES 3.1이 추가적으로 지원됩니다.
안드로이드 5.0에서 지원되는 64비트 지원을 활용하려면
NDK 페이지
에서 최신 NDK 10c 버전을 다운로드 받아 설치해 보시기 바랍니다.
릴리즈 노트
를 참고하시면 NDK 의 주요 변경 및 버그 수정에 관한 내용을 확인하실 수 있습니다.
Context.bindService() 는 명시적 인텐트만을 지원합니다.
안드로이드 5.0 부터 서비스에 바인드 하기 위해서는 반드시 명시적
인텐트
를 사용해야 합니다. 만일 암시적 인텐트를 이용해
bindService()
를 호출하는 경우 예외가 발생합니다. 여러분의 앱이 보안을 위하여 서비스에 바인드 할 때는 반드시 명시적 인텐트를 사용하고 서비스를 위한 인텐트 필터는 사용하지 않는 것이 권장됩니다.
안드로이드 5.0 롤리팝 SDK 가 공개되었습니다.
2014년 10월 18일 토요일
By
Jamal Eason
, Product Manager, Android
지난 7월 Google I/O 에서 넥서스5 와 넥서스7 시스템 이미지와 함께
L 개발자 프리뷰
가 공개되었고, 많은 개발자분들이 다양하고 귀중한 피드백을 주셨습니다. 개발자 프리뷰 프로그램에 참여해 주신 모든 개발자 분들과 개발자 커뮤니티 여러분께 다시 한번 감사드립니다.
그리고 마침내
안드로이드 5.0 롤리팝이 공개
되었습니다. 오늘부터 개발자 여러분은
Android 5.0 정식 SDK
와 에뮬레이터, 넥서스5, 넥서스7(2013) 용 시스템 이미지를 다운로드 받으실 수 있습니다.
새로운 넥서스6, 넥서스9, 넥서스 플레이어 디바이스는 안드로이드 5.0 과 함께 11월 중에 정식으로 출시 될 것 입니다. 같은 시기에 구글의 넥서스 4, 5, 7(2012년 과 2013년 버전 모두) 디바이스와 구글 에디션 디바이스들을 대상으로 안드로이드 5.0 업데이트가 롤아웃 될 것 입니다. 개발자 여러분에게는 새로운 플랫폼에서 앱을 테스트 할 수 있는 2주간의 시간이 주어진 셈 입니다.
롤리팝의 새로운 기능
개발자 여러분이 관심있게 살펴볼만한 안드로이드 5.0 롤리팝의 새로운 API 와 기능은 다음과 같습니다.
새로운 머티리얼 테마와 관련 API
향상된 알림기능 (Notification)
배터리 사용량을 최적화 하기 위한
프로젝트 볼타
와 새로운 배터리 히스토리안 도구
안드로이드 런타임 (ART)
더 멋진 게임과 고성능 앱을 위한
OpenGL ES 3.1
와
AEP(Android Extension Pack)
및
64 비트
지원
플랫폼 하이라이트
를 참고하시면 개발자 여러분을 위한 안드로이드 5.0 의 새로운 기능을 한 눈에 확인하실 수 있습니다.
안드로이드 5.0 SDK
안드로이드 5.0 SDK 는 업데이트된 SDK 도구 와 에뮬레이터 그리고 넥서스5, 넥서스7, ADT-1 디바이스를 위한 새로운 시스템 이미지를 포함하고 있습니다. API 레벨을 21로 설정하여 최신 API 를 마음껏 활용해 앱을 개발 하실 수 있으며, 머티리얼 디자인 및 TV 를 위한 린백(Leanback) 인터페이스를 구현하기 위한 새로운 서포트 라이브러리도 활용하실 수 있습니다.
안드로이드 SDK 매니저
를 통해 다음 구성요소를 다운로드 받으실 수 있습니다.
안드로이드 5.0 SDK 플랫폼 및 도구
안드로이드 5.0 에뮬레이터 시스템 이미지 - 32 비트 및 64 비트 (x86)
안드로이드 TV 용 에뮬레이터 시스템 이미지 (32 비트)
머티리얼 테마를 지원하는 AppCompat 서포트 라이브러리
안드로이드 TV 앱을 지원하는 Leanback 라이브러리
NDK 를 이용해 안드로이드 앱을 개발하는 경우
NDK의 r10c - API 레벨 21지원
Android의 TV 앱을 개발하는 경우
앞으로 몇 일 내로
ADT-1 디바이스
를 대상으로 무선 업데이트(OTA)를 통해 안드로이드 5.0 시스템 이미지가 배포됩니다.
또한, 이전 프리뷰 릴리즈와 마찬가지로 넥서스5 와 넥서스7(2013)를 위한 시스템 이미지가 제공됩니다.
넥서스5 (GSM / LTE) “hammerhead" 디바이스 시스템 이미지
넥서스7 (2013 - wifi) "razor" 디바이스 시스템 이미지
넥서스5 와 넥서스7 시스템 이미지는 OTA 를 통해 배포되지 않습니다. 개발자 여러분은 최신 프리뷰 버전을 사용하기 위해 시스템 이미지를 직접
덮어쓰셔야
합니다. 또한 정식 OTA 업데이트가 시작된 후 해당 업데이트를 전달 받기위해서는
팩토리 이미지
로 다시 덮어 쓰셔야 합니다.
롤리팝에서 여러분의 앱을 테스트하세요
안드로이드 5.0 기반의 넥서스6, 넥서스9, 넥서스 플레이어가 소비자에게 공개될 날이 멀지 않았습니다. 여러분의 앱이 안드로이드 5.0 에서 잘 동작하는지 다음과 같은 점을 테스트 해보시기 바랍니다.
SDK Manager를 통해 에뮬레이터나 넥서스 디바이스 시스템 이미지를 설치합니다.
혹시 프리뷰 버전의 API를 사용하고 있는 경우 안드로이드 5.0 기준으로 앱을 다시 컴파일 합니다. 최종 API 에서는 기존 프리뷰 버전과 비교해 API상
여러가지 변화
가 있었습니다.
여러분의 앱의 새로운 API 21 버전을 타겟으로도 잘 동작하는지,
ART
기반에서도 잘 동작하는지 확인합니다. NDK 를 이용하고 있는 경우 64 비트 에뮬레이터를 이용하여 64비트 환경에서도 동작에 이상이 없는지 확인합니다.
여러분의 앱이 새로운 플랫폼에서 잘 동작하는지 확인하셨다면, 안드로이드 5.0 의 새로운 API 와 기능들을 다양하게 활용해 보시기 바랍니다.
머티러일 디자인 적용
안드로이드 5.0 롤리팝에서는 구글의 새로운 디자인 원칙인
머티리얼 디자인
이 플랫폼 전반에 걸쳐 적용되었습니다. 머티리얼 디자인은 과감하고, 다채롭고, 유연하면서도 여러 종류의 스크린과 디바이스를 아우를 수 있는 사용자 상호작용에 관한 핵심 원칙을 담고 있습니다.
여러분의 어플리케이션이 안드로이드 5.0에서 잘 동작하는지 확인하셨다면, 다음 단계로
AppCompat 서포트 라이브러리
를 이용하여 어플리케이션에 머티리얼 테마를 적용해보시기 바랍니다. 머티리얼 디자인 가이드라인과
태블릿 최적화 팁
을 확인해보시면, 머티리얼 디자인을 적용할 때 요긴한 팁과 권장사항을 확인하실 수 있습니다. 아직 머티리얼 디자인에 익숙하지 않은 분들은
머티리얼 디자인 시작하기
문서를 살펴보시면 좋을 것 같습니다.
Google Play를 통해 여러분의 어플리케이션을 배포해보세요!
바로 오늘부터 Google Play 를 통해 안드로이드 5.0 롤리팝을 대상으로 하는 어플리케이션을 게시 할 수 있습니다. 메니페스트 파일에
android:targetSdkVersion
을 "21"로 설정한 후 개발자 콘솔을 통해 앱을 업로드 하시기 바랍니다.
11 월 3 일 공개되는 넥서스 9 디바이스가 안드로이드 5.0 에서 동작하는 첫번째 디바이스가 될 것 입니다. 현재 여러분의 앱이 최신 버전의 안드로이드 플랫폼을 타겟으로 하고 있지 않더라도, 남은 2주간 새롭게 공개된 안드로이드 5.0 시스템 이미지를 통해 여러분의 앱이 문제 없이 잘 동작하는지 확인해 보시기 바랍니다. 넥서스 6과 넥서스 9 디바이스에 대한 내용은 앞으로 계속 공개될 예정입니다. 보다 자세한 내용에 계속 귀를 기울여 주시기 바랍니다.
안드로이드 TV
첫 번째 안드로이드 TV 제품인 넥서스 플레이어가 공개되었습니다. 넥서스 플레이어는 영화, 음악, 동영상을 재생하기 위한 스트리밍 미디어 플레이어인 동시에 최신의 안드로이드 게임을 플레이할 수 있는 게임기 입니다. 사용자는 이동 중에는 자신의 스마트폰에서 게임을 플레이하다 집에 돌아와서는 고화질 TV화면과 게임패드를 통해 플레이하던 게임을 이어서 즐길 수 있습니다. 또한, 넥서스 플레이어는 구글 캐스트 기술을 지원하며, 사용자는 자신의 앱이나 미디어 컨텐츠를 스마트폰이나 태블릿에서 TV 로 바로 캐스트 할 수 있습니다.
안드로이드 TV를 위한 어플리케이션을 개발하고 있는 개발자 분들은 11월 3일 Google Play 개발자 콘솔을 통해 TV용 어플리케이션을 배포할 수 있는 자세한 방법이 공개될 예정이니 기대해 주시기 바랍니다. 그 전까지 여러분의
앱이 TV 품질 가이드라인
과
Google Play 배포 요구 사항
을 모두 충족하는지 확인해보시기 바랍니다.
안드로이드 5.0 롤리팝을 바로 지금 시작해보세요.
새로운 안드로이드 버전을 확인할 기회가 없던 개발자 분들은 바로 오늘 SDK를 다운로드하고 안드로이드 5.0 롤리팝을 테스트해보실 수 있습니다. 안드로이드 5.0의 새로운 기능에 관해 좀 더 알고싶은 개발자 분들은
플랫폼 하이라이트 페이지
를 통해 새로운 기능과 API 개요 및 API 의 변경된 동작방식에 관한 모든 세부 사항을 확인하실 수 있습니다.
안드로이드의 새로운 버전을 즐겨보시기 바랍니다!
구글과 함께하는 개발 경험을 나눠 주세요
2014년 9월 30일 화요일
Posted by
Neel Kshetramade
, Program Manager, Developer Platform
구글에서는 언제나 사용자를 가장 우선으로 여기며, Developer Relation 팀에게 사용자는 바로 개발자들입니다. 우리는 최고의 개발 플랫폼을 만들기 위해 노력하고 있으며, 여러분이 세상을 바꿀 앱을 만드는 데에 필요한 것들을 지원해 드리고자 합니다.
그래서
개발자 서베이
를 통해 여러분이 API들과 플랫폼을 어떻게 사용하고 있는지, 또 구글의 제품과 서비스를 사용하며 어떤 점을 느꼈는지 알아 보고자 합니다. 수집된 결과들은 개발자 여러분이 더욱 효과적으로 개발을 할 수 있도록 지원하는 데에 사용될 예정입니다.
서베이는 모두 완료하는데에 10분~15분 정도 걸리며 구글의 제품들을 개선하는 데에 도움이 되는 동시에, 전세계의 어린이들의 교육을 위한 모금에도 일조하게 됩니다. 한 명이 서베이를 완료할 때마다 10달러가 기부되며 (최대 총 2만달러) 기부금을 전달할 6개의 교육 재단(
Khan Academy
,
World Fund
,
Donors Choose
,
Girl Rising
,
Raspberry Pi
,
Agastya
)
중 한 군데를 선택하실 수 있습니다.
이 서베이는 2014년 10월 15일 밤 11시 59분(PST)까지 참여하실 수 있습니다. 여러분의 이야기를 기대하고 있겠습니다~!
2015년 1월 27일 부터 In-app Billing Version 2 의 지원이 종료됩니다.
2014년 9월 23일 화요일
https://support.google.com/googleplay/android-developer/answer/6090268?hl=ko
다양한 구글 플레이에서 지원하는 다양한 기능 중 개발자 분들이 가장 많이 사용하는 기능 중 하나가 바로 In-app Billing 에 관련된 API 일 것 입니다. 구글 플레이의 In-app Billing (IAB) 은 개발자 여러분이
구글 플레이 개발자 콘솔
을 통해 다양한 형태의 디지털 재화를 정의하고 손쉽게 앱 내에서 디지털 컨텐츠를 판매할 수 있도록 필요한 API 를 지원되고 있습니다.
현재 IAB API 는 Version 2 와 Version 3 두 가지 형태로 지원되고 있습니다. 다만, Version 2 API 는 2012 년 Version 3 API 가 공개된 이 후 더 이상 업데이트 되지 않고 있으며 (deprecated) Version 3를 사용하는 것이 권장되고 있습니다. 그리고 2015년 1월 27일부터는 In-app Billing Version 2 API 지원이 완전히 종료될 예정입니다. 다시말해, 사용자는 더이상 Version 2 API 를 이용하여 결재를 진행할 수 없으며 서비스 중단을 원치 않는 개발자는
Version 3 API
로 이전해야 합니다.
In-app Billing 3 API 는 Version 2 API 에 비해 다음과 같은 강점을 갖고 있습니다.
모든 결재 과정이 동기식(Synchronized) 으로 처리되며 Version 2 에 비해 안정성이 높습니다.
모든 아이템은 관리되는 아이템 (MANAGED_ITEM) 형태로 관리되며, 소비 가능한 아이템의 사용자 소유 여부도 명확히 관리할 수 있습니다.
API 의 결과는 플레이 서비스 로컬 저장소에 캐쉬형태로 저장되기 때문에 보다 효율적으로 처리됩니다.
여러분의 앱이 Version 2 API 를 사용하고 있는지 아니면 Version 3 API 를 사용하고 있는지 여부는 다음의 몇 가지 방법으로 확인하실 수 있습니다.
Version 3 API 는 MANAGED_ITEM 만을 지원합니다. 개발자 콘솔을 통해 여러분의 In-app 아이템중 UNMANAGED_ITEM 이 정의되어 있는 경우 아직 Version 2 API 를 사용하고 있을 수 있습니다.
Version 2 API 를 구현하기 위해서는
앱 내에 다음과 같은 액션에 반응하는 브로드캐스트리시버를 구현
해야 합니다. 이러한 리시버가 메니페스트 상에 존재하는 경우 아직 앱이 Version 2 API 를 사용하고 있을 수 있습니다.
com.android.vending.billing.IN_APP_NOTIFY,
com.android.vending.billing.RESPONSE_CODE,
com.android.vending.billing.PURCHASE_STATE_CHANGED
버전 별 API에 관한 보다 상세한 내용은 다음 문서를 추가로 참고하시면 좋을 것 같습니다.
Support for In-app Billing Version 2
Overview of In-App Billing Version 3
앞으로 예기치않게 발생할 수 있는 사용자의 불편과 문제를 방지하기 위하여, 아직까지 In-app Billing 2 API 를 사용하고 있는 개발자 분들은 가능한 빨리
Version 3 API 로 마이그레이션
하시기 바랍니다. 여러분들의 작업을 돕기 위하여, 마이그레이션 작업 중에 참고하실 몇 가지 팁을 정리해보았습니다. 참고하시기 바랍니다.
기존 IAB v2 에서 사용되던 MANAGED_ITEM 과 SUBSCRIPTION_ITEM 의 경우 큰 변경없이 API 만 교체하여 IAB v3 API 로 손쉽게 적용하실 수 있습니다.
UNMANAGED_ITEM 의 경우 개발자 여러분은 새로운 아이템을 생성하지 않고 기존 아이템과 제품 ID 를 그대로 활용할 수 있지만, IAB v3 API 를 통해 해당 아이템을 구매하는 경우 실제 아이템 속성과는 관계없이 해당 아이템은 MANAGED_ITEM 으로 간주되며 이에 따라 추가적인 로직 (예를 들어 아이템을 재구매하기 위해서는 반드시 해당 아이템은 소비해야 합니다. ) 을 앱 내에 구현하셔야 합니다.
IAB v3 앱을 구현하는 방법에 관해서는 개발자 문서 중
TrivialDrive sample for the Version 3 API
예제를 참고하시기 바랍니다.
Apache와 Nginx에서 대역폭 최적화 하기
2014년 9월 16일 화요일
이 포스팅의 원문은 Make the Web Fast의 Jeff Kaufman이
Webmaster Central
에 게시했습니다.
Cross-posted by
Mano Marks
, Google Developer Platform Team
호스트는 낮은 가격을 위해, 모바일 사용자들은 데이터 사용량을 줄이기 위해 그리고 불필요한 바이트 때문에 느려지는 것을 원치 않기 때문에 모두 더 적은 대역폭을 사용하고 싶어합니다. 웹에서 대역폭을 아낄 수 있는 많은 방법이 있는데요 지집(gzip)이 적용되지 않은 페이지, 축소되지 않은 스타일시트와 자바스크립트, 최적화 되지 않은 이미지 등을 제거하고 페이지를 제공하는 것도 그 중 하나입니다.
그렇다면 왜 아직까지 웹에서는 대역폭을 최적화하여 사용하지 않을까요? 이런 방법이 모두를 편리하게 해준다면 왜 아직 고쳐지지 않고 있을까요? 주된 이유는 이미 너무 흔해진 얘기이기 때문입니다. 웹 디자이너들은 작업물을 저장할 때 “웹 버전으로 저장하기"를 권장 받고 있지만 이것이 항상 잘 지켜지는 것은 아닙니다. 자바스크립트 프로그래머들은 디버깅이 어렵기 때문에 축약된 코드로 작업하지 않습니다. 개발 혹은 디플로이(deploy) 과정에서 이런 최적화를 적용시킨 커스텀 파이프라인을 만들 수도 있지만 그것도 손이 많이 가죠.
웹 사용자들을 위한 쉬운 해결책은
크롬
처럼 프록시를 최적화 하는 것입니다. 사용자들이 구글의 프록시를 통해 자신들의 HTTP 서비스를 선택할 때, 구글 프록시는 사용자들의 페이지 로드를 최적화 하고 대역폭 사용량을 50%까지 축소시킵니다. 사용자들에게는 매우 편리한 일이나, 크롬에서 이 기능을 설정한 사용자들에게만 해당되며 HTTPS 트래픽은 최적화 시키지 않습니다.
대역폭 최적화
와 함께 PageSpeed 팀은 웹마스터들에게 같은 기술을 제공하여, 다른 브라우저를 사용하는 사용자들, 데스크탑 사용자들, 아웃바운드 트래픽 요금을 줄이고 싶어하는 사이트 운영들 그리고 사이트 보안 등에 이득을 줄 수 있도록 합니다.
PageSpeed 모듈
을 Apache 혹은 Nginx 서버에 설치하고 설정에서 대역폭 최적화를 켜면 PageSpeed가 나머지 과정을 진행합니다.
추후에
캐쉬 연장하기
와 자바스크립트
인라이닝
부터 좀 더 공격적인
이미지 지연로딩
과
지연 자바스크립트
등 PageSpeed의 다른 고급 최적화 기능을 사용하려면, PageSpeed 설정에서 실행만 하면 됩니다.
PageSpeed 설치
와
대역폭 최적화 실행
에 대해 링크에서 더 자세히 알아보세요.
다른 서버를 사용하고 있다면 Apache와 Nginx 프록시에서 PageSpeed를 사용하는 것을 고려해 보세요. 모두 오픈소스이며, IIS, ATS 등으로 이전 작업 또한 진행 중입니다.
Google Play "힘내라 인디!" 콜렉션이 새롭게 추가되었습니다.
2014년 9월 12일 금요일
작성자 : 장현세 Business Development Manager
“힘내라 인디!”
우리나라의 게이머들을 위해 현재 많은 인디 게임 개발사들이 다양한 게임을 개발하고 있습니다. Google Play에서는 빛나는 아이디어로 게임을 개발하신 개발사 분들이 힘내실 수 있도록 “힘내라 인디!”라는 콜렉션을 생성하였습니다.
이름 있는 게임 개발사들의 게임도 물론 즐겁고 재미 있지만, 유저들도 특이하고 새로운 게임들을 접할 수 있는 좋은 기회가 되었으면 좋겠네요. 인디 개발사들이 힘을 내어 더욱 좋은 게임을 개발할 수 있도록 많이 도와주세요!
“힘내라 인디!” 대한민국의 자랑스러운 인디 개발사의 게임을 만나보세요!
18개의 인디 게임 콜렉션
3~5주 후에 콘텐츠 교체 예정
새롭게 추가된 "힘내라 인디!" 콜렉션을 비롯하여 Google Play팀은 인디 개발사(1인 개발자분들을 포함)분들에게 더 많은 지원과 기회를 드리기 위하여 많은 노력을 할 계획입니다. 관심 있는 중소 게임 개발사 분들은 다음 폼을 통해 개발중인 게임 정보를 공유해주시기 바랍니다.
http://bit.ly/GPIndies
감사합니다.
Google Linux Developer Roundtable 안내~!
2014년 9월 5일 금요일
구글 리눅스 개발자 라운드테이블(Google Linux Developer Roundtable)은 리눅스 커널에 관심있는 개발자들이 함께 모여 서로의 경험과 시행착오 등을 공유하고 어떻게 하면 리눅스 커널 개발에 더욱 효과적으로, 즐겁게 참여하고 또 그 과정에서 좋은 경험을 축적하여 더욱 좋은 개발자로 성장할 수 있을 것인가에 대한 이야기를 편안하게 나누는 자리입니다. (
2012년 구글 오픈소스 라운드 테이블
참고)
이 라운드테이블 행사는 일방적인 강의가 아니며 참석자들은 아래 패널들과 함께 이름 그대로 라운드테이블에 앉아서 이야기하듯 평소 궁금했던 사항들과 경험들을 서로 자유롭고 편안하게 이야기하게 됩니다. 특히 리눅스 커널 개발에 참여해 보고 싶지만 어떻게 할지 잘 모르는 개발자들에게 살아있는 경험과 지식을 얻을 수 있는 귀중한 기회가 될 것입니다.
이번 라운드테이블 행사에 패널로 참석할 커널 개발자들은 다음과 같습니다.
- 허태준(Red Hat)
리눅스 커널 개발자입니다. 전업으로 커널 개발한지 이제 9년이 좀 넘었고, 수세리눅스, 막스플랑크 연구소, 구글을 거쳐서 지금은 레드햇에서 일하고 있습니다. 그 동안 workqueue, percpu memory allocator, libata등 다양한 부분에서 작업해왔고 최근엔 control groups의 다음 버전 구현에 대부분의 시간을 보내고 있습니다. 리눅스 커널 개발에 관한 여러 다양한 이야기들을 이쪽 분야에 관심있는 개발자 여러분들과 편안하고 자유롭게 나누어 보고자 합니다.
- 김남형(LG)
오래전부터 커널 개발자가 되길 꿈꾸어오다 허태준님을 만나고 깨달음을 얻어 홀로 면벽 수행 후 커널 개발에 뛰어들었습니다. gcc, binutils 같은 low level 도구에도 관심을 가지고 있습니다. 오픈소스에 참여하는 간단한 방법 및 개발자로 오픈소스에 참여할 수 있는 기본기를 키우는 방법 등에 대한 이야기를 통해 오픈소스 참여에 대한 심리적 진입장벽을 낮추어 보고자 합니다.
- 김민찬(LG)
2006년부터 리눅스 커널 개발을 시작했으며, 2007년 이후로 본격적으로 커널커뮤니티에서 활동을 시작했습니다. 주로 활동하는 분야는 가상 메모리 관리 분야이며, 그 동안 page allocator및 reclaim, compaction분야 등에서 활동해왔으며, 현재는 삼성전자, 레드햇을 거쳐 LG전자에서 zRAM과 zsmalloc의 메인테이너로써 활동중입니다. 최근에는 WebOS와 같이 메모리가 부족한 환경에서 시스템 성능을 개선하기 위한 work들에 관심이 많습니다.
- 김국진(Samsung)
리눅스 커널 개발자입니다. 주로 ARM을 이용한 임베디드 리눅스 커널 개발 경험을 가지고 있으며 현재 삼성전자 EXYNOS SoC 관련하여 리눅스 메인라인에서 메인테이너로 활동하고 있습니다. 임베디드 리눅스 커널에 관심있는 분들과 편하게 이야기를 나누고 싶습니다.
일시: 2014년 9월 11일 오후 6시 30분 ~ 9시 30분
장소:
강남역 에이블스퀘어
참석하신 모든 분들께는 구글 코리아에서 마련한 저녁 식사와 소정의 기념품을 드립니다.
- 참가 신청은 9월 11일 오전 9시까지 받겠습니다.
- 참가자로 선정된 분들께는 9월 11일 오전에 참가신청시 입력해 주신 이메일로 따로 연락을 드립니다.
- 선착순이 아니므로 여유있게 신청하여 주시기 바랍니다. 단, 마감일에 참가신청이 몰리는 것을 방지하기 위해 전체 참석 인원의 70%는 먼저 신청한 인원의 40% 이내에서 선정합니다.
- 이 행사는 강의가 아니라 더 좋은 리눅스 커널 개발자가 되는데 필요한 내용에 관한 대화를 나누기 위한 목적이므로 리눅스 커널 개발을 직접 하고 계신 분들만 지원해 주세요.
참가 신청하기
전체 인원은 총 30명 이내로 소규모로 유지하여 서로 실제로 대화를 나눌 수 있도록 유도할 예정이니 리눅스 커널과 오픈소스에 관심있는 개발자 여러분들의 많은 참여 기대하겠습니다~!
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google I/O
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2026
9월
8월
7월
6월
5월
4월
3월
2월
1월
2025
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2024
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed