Google for Mobile I/O RECAP 2018 (04)

04. Developer. Android P 최신 기능 소개

  • 발표자 : 양찬석 (Developer Advocate, Google)
  • 세션설명 : 빠르고 간결하면서도 보안성이 강화된 Android P의 새롭고 중요한 기능과 개발자가 주의해야 하는 점을 소개합니다.

구글에서는 많은 서비스에 AI 접목하는 것을 고려 중임.

  • Adaptive Battery
  • Adaptive Action
  • Slices

Adaptive Battery

참고링크 : https://developer.android.com/preview/features/power

  • 기존 : Doze, Battery Saver 등
  • P : Background Restrictions, App Standby Buckets 등

App Standby Buckets

총 4가지로 분류

  • Active : App이 현재 사용 중.
  • Working set : 앱이 정기적으로 사용 중.
  • Frequent : 앱이 자주 사용하지만 매일은 아님.
  • Rare : 앱이 자주 사용되지 않음.

Rare 의 경우 제약이 생기며, FCM 같은 기능도 등급 조정이 가능함.

예를 들어 High Priority FCM 메시지도 하향 조정이 가능함.

Background Restrictions

유저가 Background Restrictions 기능 켤 경우 Android Vitals에서 Bad behavior로 판단된 앱은 백그라운드에서 처리 가능한 기능이 거의 없음.

심지어 foreground 서비스도 안됨.

Android Vitals가 중요하며, wake lock으로 자주 디바이스를 깨우는 경우 Bad behavior로 판단될 가능성 커짐.

참고 : https://developer.android.com/topic/performance/vitals/wakelock

App Actions

디바이스 내 딥링크로 생각하면 됨. 사용자 행동 학습 후 여러 서비스에서 제공함.

Google 검색 앱, Play Store, Google 어시스턴트, 런처 등의 구글 앱이나 시간대 별 폰 wake시 등.

구글은 사용자 니즈를 알 수가 있지만 그걸 할 수 있는 앱은 알 수가 없음.

그래서 앱에서 Built-in Intents를 사용해야 함. 이는 actions.xml에 정의해야 함.

(Built-in Intents는 향후 더 늘어날 예정)

참고 : https://developers.google.com/actions/reference/built-in-intents/

NameAction IDDescription
Get fortuneactions.intent.GET_FORTUNEGet your fortune from a fortune teller
Get horoscopeactions.intent.GET_HOROSCOPEGet a horoscope by date of birth or sign
Get jokeactions.intent.GET_JOKEGet a joke about a topic or from a creative work
Get a quotationactions.intent.GET_QUOTATIONGet a quotation from a particular author or creative work
Get credit scoreactions.intent.GET_CREDIT_SCOREGet credit score from a credit agency
Get cryptocurrency pricesactions.intent.GET_CRYPTOCURRENCY_PRICEGet prices for a particular cryptocurrency
Play gameactions.intent.PLAY_GAMEPlay a game.
Check watersports conditionsactions.intent.CHECK_WATERSPORTS_CONDITIONSCheck watersports conditions at a given location
Check air qualityactions.intent.CHECK_AIR_QUALITYCheck air quality at a place
Check water conditionsactions.intent.CHECK_WATER_CONDITIONSCheck water conditions at a time or place
Start calming activityactions.intent.START_CALMING_ACTIVITYHelp user engage in a calming, meditative activity

Slices

참고 : https://developer.android.com/guide/slices/getting-started

앱 일부를 앱 외에 다른 앱 등에서 사용.

위젯이 비슷하나 위젯은 자유도가 너무 높고 범용성이 떨어졌었음.

Slices는 템플릿을 제공함. (Notification 처럼 Builder 로 구현)

action와, toggle, slider 등 제공

support 라이브러리 형태로 지원함으로 하위지원 및 최신 패치 적용 가능함.

SliceProvider 생성해야 함.

App Actions와 연결성 있게 서비스 가능할 것으로 보임.

Notification

참고 : https://developer.android.com/preview/features?hl=ko#notifications

  • Messaging Style.

  • Image 지원함.

  • SmartReply 기능 지원.

  • Notification Blocking : 사용자가 빈번히 Notification을 dismiss할 경우 시스템에서 Blocking을 제안하게 됨. 이 경우 Notification Channel 단위로 처리되므로, 앱에서 Channel 관리가 필요할 것으로 보임.

Display Cutout

참고 : https://developer.android.com/preview/features?hl=ko#cutout

시장에 지원하는 디바이스가 늘어남으로 플랫폼 차원에서 지원하게 됨.

Status Bar 높이를 하드코딩한 경우 문제가 됨. (기존은 24dp로 알려져 있지만 Cutout의 경우 약 57dp? 정도임)

기존 AppBar는 자동으로 높이 조절하므로 상관이 없으나, 풀스크린 앱이 문제가 됨.

View.OnApplyWindowInsetsListener의 WindowInsets 로 Cutout 사이즈 확인이 가능함.

Private API

참고 : https://developer.android.com/preview/restrictions-non-sdk-interfaces

비 SDK 인터페이스를 참조하거나 리플렉션 또는 JNI를 사용하려할 경우 제한 사항 적용.

ETC - Google Play Target SDK Rules

참고 : https://developer.android.com/distribute/best-practices/develop/target-sdk

ETC - Android Emulator

참고 : https://androidstudio.googleblog.com/2018/04/emulator-2727-canary.html

속도개선됨.

ETC - Chrome OS용 Android Studio

참고 : https://developer.android.com/topic/arc/studio

Q&A

Q : App Actions의 앱 우선순위는 어떻게 결정되나? (사실 질문이 기억안남)

A : 앱 순위는 AI를 통해 사용자가 가장 사용할만한 앱을 제안하게 됨.

Google for Mobile I/O RECAP 2018 (03)

03. Keynote. 모바일 개발자를 위한 I/O 2018: Android의 새로운 기능 소개

  • 발표자 :

    Sean McQuillan (Developer Advocate Android, Google) Hadi Hariri (VP of Developer Advocacy, Jetbrains) Benjamin Frenkel (Product Manager, Google)

  • 발표자료 :

    Andrioid에서 개발자들은 무엇을 더 할 수 있을까요? 개발자에게 더욱 많은 것들을 가능하게 하는 Android 플랫폼의 새롭고 흥미진진한 최신 기능을 총정리해드립니다.

Android App Bundle

App Size를 줄이는 것은 중요함. (100 MB 이상의 앱의 설치율은 30% 정도 떨어짐)

Android App Bundle을 사용하여 동적 기능 모듈(dynamic feature modules)을 앱에 추가함.

Android Studio에서 개발자가 임의의 기기에 대해 앱에 필요한 모든 것, 즉 모든 언어, 모든 기기 화면 크기, 모든 하드웨어 아키텍처가 들어 있는 App Bundle 빌드

사용자가 해당 앱을 다운로드하는 시점에 Dynamic Delivery로 사용자의 기기와 일치하는 코드와 리소스만 전달

Kotlin

Most importantly, 95% of developers tell us they are very happy with using Kotlin for their Android development. And, the more developers use it, the more that number rises. The number of Play Store apps using Kotlin grew 6x in the last year. 35% of pro developers use it, and that number is growing each month.

https://android-developers.googleblog.com/2018/05/google-io-2018-whats-new-in-android.html

Kotlin 사용자 95%가 매우 만족한다는 응답을 했으며, 프로 개발자의 35%가 Kotlin을 사용 중이라고 함.

추가로 미국, 중국, 인도 순으로 Kotlin을 많이 사용 중임.

Kotlin 사용자 절반은 다른 언어에서 넘어왔으며, 중기업 이상 20% 이상은 Kotlin으로 전환하였다고 함.

Kotlin은 Mobile, Web Backend, PC 등 다양하게 사용되고 있음.

속도 개선, 지원 툴, 언어(coroutine), 멀티플랫폼(Kotlin JVM/JS/Native) 등으로 진행 중.

Innovative distribution

App Bundle

최근의 앱들은 글로벌 서비스 지원을 위한 언어팩이나 다양한 기능 지원으로 앱 사이즈가 커지고 있음.

하지만 앱 사이즈가 커질수록 앱 설치율은 떨어짐.

이에 App Bundle로 Dynamic Delivery 지원할 예정.

Google Play Instant

게임도 모두 지원하며, 게임의 경우 비교 분석에 적합함.

게임의 경우 미니게임, 튜토리얼보다 난이도 있는 체험, 경험 못한 레벨 체험 등을 지원할 수도 있음.

Google Play, SNS, 배너 등에서도 체험 가능함.

적용 사례로는 캔디크러시와 배틀로얄 등.

지원
  • 4MB 제한 -> 10MB 제한
  • 다운로드 프로그레시브 지원
  • 유니티 라이브러리 지원 (10MB 제한과 별도로)
  • 코코스 지원 예정
  • Record -> Refactor 메뉴로 지원

Develop Faster

Android Architecture Components

Android Jetpack (하위호환 가능, 95% 기기 지원)
  • Backwards compatibility
  • Less Boilerplate
  • 등등

Android Studio 3.2 Canary

Emulator 스냅샷 지원으로 구동속도 개선 등등

Increasing Engagement

Android Slices

앱의 일부 인터페이스만 안드로이드 인터페이스 어디에든 나타나게 함.

App Actions

Google 검색 앱, Play Store, Google 어시스턴트, 런처와 같은 여러 Google 및 Android 화면에서 사용 현황과 관련성을 기준으로 App Actions가 사용자에게 표시

actions.xml에 내용 추가하면 됨.

Q&A

Q : RPG 게임에도 Instant App이 도움이 될까?

A : Yes. 사전등록, 미니게임 또는 친구추가, 길드초대 등 유저 경험을 제공할 수 있음.

Q: 인디 게임도 Instant App이 도움이 될까?

A : Yes. 인디게임에 더 필요할 듯. 무료나 프리미엄 등 모든 게임 지원함.

Q : Kotlin 사용으로 얻을 수 있는 이득은?

A : boiler pate 코드가 안 생김. 약 40% 코드 줄어듬. 효율적이고 스마트하게 행복하게 일할 수 있음. 진짜임.

Q : 안드로이드 제트팩이 코틀린과 100% 호환 가능한가?

A : 완벽히 지원함.

Q : HTML 5 에도 Instant App 지원이 가능한가?

A : Instant App의 원래 취지는 네이티브 요소를 웹의 편리함으로 가져오자는 취지였음. 취지에는 안맞을 듯.



Google for Mobile I/O RECAP 2018 (02)

02. Keynote. Google I/O 2018 최신 기술 총정리

  • 발표자 : Tian Lim (VP of UX & Product for Play, Google)

  • 세션설명 :

    매년 5월, Google I/O에서는 세상을 깜짝 놀라게 하는 기술들이 발표됩니다. 한층 더 진화한 인공지능 Duplex부터 Google Lens까지, 올해 발표된 Google의 따끈따끈한 최신 기술을 한국의 개발자분을 위해 소개합니다.

AI for everyone

Digital Well-Being

AI

Useful more

구글 포토 등의 서비스에 다양한 AI 서비스 제공.

Adaptive Battery 기술 등에서도 AI가 사용됨.

Help innovation

ML Kit 등으로 서비스에 AI 기술 적용하도록 지원.

TPU 3.0 등 개발 진행으로 AI Cloud 서비스를 위한 부분도 진행 중.

Solution

AI로 의료정보 등을 제공하여 기존 의사들을 돕거나 사람보다 정확한 진단을 할 수도 있음.

Digital Well-being

Dash board

앱 사용 성향 등을 분석하여

App Timer

앱 사용 시간 등을 설정 후

Wind Down

시간이 다 되면 흑백화면 등으로 전환하여 사용자에게 알려줌

Standout well-being App

Google Play Award에 카테고리 추가



+ Recent posts