Korea Blog
구글에서 보내는 App Invites로 앱 설치 수를 늘리세요
Tuesday, June 30, 2015
작성자: Ranjith Jayaram, 프로덕트 매니저
사용량을 끌어올리고 모바일 앱을 키우고자 방법을 모색 중인 분들이라면 아마도 추천(referral), 추천 앱(recommendation)과 사용자 온보딩 환경을 테스트하고 있을 가능성이 높습니다. 이러한 제품 흐름은 설계, 구축하고 최적화하는 데 리소스가 많이 필요합니다. 사용자가 앱을 쉽게 공유할 수 있고, 앱을 다운로드/사용할 적당한 사람들을 모으도록 하는 도구를 사용할 수 있다면 어떨까요? 새로운 사용자에 맞추어 더 개인화된 온보딩 환경을 빚어낼 수 있다면 도움이 될 것입니다.
이번에 베타 버전으로 출시된 App Invites는 모바일 앱 개발자의 도달 범위를 한층 넓혀 주고 새 사용자들에게 딥 링크를 제공하여 사용자 맞춤 환경으로 이끌어주며, 사용자의 기기에서 구글 전반에 걸친 연락처를 사용해 추천을 보낼 수 있습니다. 이것은 안드로이드와 iOS 앱 개발자 모두 사용할 수 있는 기능입니다. 이번에 출시하는 버전은 UrbanSitter, Yummly, The CW, Coinbase 및 Picsart 앱과 함께 합니다.
App Invites를 일찍 적용해 본 파트너 업체들의 피드백입니다.
Andrea Barrett (
UrbanSitter
의 공동 창업주이자 제품부 부사장)는 "App Invites를 사용하자 저희 회원들이 친구들과 Google 연락처 목록에 있는 사람들과 손쉽게 본인이 가장 애용하는 베이비시터를 공유할 수 있게 되었습니다. 저희는 일에 바쁜 부모들을 대상으로 하는 서비스라서, 소셜 네트워크에서나 입소문 추천이 사용자 성장세를 크게 좌우하죠. 그렇다 보니 Google의 앱 초대장이 저희에게는 맞춘 듯이 꼭 맞네요."라고 말합니다.
TV 방송사인
The CW
의 앱 성장 전략에서는 '공유'가 중요한 부분을 차지합니다. "저희 프로그램 팬들이 The CW 앱을 연락처 목록의 지인들이나 친구들에게 추천할 수 있게 해주는 도구가 관건입니다. App Invites는 특정한 사용자들이 가장 좋아하는 프로그램을 몇몇 선별된 친구들과 공유할 수 있게 해줍니다. '입소문'의 진화된 형태라고나 할까요. 저희는 App Invites를 회차 공유 기능에 통합해서 팬들끼리 The CW 앱에 대해 이야기를 나눌 수 있도록 하고 있습니다." - Zach Mannon, Warner Brothers Television 디지털 미디어 부서 책임자
다음
PicsArt
의 경우, 2억5천만 건에 달하는 놀랍도록 빠른 설치 횟수 성장세를 일궈낸 원동력이 바로 입소문입니다. "Google의 새 App Invites는 저희 앱의 유기적인 성장세에 한층 더 박차를 가해줄 거에요. 이제 사람들은 세상을 아름답게 만들고자 하는 저희 사명에 동참해달라고 친구들에게 적극적으로 초대하고 권유할 수 있을 테니까요!" - Arusiak Kanetsyan, 콘텐츠 및 커뮤니케이션 부서 책임자
Yummly
에 서는 앱 초대장을 통합해 사용자 기반을 확장하고 앱의 인지도를 높이는 데 사용했습니다. 요리를 좋아하거나 음식에 관심이 많은 사람들에게 이 앱을 제안할 수 있도록 한 것입니다. "이 기능은 새 사용자에게 우리 앱에 가입하라고 초대하는 것을 능가하는 수준으로 확장되고 있어요. 저희는 앞으로 이것을 활용해 여러 가지 메뉴 아이디어를 공유하고 가족 구성원들끼리 장보기 목록을 공유하거나, 나아가 친구들을 저녁 식사에 초대하는 데에도 쓰게 되었으면 합니다. Google의 강력한 영향력에 개인화된 앱 초대장까지 활용하면 참석하는 사람들 누구나 만장일치로 동의하는 저녁 식사 자리를 마련하는 것도 전에 없이 쉬워질 거에요." - Brian Witlin, 최고 운영 책임자(COO)
App Invites는 안드로이드와 iOS에서 모두 사용할 수 있습니다. 다음은 베타 도구 키트에 포함된 항목 내역입니다.
앱 초대장을 사용해 도달 범위 확장: 사용자의 전화기와 Google 연락처를 통해 SMS와 이메일 초대장을 활용하세요.
사용자가 초대장을 손쉽게 보낼 수 있도록 만들어줍니다. Google에서 사용자의 가장 가까운 연락처상의 지인들에게 앱을 공유하도록 추천하고, 선호하는 전달 방식을 제안합니다.
조치 가능한 초대장 카드 보내기: 이메일 초대장 자체에 설치 버튼을 포함시킬 수 있습니다.
Android 설치 흐름을 더욱 빠르게: 새로운 Android 사용자가 App Invites를 클릭하면 Play Store에서 곧바로 여러분의 앱을 다운로드할 수 있습니다. 보통은 그 사이에 브라우저 창이 열리지만 이를 건너뛸 수 있습니다.
개인화된 온보딩 흐름 생성: 새 사용자에게 특정한 온보딩 환경으로 이어지는 딥 링크를 제공할 수 있습니다. 예를 들어, 사용자 지정 할인 코드나 콘텐츠를 제공하면 됩니다.
Google Analytics 사용자 지정 보고서를 사용해 앱 초대장을 측량할 수 있습니다.
우리의 목표는 개발자 여러분이 핵심 앱 환경에 집중할 수 있도록, App Invites를 사용하여 사용자 추천과 온보딩 흐름을 구축하는 과정을 간편하게 만들고 각종 플랫폼 전반에 걸쳐 작동하는 도구 키트를 구축하는 것입니다.
App Invites를 시작하려면
https://developers.google.com/app-invites/
를 방문하세요.
goo.gl 딥링크를 사용해 사용자 참여도를 다시 끌어올릴 수 있는 기회에 대해 알아보려면,
이 게시물
을 참고하세요.
안드로이드 디자인 서포트 라이브러리
Tuesday, June 30, 2015
게시자:
Ian Lake
, 디벨로퍼 어드보케(Developer Advocate)
안드로이드 5.0 Lollipop은 사상 가장 중요한 안드로이드 릴리즈 중 하나로 손꼽힙니다. 가장 큰 이유 중 하나는 머티리얼 디자인의 도입입니다. 이것은 안드로이드 환경 전체를 새로 고친 것이나 다름 없는 새 디자입니다. 머티리얼 디자인을 채택하기 위한 좋은 시작점으로 Google의
상세 사양
을 이용하면 좋지만, 저희도 이것이 개발자 여러분에게는 까다로운 과제가 될 수 있다는 점을 잘 알고 있습니다. 특히 이전 버전과의 호환성 문제를 걱정하는 개발자 여러분에게는 더욱 그렇겠죠. 이번에 저희는 새로운 안드로이드 디자인 서포트 라이브러리를 활용해 수많은 중요한 머티리얼 디자인 구성 요소를 모든 개발자 여러분과 안드로이드 2.1 이상의 기기에 사용할 수 있도록 하였습니다. 여기에서는 탐색창 보기, 텍스트 편집용 플로팅 레이블, 플로팅 액션 버튼, 스낵바(snackbar), 탭과 이 모든 것을 함께 묶어줄 동작 및 스크롤 프레임워크를 만나보실 수 있습니다.
네비게이션 뷰(Navigation View)
네비게이션 드로어(Navigation Drawer)
은 앱 내에서 ID와 탐색에 사용하는 중요한 초점이 될 수 있습니다. 여기에서 디자인의 일관성이 유지되는지 여부에 따라 여러분의 앱이 탐색하기 얼마나 쉬운지(특히 처음 사용하는 사용자의 경우)를 판가름하는 중요한 차이가 생깁니다.
NavigationView
는 네비게이션 드로어에 필요한 프레임워크를 제공하면서 메뉴 리소스를 통해 네비게이션 항목을 확대시키는 기능까지 제공하여 이 과정을 쉽게 만들어줍니다.
NavigationView
는
DrawerLayout
의 드로어 콘텐츠 보기로 사용하면 됩니다. 이때 사용하는 레이아웃의 예는 다음과 같습니다.
<android.support.v4.widget.DrawerLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
xmlns:app
=
"http://schemas.android.com/apk/res-auto"
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
android:fitsSystemWindows
=
"true"
>
<!-- your content layout -->
<android.support.design.widget.NavigationView
android:layout_width
=
"wrap_content"
android:layout_height
=
"match_parent"
android:layout_gravity
=
"start"
app:headerLayout
=
"@layout/drawer_header"
app:menu
=
"@menu/drawer"
/>
</android.support.v4.widget.DrawerLayout>
NavigationView: app:headerLayout
의 두 가지 특성이 헤더에 쓰이는 (옵션) 레이아웃을 제어하는 것을 알 수 있습니다.
app:menu
가 네비게이션 항목에 맞춰 확대된 메뉴 리소스입니다(이것은 런타임에 업데이트될 수 있습니다).
NavigationView
가 개발자 대신 상태 표시줄에 대한 스크림 보호 문제를 자동으로 처리하여
NavigationView
가 API21 이상의 기기에서 적절하게 상태 표시줄과 상호 작용하도록 보장합니다.
가장 단순한 형태의 드로어 메뉴는 확인 가능한 메뉴 항목은 다음과 같습니다.
<group
android:checkableBehavior
=
"single"
>
<item
android:id
=
"@+id/navigation_item_1"
android:checked
=
"true"
android:icon
=
"@drawable/ic_android"
android:title
=
"@string/navigation_item_1"
/>
<item
android:id
=
"@+id/navigation_item_2"
android:icon
=
"@drawable/ic_android"
android:title
=
"@string/navigation_item_2"
/>
</group>
확인된 항목은 네비게이션 드로어에 강조 표시되어 나타나고, 이로써 사용자가 현재 선택된 탐색 항목이 무엇인지 확실히 알 수 있습니다.
메뉴에 서브헤더를 사용하여 항목 그룹을 구분할 수도 있습니다.
<item
android:id
=
"@+id/navigation_subheader"
android:title
=
"@string/navigation_subheader"
>
<menu>
<item
android:id
=
"@+id/navigation_sub_item_1"
android:icon
=
"@drawable/ic_android"
android:title
=
"@string/navigation_sub_item_1"
/>
<item
android:id
=
"@+id/navigation_sub_item_2"
android:icon
=
"@drawable/ic_android"
android:title
=
"@string/navigation_sub_item_2"
/>
</menu>
</item>
선택한 항목에 대한 콜백을 받으려면
OnNavigationItemSelectedListener를
설정하면 됩니다. 이때
setNavigationItemSelectedListener()
를 사용하세요. 이렇게 하면 클릭한
MenuItem
이 개발자에게 제공되어 개발자가 선택 이벤트를 처리, 확인된 상태 변경, 새 콘텐츠 로드, 프로그램에 따라 창 닫기, 이외에도 원하는 작업을 모두 수행할 수 있습니다.
텍스트 편집을 위한 플로팅 레이블
간단한
EditText
도 머티리얼 디자인 버전에서는 개선된 모습을 선보입니다. EditText 하나만 사용하면 입력된 첫 글자 다음의 힌트를 숨기게 되지만, 이제 이것을
TextInputLayout
에 래핑할 수 있습니다. 그러면 힌트 텍스트가
플로팅 레이블
형태로 EditText 위에 나타나 사용자가 입력하고 있는 내용의 맥락을 놓칠 염려가 전혀 없습니다.
힌트를 표시하는 것 외에도
setError()
를 호출하여
EditText
아래에 오류 메시지를 표시할 수 있습니다.
플로팅 액션 버튼
플로팅 액션 버튼
은 인터페이스의 기본 액션을 나타내는 동그란 버튼입니다. 디자인 라이브러리의
FloatingActionButton
을 사용하면 개발자 테마에서 가져온 colorAccent를 사용한 기본 색상을 지정하여 한 가지 일관된 구현을 제공합니다.
보통 크기의 플로팅 액션 버튼 외에도 초소형(
fabSize="mini"
) 크기를 지원합니다. 이는 다른 구성 요소들과 시각적으로 어우러지는 것이 중요한 디자인의 경우에 이상적입니다.
FloatingActionButton
은
ImageView
를 확장하기 때문에
android:src
또는
setImageDrawable()
과 같은 메서드 중 아무 것이나 사용하면 FloatingActionButton 내에 표시된 아이콘을 제어할 수 있습니다.
스낵바(snackbar)
어떤 작업에 관해 가볍고 신속한 피드백을 제공하려 한다면
스낵바
를 사용해볼 절호의 기회입니다. 스낵바는 화면 맨 밑에 표시되며, 한 개의 옵션 동작을 수반한 텍스트가 담겨 있는 형태입니다. 주어진 시간이 지나 시간이 초과되면 화면에서 애니메이션 효과가 꺼집니다. 시간 초과가 되기 전에 사용자가 스와이프해서 없앨 수도 있습니다.
스낵바
를 스와이프나 다른 액션 등, 스낵바와 함께 상호 작용할 기능을 추가하면 이것은 알림보다 훨씬 강력한 기능을 발휘합니다. API도 간단합니다.
Snackbar
.
make
(
parentLayout
,
R
.
string
.
snackbar_text
,
Snackbar
.
LENGTH_LONG
)
.
setAction
(
R
.
string
.
snackbar_action
,
myOnClickListener
)
.
show
();
// Don’t forget to show!
보시다시피
View
를
make() - Snackbar
에 대한 첫 매개변수로 사용하여 이것이 스낵바 뷰에 적절한 상위를 찾으려 시도합니다. 이렇게 해서 스낵바가 화면 하단에 고정되도록 합니다.
탭
앱 내에서 여러 가지 뷰를 전환할 때
탭
을 사용하는 것은 익숙한 개념입니다. 앱 내에서 콘텐츠를 여러 가지 서로 다른 그룹(예: 여러 가지 음악 장르 등)으로 지정하여 정리하는
최상위 네비게이션 패턴
(top level navigation pattern)도 마찬가지입니다.
디자인 라이브러리의
TabLayout
은 고정된 탭과 스크롤 가능한 두 가지 탭 모두를 구현합니다. 고정된 탭에서는 모든 탭이 보기의 너비를 골고루 똑같이 나눠 쓰는 반면 스크롤 가능한 탭에서는 탭의 크기가 균일하지 않고 가로 방향으로 스크롤할 수 있습니다. 탭은 다음과 같은 프로그램 방식으로 추가할 수 있습니다.
TabLayout
tabLayout
=
...;
tabLayout
.
addTab
(
tabLayout
.
newTab
().
setText
(
"Tab 1"
));
하지만, 여러 탭 사이에서 가로 방향으로 페이지를 넘기는 데
ViewPager
를 사용하는 경우,
PagerAdapter
의
getPageTitle()
에서 직접 탭을 만든 다음
setupWithViewPager()
를 사용해 이 둘을 연결하면 됩니다. 이렇게 하면 탭 선택 이벤트가
ViewPager
를 업데이트하고 페이지 변경이 선택한 탭을 업데이트하도록 할 수 있습니다.
CoordinatorLayout
, 동작 및 스크롤링
개성이 뚜렷한 비주얼만이 머티리얼 디자인의 전부는 아닙니다. 머티리얼 디자인으로 만든 앱을 훌륭한 앱으로 만드는 또 다른 중요한 부분으로 액션도 빼놓을 수 없죠. 머티리얼 디자인은
터치 시 일어나는 잔물결
과
여러가지 시각적 요소를 고려한 동작 전환
등 여러 액션들이 있습니다. 디자인 라이브러리에서는
CoordinatorLayout
을 소개합니다. 이것은 여러 개의 하위 보기 사이에서 터치 이벤트에 한 차원 높은 통제력을 부여하는 레이아웃으로, 디자인 라이브러리에는 이것을 유용하게 활용할 수 있는 구성 요소가 아주 많습니다.
CoordinatorLayout
과 플로팅 액션 버튼
이에 대한 아주 좋은 예를 들어볼까요?
FloatingActionButton
을
CoordinatorLayout
의 하위로 추가한 다음 그
CoordinatorLayout을 Snackbar.make()
에 전달하는 경우를 생각해 봅시다.
FloatingActionButton
은 이 스낵바를 플로팅 액션 버튼 위에 표시하는 대신
CoordinatorLayout
이 제공한 추가 콜백을 활용하여, 스낵바가 안드로이드 3.0 이상의 기기에서 애니메이션으로 표시될 때에는 자동으로 위쪽으로 이동하고 애니메이션 효과가 사라질 때에는 원래 위치로 되돌아가게 합니다. 추가 코드도 필요하지 않습니다.
CoordinatorLayout
은 이외에도
layout_anchor
특성을 제공합니다. 이것은
layout_anchorGravity
와 마찬가지로 플로팅 뷰를 배치하는 데 사용할 수 있습니다.
CoordinatorLayout
과 앱 바
CoordinatorLayout
의 또 다른 주요한 사용 사례에는 앱 바(이전 이름은 '작업 모음')와
스크롤링 기법
이 있습니다. 여러분은 이미 레이아웃에서
도구 모음
(Tool bar)을 사용하고 있을 수도 있습니다만 이것을 사용하면 앱의 대표적인 부분이 레이아웃의 나머지 부분과 어울리도록 외관을 사용자 지정하고 통합하는 것이 훨씬 간단해 집니다. 디자인 라이브러리는 이 기능을 한 단계 더 발전시켰습니다.
AppBarLayout
을 사용하면 도구 모음와 기타 보기(예를 들면
TabLayout
이 제공한 탭)가
ScrollingViewBehavior
로 표시된 형제 보기에서 일어난 스크롤 이벤트에 반응하도록 할 수 있습니다. 따라서 다음과 같은 레이아웃을 만들 수 있습니다.
<android.support.design.widget.CoordinatorLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
xmlns:app
=
"http://schemas.android.com/apk/res-auto"
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
>
<! -- Your Scrollable View -->
<android.support.v7.widget.RecyclerView
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
app:layout_behavior
=
"@string/appbar_scrolling_view_behavior"
/>
<android.support.design.widget.AppBarLayout
android:layout_width
=
"match_parent"
android:layout_height
=
"wrap_content"
>
<android.support.v7.widget.Toolbar
...
app:layout_scrollFlags
=
"scroll|enterAlways"
>
<android.support.design.widget.TabLayout
...
app:layout_scrollFlags
=
"scroll|enterAlways"
>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
이제 사용자가
RecyclerView
를 스크롤하면
AppBarLayout
이 그러한 이벤트에 응답할 수 있습니다. 이때 하위의 스크롤 플래그를 사용해 진입(화면 안으로 스크롤)과 종료(화면 밖으로 스크롤) 방식을 제어하는 방법을 사용합니다. 플래그의 예는 다음과 같습니다.
scroll
: 이 플래그를 화면 밖으로 스크롤해 내보내고자 하는 모든 보기에 설정해야 합니다. 이 플래그를 사용하지 않는 보기는 화면 맨 위에 고정된 상태로 유지되기 때문입니다.
enterAlways
: 이 플래그를 사용하면 아래쪽 방향으로 스크롤할 때마다 이 보기가 표시되며 '빠른 반환' 패턴을 활성화하게 됩니다.
enterAlwaysCollapsed
: 보기가
minHeight
를 선언한 경우 개발자가 이 플래그를 사용하면, 보기가 최소 높이에서만 진입하게 되고(즉, '축소됨' 상태로만) 스크롤링 보기가 맨 위에 도달했을 때만 전체 높이로 다시 확장됩니다.
exitUntilCollapsed
: 이 플래그를 사용하면 보기가 '축소됨'(
minHeight
) 크기에 이를 때까지 밖으로 스크롤되다가 종료됩니다.
한 가지 참고 사항:
scroll
플래그를 사용하는 모든 보기는 이 플래그를 사용하지 않는 보기보다 먼저 선언해야 합니다. 이렇게 해야 모든 보기가 맨 위쪽부터 종료되고 고정된 요소를 남겨두도록 보장할 수 있습니다.
도구 모음 축소하기
도구 모음을
AppBarLayout
에 직접 추가하면
enterAlwaysCollapsed
및
exitUntilCollapsed
스크롤 플래그에 액세스할 수 있지만, 여러 가지 요소가 축소 작업에 대해 어떻게 반응할지에 대한 상세한 제어 능력은 갖출 수 없습니다. 그렇게 하려면
CollapsingToolbarLayout
을 사용하면 됩니다.
<android.support.design.widget.AppBarLayout
android:layout_height
=
"192dp"
android:layout_width
=
"match_parent"
>
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
app:layout_scrollFlags
=
"scroll|exitUntilCollapsed"
>
<android.support.v7.widget.Toolbar
android:layout_height
=
"?attr/actionBarSize"
android:layout_width
=
"match_parent"
app:layout_collapseMode
=
"pin"
/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
이 설정에서는
CollapsingToolbarLayout
의
app:layout_collapseMode="pin"
을 사용하여 보기가 축소되는 동안 도구 모음 자체는 화면 맨 위에 고정된 상태로 유지되도록 합니다. 이보다 더 좋은 점은,
CollapsingToolbarLayout
과 도구 모음을 함께 사용하는 경우 레이아웃이 완전히 표시되면 제목이 자동으로 더 크게 나타났다가 레이아웃이 축소되면서 제목도 기본 크기로 전환된다는 것입니다. 이와 같은 경우 도구 모음 자체에서보다는
CollapsingToolbarLayout
에서
setTitle()
을 호출하는 것이 좋다는 점을 알아두세요.
뷰를 고정하는 것 외에도
app:layout_collapseMode="parallax"(
및, 선택 사항으로 시차 승수 설정에
app:layout_collapseParallaxMultiplier="0.7")
를 사용하여 시차 스크롤링을 구현할 수도 있습니다(예:
CollapsingToolbarLayout
내에 형제
ImageView
). 이 사용 사례는
CollapsingToolbarLayout
에 대해
app:contentScrim="?attr/colorPrimary"
특성을 사용하는 방안과 근사하게 짝을 이루어, 보기가 축소될 때 완벽한 화상 물림 재단 스크림을 추가합니다.
CoordinatorLayout
과 사용자 지정 보기
한 가지 유의해야 할 점은
CoordinatorLayout
에는
FloatingActionButton
또는
AppBarLayout
작업에 대한 타고난 이해도 따위는 없다는 것입니다. 이것은 그저 추가 API를
Coordinator.Behavior
형태로 제공할 뿐입니다. 이 때문에 하위 보기가 터치 이벤트와 동작(gesture)를 좀 더 잘 제어할 수 있고, 서로 간의 종속성을 선언하고
onDependentViewChanged()
를 통해 콜백을 받을 수 있도록 합니다.
뷰가 기본 동작을 선언하려면
CoordinatorLayout.DefaultBehavior(YourView.Behavior.class)
주석을 사용하거나 이를
app:layout_behavior="com.example.app.YourView$Behavior"
특성으로 레이아웃 파일에 설정하면 됩니다. 이 프레임워크를 사용하면 어느 보기라도
CoordinatorLayout
과 통합할 수 있습니다.
지금 바로 이용할 수 있습니다!
디자인 라이브러리는 지금 바로 이용할 수 있습니다. SDK Manager에서 안드로이드 서포트 리포지토리를 꼭 업데이트하세요. 그리고 이제 단 한 가지 디펜던시(dependency)로 디자인 라이브러리를 사용하기 시작하면 됩니다.
compile
'com.android.support:design:22.2.0'
디자인 라이브러리는 Support v4 및 AppCompat 서포트 라이브러리에 의존하므로 디자인 라이브러리 종속성을 추가하면 이들도 자동으로 포함된다는 점을 유의하세요. 이와 같은 새 위젯을 안드로이드 Studio 레이아웃 편집기의 디자인 보기에서도 사용할 수 있도록 설정(CustomView 아래에서 찾을 수 있음)하여 이런 새 구성 요소 몇 가지를 미리 보는 데 좀 더 쉬운 방법을 제공해 드리고자 합니다.
디자인 라이브러리, AppCompat와 안드로이드 서포트 라이브러리 모두 모던하고 근사한 안드로이드 앱을 구축하는 데 필요한 기본 구성 요소를 제공해 주는 중요한 도구입니다. 이로써 모든 것을 맨 처음부터 구축할 필요가 없습니다.
ラベル
ad
AdMob
admob_sdk
Advanced Power Searching
Android
Android App Quality
android back button
Android back end
Android navigation
Android Player API
android server
android up button
androidL
androidtv
androidwear
App Translate Service
Audio Focus
Chrome
Chromecast
Code-in 2012
Core App Quality Guidelines
Daydream
design
designing for Tablets
designsprint
dialog
Drive SDK
Game Developers Conference
GCi
GCi 참가자
GDA
GDC
gdg
gdgkorea
Go
Google Cast
Google Code-in
Google Play
Google Play 스토어
Google Search
Google Summer of Code
Google+ Sign-In
Google+ Sign-In Bootcamps
Google+ 로그인
Google+ 로그인 부트캠프
googleanalytics
googleio
GooglePlay #AndroidDevStory #PlayStore #MaterialDesign #AndroidStudio #DeveloperConsole
GSOC
hackathon
HackFair 출품작
In-app Billing
io
io2014
ioapp
iobytes
ioextended
IRC Talk
IRC 서버
java7
kitkat
launch
Marshmallow
materialdesign
mobile ad
mobile_ads_sdk
multiscreen
NaCl
Native YouTube Player API
NRRN 사용 제한
Power Searching
product launch
SD 카드에 앱 설치
SecureKeyFactory
ux
webview
YouTube
YouTube Android Player API
YouTube API
YouTube API 3.0
YouTube API Update RSS Feed
광고
구글 HackFair
구글 Summer of Code
구글 개발자 사이트 홍보
구글 개발자 아카데미
구글 개발자 온라인 강좌
구글 검색
구글 고급 파워 서치
구글 드라이브 앱
구글 부트캠프
구글 아카데미
구글 코드인
구글 플러스 로그인
구글 핵페어
구글로 로그인하기
네이티브 클라이언트
데이드림
멀티 모바일
멀티 플랫폼
모바일 광고
수익화
스마트 브라우저
안드로이드
안드로이드 4.2
안드로이드 Back 버튼
안드로이드 Up 버튼
안드로이드 개인 정보 보호 정책
안드로이드 네비게이션
안드로이드 데이드림
안드로이드 디자인
안드로이드 방향탐색
안드로이드 보안
안드로이드 사용자 데이터
안드로이드 서버 백엔드
안드로이드 앱 품질
안드로이드 원격 제어
안드로이드 태블릿 디자인
안드로이드 현지화
안드로이드 화면 보호기
애드몹
애플리케이션 SD카드 설치
애플리케이션 개발 주민등록번호 사용 제한
애플리케이션 외부 저장 장치
앱 품질 체크리스트
오픈 소스
오픈소스 프로그램
웹 DMB
유튜브
유튜브 API
유튜브 API 3.0
유튜브 API 업데이트
유튜브 모바일
유튜브 안드로이드 플레이어 API
인앱 결제
인터넷상 주민등록번호 수집 이용 제한
주민등록번호 사용제한
추천이미지
출시
크롬브라우저
태블릿 디자인
태블릿용 앱
파워서치
한국 구글 개발자
한국 구글 개발자 사이트
핵심 앱 품질 가이드라인
핵심 태블릿 앱 품질 체크리스트
핵페어
핵페어 출품작
ブログ アーカイブ
2016
February
January
2015
December
November
October
September
August
July
June
구글에서 보내는 App Invites로 앱 설치 수를 늘리세요
안드로이드 디자인 서포트 라이브러리
아름다운 디자인의 안드로이드 앱들을 소개합니다
I/O Extended 서울에 참여하세요!
goo.gl을 이용한 앱 딥 링크
구글 검색에 iOS 앱 콘텐츠 표시하기
가족 모두가 함께 즐기는 구글 플레이
안드로이드 M 개발자 프리뷰 및 도구
폴리머(Polymer) 1.0 출시!
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
March
February
January
2011
December
November
Feed