사용자 및 대화

사용자 및 대화 이니셔티브는 휴대전화 시스템에서 사용자 및 대화를 돋보이게 표시하는 것을 목표로 하는 다년간의 Android 이니셔티브입니다. 이 우선순위는 다른 사람과의 소통 및 상호작용이 여전히 모든 인구통계에서 대다수의 사용자에게 가장 가치 있고 중요한 기능 영역이라는 사실을 기반으로 합니다.

Android 11에는 사람 및 대화 이니셔티브를 지원하기 위해 다양한 기능이 도입되었습니다.

대화 공간


대화 공간은 사람 간의 실시간 대화를 위한 전용 알림 영역입니다.
그림 1: 대화 공간

대부분의 휴대전화에는 알림 창 맨 위에 다른 사용자와의 실시간 대화만 포함하는 별도의 섹션이 있습니다(예: 통화 및 그룹 채팅을 비롯한 채팅 메시지). 이 공간의 알림은 다음과 같이 많은 휴대전화에서 비대화 알림과 다르게 보이고 작동합니다.

  • 디자인이 다릅니다. 즉, 사람을 나타내는 아바타를 강조하면서 대화를 실행하는 앱도 함께 보여줍니다.
  • 알림을 탭하면 앱에서 대화가 열리고(또는 대화가 이전에 대화창이었다면 대화창으로 표시됨), 캐럿을 탭하면 알림 창에서 새 메시지가 전체 길이로 확장되며 전체 옵션 목록이 표시됩니다.
  • 다음과 같이 대화와 관련된 작업이 제공됩니다(일부는 길게 눌러야 함).
    • 이 대화를 우선순위로 표시
    • 이 대화를 대화창으로 올리기(앱에서 대화창을 지원하는 경우에만 표시됨)
    • 이 대화에 관한 자동 알림
    • 이 대화의 맞춤 알림음 또는 진동 설정

대화창의 대화

알림이 대화 요구사항을 충족하면 플랫폼은 알림 창에서 알림을 대화창으로 실행합니다.
그림 2: 알림 창에서 대화창으로 실행되는 알림

Android 11부터 대화 섹션의 알림에서 대화창을 시작할 수 있습니다. 연결된 바로가기가 있는 알림만 대화창으로 표시될 수 있습니다. 중요한 대화로 표시되거나 알림창에서 대화창으로 표시되도록 대화를 트리거하는 경우 대화가 대화창으로 자동 표시됩니다.

대화 바로가기

대화 바로가기는 런처에 표시되며 공유 시트에서 오래 지속되는 공유 바로가기와 함께 표시됩니다.

API 가이드라인

이 섹션에서는 사용자와 대화를 표시하는 시스템 제공 공간에 대한 지원을 앱에 추가하는 API를 설명합니다.

대화 바로가기

이 새로운 대화 중심 이니셔티브에 참여하려면 앱이 오래 지속되는 바로가기를 시스템에 제공해야 합니다. 오래 지속되는 공유 바로가기를 사용하는 것이 좋습니다. 필요한 경우 Android 11에서 동적 바로가기를 사용할 수 있지만, 이 옵션은 향후 삭제될 수 있습니다.

대화 바로가기를 게시하려면 ShortcutManagerCompat 메서드 setDynamicShortcuts(), addDynamicShortcuts() 또는 pushDynamicShortcut()을 호출합니다(이러한 메서드는 개발자를 위해 바로가기 제한을 자동으로 관리함). 이 바로가기는 오래 지속되어야 하며 한 명 이상의 사람에 관한 Person 데이터가 연결되어 대화의 다른 참여자를 식별할 수 있어야 합니다. 또한 바로가기에 LocusIdCompat를 설정하고 이 LocusIdCompat로 앱 내 활동 및 프래그먼트에 주석을 지정하는 것이 좋습니다. 이렇게 하면 시스템에서 앱 사용에 따라 대화의 순위를 정확하게 매길 수 있습니다.

대화가 더 이상 존재하지 않으면 앱은 removeLongLivedShortcuts()를 사용하여 바로가기를 삭제할 수 있습니다. 이렇게 하면 시스템에서 대화와 관련된 모든 데이터가 삭제됩니다. 바로가기는 삭제할 수 있지만, 꼭 필요한 경우가 아니면 앱에서 캐시된 바로가기를 삭제해서는 안 됩니다. 사용자가 바로가기와 상호작용하여 환경을 변경했기 때문에 바로가기가 캐시될 수 있으며, 바로가기를 삭제하면 변경사항이 실행취소되어 사용자가 불편을 겪을 수 있습니다.

대화 알림

다음의 경우 알림은 대화 알림으로 간주됩니다.

  • 알림에서 MessagingStyle을 사용합니다.

  • (앱이 Android 11 이상을 타겟팅하는 경우에만) 알림이 오래 지속되는 유효한 동적 또는 캐시된 공유 바로가기와 연결됩니다. 알림은 setShortcutId() 또는 setShortcutInfo()를 호출하여 이 연결을 설정할 수 있습니다. 앱이 Android 10 이하를 타겟팅하는 경우 대체 옵션 섹션에 설명된 대로 알림을 바로가기에 연결하지 않아도 됩니다.

  • 사용자가 게시 시점에 알림 채널 설정을 통해 대화 섹션에서 대화 순위를 내리지 않았습니다.

LocusIdCompat을 사용하여 인앱 대화 순위 지정

기기 내 인텔리전스는 사용자가 관심을 가질 가능성이 가장 큰 대화를 결정합니다. 가장 중요한 신호 중 두 가지는 각 대화에서 대화 세션의 최근 사용빈도입니다. 상호작용이 적절하게 태그된 경우 시스템은 런처 바로가기에서 또는 알림 내에서 이루어진 대화와의 상호작용에 관해 알고 있습니다. 하지만, 시스템은 앱에서 이러한 상호작용이 태그되지 않는 한 완전히 앱에서 발생한 대화에 관해 알지 못합니다. 따라서 LocusIdCompat을 바로가기에 연결하고 연결된 LocusIdCompat으로 인앱 활동 또는 프래그먼트에 주석을 지정하는 것이 좋습니다. LocusIdCompat를 사용하면 추천 시스템에서 대화의 순위를 적절하게 지정할 수 있습니다. setShortcutInfo()를 사용하여 대화를 바로가기와 연결하면 대화 시스템은 적절한 LocusIdCompat를 자동으로 연결합니다.

Android 10 이하를 타겟팅하는 앱의 대화 공간 요구사항

앱이 Android 11을 타겟팅하지 않으면 메시지가 대화 공간에 계속 표시될 수 있습니다. 그러나 앱은 여전히 특정 요구사항을 충족해야 합니다. 이 섹션에서는 이러한 앱의 요구사항 및 앱이 요구사항을 충족하지 않는 경우의 대체 동작을 설명합니다.

메시지 공간에 참여하기 위한 핵심 요구사항은 앱이 MessagingStyle 알림을 구현하는 것과 알림을 게시할 때 알림은 게시된 알림에서 오래 지속되는 바로가기를 참조해야 한다는 것입니다. 이러한 요구사항을 충족하는 알림은 다음 동작과 함께 대화 공간에 표시됩니다.

  • 알림이 대화 스타일로 표시됨
  • 대화창 버튼이 제공됨(구현된 경우)
  • 대화 관련 기능이 인라인으로 제공됨

알림이 이러한 요구사항을 충족하지 않으면 플랫폼에서 대체 옵션을 사용하여 알림 형식을 지정합니다. 알림이 대체 사례 중 하나의 요구사항을 충족하면 알림은 대화 공간에 특수한 형식으로 표시됩니다. 알림이 어떤 대체 옵션에도 적합하지 않으면 대화 공간에 표시되지 않습니다.

대체: MessagingStyle을 사용하지만 바로가기가 제공되지 않은 경우

앱이 Android 10 이하를 타겟팅하고 알림이 MessagingStyle을 사용하지만 메시지를 바로가기와 연결하지 않는다면 알림은 다음 동작과 함께 대화 공간에 표시됩니다.

  • 알림이 대화 스타일로 표시됨
  • 제공되는 대화창 버튼 없음
  • 인라인으로 제공되는 대화 관련 기능 없음

대체: MessagingStyle을 사용하지 않지만 앱이 인식된 메시지 앱인 경우

알림이 MessagingStyle을 사용하지 않지만 플랫폼에서 앱을 메시지 앱으로 인식하고 알림의 category 매개변수가 msg로 설정되었다면 알림은 다음 동작과 함께 대화 공간에 표시됩니다.

  • 알림이 Android 11 이전 스타일로 표시됨
  • 제공되는 대화창 버튼 없음
  • 인라인으로 제공되는 대화 관련 기능 없음

가이드, 사용 및 테스트

이 섹션에서는 대화 기능을 사용하고 테스트하는 방법에 관한 일반적인 가이드를 제공합니다.

언제 대화를 사용해야 하나요?

대화 알림 및 관련 바로가기는 실시간 대화의 사용자 환경을 개선하기 위한 것입니다. 예를 들어 SMS, 문자 채팅 및 전화 통화는 사용자가 신속하게 의사소통하기를 기대하는 실시간 대화입니다. 사용자는 대화와 관련이 없는 이메일 및 활동에 이러한 기대를 하지 않습니다.

사용자가 대화가 적절한 공간에 있지 않다고 느끼면 대화 섹션에서 특정 대화를 삭제할 수 있는 기능을 사용자에게 제공했습니다.

유용한 바로가기 제공

대화 공간에 표시되려면 앱에서 Android 11 이상을 타겟팅하는 경우 바로가기를 제공해야 합니다. 바로가기 아이콘의 AdaptiveIconDrawable을 제공해야 합니다. 그렇지 않으면 바로가기 아바타가 의도치 않게 잘릴 수 있습니다. 자세한 내용은 바로가기 이미지 제공을 참고하세요.

바로가기가 공유 바로가기인 경우 시스템 공유 시트를 비롯하여 다양한 시스템 표시 경로에서 순위가 지정됩니다. 최고 순위를 획득하는 방법 및 시스템에서 바로가기를 홍보하는 방법을 자세히 알아보세요.

대화 알림 및 바로가기 테스트

대화를 길게 누르면 대화 관련 작업 메뉴가 열립니다.
그림 3: 대화 알림을 길게 누르고 대화 메뉴가 표시되는지 검토하여 대화 알림이 적절하게 구성되었는지 확인할 수 있습니다.

대화 공간 가이드라인을 따르면 대화가 대화 공간에 자동으로 표시됩니다. 알림을 길게 눌러 바로가기가 적절하게 통합되었는지 확인할 수 있습니다. 통합이 올바르게 완료되면 UI에 대화 관련 작업이 표시됩니다. 알림이 바로가기에 연결되어 있지 않으면 UI에서 대화 기능을 지원하지 않음을 나타내는 텍스트를 표시합니다.

앱 런처를 길게 누르면 추가된 바로가기가 표시됩니다. 바로가기를 통해 앱 내에서 올바른 위치로 이동하는지 테스트해야 합니다.

공유 바로가기가 수신할 수 있는 콘텐츠를 공유할 때 추가된 공유 바로가기가 공유 시트의 직접 공유 행에 표시됩니다.