AW206: 웨어러블 디자인과 노티 방식 변화, Awareness API

Android Weekly는 매주 발행되는 안드로이드 뉴스레터입니다. 영어 기사를 정독할 시간이 없는 분을 위해 핵심 꼭지를 요약했습니다.

주간 안드로이드 뉴스를 요약해 드립니다. Android Weekly 206 원문도 읽어보세요.


안드로이드 웨어러블: 머테리얼 디자인 및 알림 방식 변화

안드로이드 웨어는 사용자들에게 밀착된 디바이스를 통해 사용자들의 온/오프라인 삶과 밀접히 연결되어 적절한 시점에 적절한 정보를 제공하는 경량 플랫폼입니다. 웨어러블을 위한 머테리얼 디자인 (Material Design for Wearables)에서는 일반적인 디자인 원리와 시스템 개요, 컴포넌트, 패턴, 스타일 등에 대해 항목별로 구체적으로 설명이 되어 있으니 자세한 내용은 위 링크를 참고해주세요.

디자인 원리

  • TIMELY: 사용자에게 적절한 ‘제안’과 사용자의 ‘요구’를 해결
  • GLANCEABLE: 명확하고 즉각적으로 확인가능하도록 내용 제시
  • EASY TO TAP: 원하는 정보를 쉽게 탭할 수 있도록 배치
  • TIME-SAVING: 특정 과제 수행에 있어 불필요한 단계 제거

이런 개발 뉴스를 더 만나보세요


안드로이드 웨어 2.0에서 노티(Notification)의 비주얼 스타일과 인터렉션 패러다임이 업데이트 되는 등 주목할만한 주요 변화 내용 소개해드립니다.

  • 비주얼 & 인터렉션 변화: 알림 내용을 쉽게 읽고 반응할 수 있도록 변경
    • contentIntent가 설정되어 있다면 해당 contentIntent가 실행되고, 설정되어 있지 않다면 확장된 노티를 열여줍니다.
    • 가급적 bridged noti에 색 설정하지 않는 것을 추천
    • 어떤 방향이든 좌우 스와이프로 노티 없애기 가능
  • 확장된 노티: 안드로이드 웨어 사용자에게 보다 더 앱과 같은 사용자경험 제공
    • 내용 추가하기: BigTextStyle 또는 BigPictureStyle 사용
    • 확장된 노티에는 하나의 주요 액션을 포함
    • 추가 액션은 addAction(), addActions()를 사용해 action drawer에 포함
  • 메세지 스타일 챗 메시징 앱이라면 Notification.MessagingStyle(안드로이드 6.0 웨어2.0의 새 기능)을 사용해서 앱처럼 풍부한 사용가 경험을 제공할 수 있습니다.
    • Smart Reply(역시 MessagingStyle에서 또 다른 새로 추가된 기능)로 사용자의 상황에 적합한 선택지 제공 가능
// 리플라이 액션을 위한 인텐트 생성
Intent replyIntent = new Intent(this, ReplyActivity.class);
PendingIntent replyPendingIntent =
 PendingIntent.getActivity(this, 0, replyIntent,
  PendingIntent.FLAG_UPDATE_CURRENT);

// 리플라이 액션 생성 및 리모트 인풋 추가
NotificationCompat.Action action =
 new NotificationCompat.Action.Builder(R.drawable.ic_reply_icon,
  getString(R.string.label), replyPendingIntent)
 .addRemoteInput(remoteInput)

// 1) 리플라이 생성 허용
.setAllowGeneratedReplies(true)
 .build();

Notification noti = new NotificationCompat.Builder()
 .setContentTitle(messages.length + " new messages with " + sender.toString())
 .setContentText(subject)
 .setSmallIcon(R.drawable.new_message)
 .setLargeIcon(aBitmap)
 // 2) 메시징 스타일 설정하기
 .setStyle(new NotificationCompat.MessagingStyle(resources.getString(R.string.reply_name)).addMessage(messages[0].getText(), messages[0].getTime(), messages[0].getSender())
  .addMessage(messages[1].getText(), messages[1].getTime(), messages[1].getSender()))


// 3) 리모트 인풋에 대한 액션 추가하기
.extend(new WearableExtender().addAction(action)).build();

더 자세한 내용은 안드로이드 웨어 2.0의 노티 변경 (Notification Changes in Android Wear 2.0)에서 확인해보세요.

안드로이드 Awareness API

Awareness API는 7개의 위치 및 맥락 신호를 통합해 보다 강력한 컨텍스트 기반 정보를 제공합니다. 이렇게 통합된 센싱 플랫폼을 통해 어플리케이션이 사용자 상황의 다양한 측면을 인식할 수 있고 동시에 배터리와 메모리 상태를 조절할 수 있습니다.

  • 하나의 API: 시간, 위치, 장소, 비콘, 헤드폰, 액티비티, 날씨 정보 통합
  • 여러 소스로 부터 얻은 신호를 지능적으로 처리하고 통합해 데이터의 정확성 및 효율성 향상
  • 전력 소비 및 메모리 사용을 자동적으로 최적화하고 배터리 수명 및 가용 메모리 극대화

오픈소스 라이브러리

  • Cappuccino 이 라이브러리를 사용하시면 1. IdlingResource를 다시 쓸 필요가 없습니다! 그리고 2. 시스템 애니메이션을 수작업으로 조작할 필요가 없습니다!

  • RxSocialConnect-Android 어떤 프래그먼트 또는 액티비티에서든 단순한 옵저버블 콜로 여러 소셜네트워크의 인증 토큰을 추출하는 절차를 단순화해주는 라이브러리 입니다.

더 읽을 거리

5월 넷째 주의 기사를 Android Weekly 206 영어 원문에서 볼 수 있습니다.

지난 뉴스가 궁금하다면 아래 링크를 참고해 주세요.

컨텐츠에 대하여

이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.


Realm Korea

Realm Korea Team

4 design patterns for a RESTless mobile integration »

close