Using NotificationCompat for Beautiful Notifications (Android Development Patterns Ep 2)

공룡이 지구를 지배하던 시절에 안드로이드 알림이 떴으면 이렇게 생겼었겠죠? 오, 이런 다행히도 공룡은 이제 사라졌고 안드로이드 앱은 훨씬 더 좋아졌습니다 지속적으로 발전하는 API는 개발자에게 가장 쉬운 방법을 제공하지는 않습니다 그래서 NotificationCompat이 있는 것입니다 모든 API 레벨에 걸쳐서 하나의 인터페이스를 제공하여 여러분이 만들 수 있는 최고의 알림을 만드는데 집중할 수 있도록 합니다 저는 이안 레이크입니다 NotificationCompat을 이용하여 멋진 알림을 만들 수 있는 방법을 보여드리겠습니다 사용자들이 휴대폰, 시계 또는 차에서 사용을 하는 여부에 상관없이 볼 수 있도록 말입니다 이러한 것들에 대해 설명하기에 앞서서 처음부터 시작해보겠습니다 모든 알림은 몇 가지 필요한 부분들이 있습니다 작은 아이콘, 제목 그리고 텍스트입니다 알림을 만들기 위해서 NotificationCompat 빌더를 사용합니다 그 다음에 알림을 만들고 보냅니다 끝입니다 그런데 하나의 큰 문제가 있습니다 알림을 눌러도 아무런 반응이 없습니다 아무것도요! 사용자가 알림을 선택했을 때 작동해야 하는 액티비티로 연결되는 콘텐츠 인텐트가 필요합니다 하지만 알림보다 더 많은 것을 할 수 있습니다 색상을 정하여 알림을 여러분의 앱에서 인식 가능하도록 만들 수 있습니다 이제는 큰 아이콘을 선택하면 알림이 어디에서 왔는지 알 수 있습니다 여러분이 클릭하기를 원하는 것은 이미 있습니다 이렇게 압축한 제목과 텍스트 포맷은 기본적입니다 전부 이전의 플랫폼에서 이용 가능한 것들입니다 하지만 그렇다고 여기에서 멈추면 안됩니다 더 좋게 만들어봅시다 정말로 좋게 만들어 볼 겁니다 안드로이드 41이나 그보다 높은 장치에서 알림은 확장될 수 있습니다 일을 처리할 수 있는 더 많은 공간을 제공하고 제목과 한 줄의 텍스트를 넘어설 수 있게 되는 겁니다 NotificationCompat은 네 가지의 스타일을 제공합니다 이를 이용하여 여러분의 알림을 개선시킬 수 있습니다 특히 확장할 때 유용합니다 긴 메시지와 같이 몇 줄의 텍스트를 보여 주기 위해서 특히 전체 메시지를 보기 위한 BigTextStye 을 사용할 수 있습니다 InboxStyle은 하나의 행 문자열 목록을 보여줍니다 BigPictureStyle은 여러분도 아시다시피 확장될 때 큰 이미지를 보여줍니다 MediaStyle은 여러분의 알림에 직접적으로 미디어 제어를 추가합니다 이제 여러분의 알림에는 여유 공간이 생겼고 사용자들에게 많은 정보를 제공하고 여러분의 앱으로 정보를 가져옵니다 좋습니다 하지만 우리는 바쁜 사람들입니다 여러분의 알림에 액션을 추가하여 사용자들의 흐름을 깨지 않고 가장 중요한 액션에 빠르게 접근할 수 있도록 합니다 조애나를 무시하겠다는 건 아니지만 알림은 여러분의 무선 단말기만을 위한 것은 아닙니다 여러분의 손목에 있는 안드로이드 웨어를 위한 것이기도 합니다 여러분의 알림에 추가된 모든 액션은 자동적으로 안드로이드 웨어 장치에 반영합니다 이로 인하여 사용자들이 핸드폰을 꺼내거나 앱을 열어서 업무를 처리할 필요가 없어졌습니다 안드로이드 웨어로 이렇게 알림을 반영하는 것은 한계가 있습니다 이를 더욱 훌륭하게 만들기 위해서 NotificationCompat의 WearableExtender를 사용할 수 있습니다 웨어에 관련된 멋진 기능들을 다뤄볼 건데요 미러링 액션에 대해서 얘기해보겠습니다 WearableExtender를 사용하여 시계에 적합하며 완벽한 액션 세트를 만들 수 있습니다 음성대답도 포함되어 있습니다 사용자가 여러분의 앱을 열 수 없을 때에도 연결성을 높이는 수 많은 액션입니다 또 다른 예시로는 고해상도의 배경 이미지를 추가하는 것입니다 말 그대로 산뜻한 분위기를 제공합니다 NotificationCompat의 WearableExtender에는 추가적인 콘텐츠와 알림으로 모든 세부사항을 제공할 수 있는 하나의 스택으로 묶으면서 휴대폰에 요약된 알림을 할 수 있는 기능이 있는 알림을 위한 정보의 추가적인 페이지를 포함하여 더 많은 기능을 제공합니다 자, 이제 여러분의 손목에서 많은 일을 처리할 수 있습니다 안드로이드 오토가 있는 차에서는 어떨까요? 여기에서, 메시지를 보내는 앱은 NotificationCompat의 CarExtender를 사용하여 하나의 메시지 또는 메시지 세트 전체를 안드로이드 오토의 대화로 보냅니다 여기에서 메시지를 소리 내어 읽어주며 사용자는 도로를 주행하면서 화면을 보지 않고 음성으로 답장할 수 있습니다 NotificationCompat을 사용하여 모든 안드로이드 버전을 위한 하나의 API를 사용할 수 있으며 스타일과 액션 그리고 안드로이드 웨어와 안드로이드 오토에서 훌륭한 알림을 제공할 수 있는 도구를 추가하여 점진적인 개선을 지원할 수 있습니다 어디에서든지 멋진 알림을 만들 수 있는 많은 기회가 있습니다 여러분의 프로젝트에 지원 라이브러리를 추가하여 NotificationCompat을 시작해보시길 바랍니다 미디어 스타일 알림을 위해 App Compat이 필요할 것입니다 아니면 NotificationCompat이 제공하는 지원 v4가 필요할 수도 있습니다 이러한 도구를 가지고 여러분은 휴대폰, 태블릿, 시계 그리고 자동차에서 여러분의 앱을 더욱 좋게 만들 수 있는 훌륭한 알림을 만들 수 있습니다