Уведомления о беседах и виджеты

В Android 11 добавлена ​​поддержка настройки поведения и размещения уведомлений о беседах на панели «Уведомления» по приоритету и уровню оповещений, что позволяет помечать беседы как важные и запускать пузырьки для конкретных бесед в области бесед.

Опираясь на эти функции Android 11, Android 12 предлагает две новые функции разговора:

  • Функция «Последние разговоры» в настройках позволяет пользователям настраивать поведение уведомлений для последних разговоров, не дожидаясь уведомления.

  • Функция «Виджет беседы» позволяет пользователям легко открывать чаты на главном экране и быстро просматривать последние разговоры.

В этом документе описываются аспекты реализации, настройки и проверки уведомлений и виджетов разговоров.

Обзор уведомлений о беседах

В Android 11 представлен новый системный примитив «Разговор», который представлен существующим объектом ярлыка общего доступа (который был представлен в Android 9).

Примитив «Беседы» можно использовать следующим образом:

  • Чтобы обмениваться данными разговоров между приложениями в системе через Sharesheet (уже в Android 10).

  • Для вождения пузырей ( ярлыки в Android 11). См. рисунок 1 .

  • Чтобы принять участие в новом пространстве для разговоров поверх панели уведомлений (реализовано в Android 11). См. рисунок 2 .

  • Для создания виджетов разговоров (реализовано в Android 12).

    conv_bubbles

    Рисунок 1. Уведомление запускается в виде всплывающего окна из панели уведомлений.

    conv_notification

    Рисунок 2. Пространство для разговоров, расположенное над панелью уведомлений.

Помимо ссылки на ярлык, представляющий беседу, уведомление также использует MessagingStyle для включения последнего сообщения беседы в пространство беседы.

Партнеры GMS обязаны реализовать следующее:

  • Новое пространство «Беседы» в виде отдельного раздела поверх панели уведомлений.
  • Стиль уведомлений, который позволяет и поддерживает пузырьковый шаблон беседы.

Партнеры, реализующие беседы, также обязаны реализовать важные беседы. Однако реализация диалогов может быть согласована с аналогичными концепциями OEM. В целом партнеры могут свободно согласовывать раздел беседы с пользовательским интерфейсом своей системы. The partner does not have to modify or implement HAL/driver/kernel code/extensions.

См. Следующую справочную реализацию в разделах Systemui и Peopleservice в AOSP:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Валидация

Чтобы убедиться, что ваша версия функции работает должным образом, проверьте следующее:

  1. Приложения, которые полностью поддерживают Conversation API, видят свои уведомления в новом разделе и могут настраивать эти уведомления по диалогу, а не с помощью общего NotificationChannel .

  2. Специальные пузырьки для разговоров работают.

Для проверки реализации используйте следующие тесты в пакете уведомлений:

  • CTS-тесты.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Тесты CTS Verifier.

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

Обзор виджетов бесед

В Android 12 функция «Виджеты разговоров» основана на представлениях разговоров, созданных в Android 11 (как описано в предыдущем разделе), позволяя приложениям предоставлять статус тех разговоров, которые отображаются в виджетах разговоров.

conv_widgets

Рисунок 3. Разговоры, отображаемые в виджетах разговоров.

Функция «Виджет беседы» в Android 12 способствует подключению, позволяя пользователям легко открывать чаты на главном экране. Виджеты представляют собой расширенные ярлыки, которые позволяют пользователям эффективно возвращаться к своим разговорам, показывая фрагменты статусов разговоров.

Партнер должен реализовать следующее:

  1. Виджет, предоставляемый SystemUI.
  2. Процесс добавления этих виджетов с экрана выбора виджетов.
  3. Поддержка изменения размера виджета следующим образом:

При реализации виджетов бесед учитывайте следующие зависимости:

  • Партнеру не нужно изменять или внедрять код HAL/драйвера/ядра.
  • Для реализации используется API статуса, который позволяет приложениям добавлять информацию о статусе или доступности в разговор и связанный с ним виджет.
  • Процесс одинаков как для новых реализаций устройств, так и для обновлений.
  • Функция «Виджеты разговоров» зависит от новой функции, запущенной в Android 12, которая кэширует недавно просмотренные разговоры (например, из уведомлений). Эта последняя функция позволяет расширить список разговоров, которые пользователь потенциально может добавить на свой главный экран.

См. следующую эталонную реализацию в файлах SystemUI и Launcher3:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Кастомизация

Функцию «Виджеты бесед» нельзя включить или отключить. Однако партнер может изменить макеты шаблонов виджетов при условии соблюдения требований GMS.

Валидация

Чтобы убедиться, что ваша версия функции работает должным образом, проверьте следующее:

  1. При длительном нажатии на панели запуска можно добавить новый виджет разговора для разговора с помощью средства выбора виджетов. См. рисунок 4 для пользовательского интерфейса выбора виджетов:

    widget_picker

    Рис. 4. Пользовательский интерфейс выбора виджетов для добавления нового виджета беседы.

  2. При отправке уведомлений на устройство из выбранного разговора виджет обновляется, чтобы отображать эти уведомления.

  3. При применении статусов к этому разговору с помощью API ConversationStatus виджет отражает эти статусы.

  4. Пользователи могут изменять размеры виджетов, а виджеты могут изменять свои размеры в зависимости от текущего средства запуска. Макеты виджетов должны хорошо работать с разными размерами Launcher на разных устройствах и при изменении размера виджета.

Чтобы подтвердить реализацию, используйте следующие тесты в пакете уведомлений:

  • CTS -тесты (PeopleManagertest) для поверхностей API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Ручные тесты для требований GMS - разговоры.

,

В Android 11 добавлена ​​поддержка настройки поведения и размещения уведомлений о беседах на панели «Уведомления» по приоритету и уровню оповещений, что позволяет помечать беседы как важные и запускать пузырьки для конкретных бесед в области бесед.

Опираясь на эти функции Android 11, Android 12 предлагает две новые функции разговора:

  • Функция «Последние разговоры» в настройках позволяет пользователям настраивать поведение уведомлений для последних разговоров, не дожидаясь уведомления.

  • Функция «Виджет беседы» позволяет пользователям легко открывать чаты на главном экране и быстро просматривать последние разговоры.

В этом документе описываются аспекты реализации, настройки и проверки уведомлений и виджетов разговоров.

Обзор уведомлений о беседах

В Android 11 представлен новый системный примитив «Разговор», который представлен существующим объектом ярлыка общего доступа (который был представлен в Android 9).

Примитив «Беседы» можно использовать следующим образом:

  • Поделиться данными разговоров между приложениями по всей системе через ShareSheet (уже в Android 10).

  • Для вождения пузырей ( ярлыки в Android 11). См. рисунок 1 .

  • Чтобы принять участие в новом пространстве для разговоров поверх панели уведомлений (реализовано в Android 11). См. рисунок 2 .

  • Для создания виджетов разговоров (реализовано в Android 12).

    conv_bubbles

    Рисунок 1. Уведомление запускается в виде всплывающего окна из панели уведомлений.

    conv_notification

    Рисунок 2. Пространство для разговоров, расположенное над панелью уведомлений.

Помимо ссылки на ярлык, представляющий разговор, в уведомлении также используется MessagingStyle , чтобы включить последнее сообщение о разговоре в пространстве разговоров.

Партнеры GMS обязаны реализовать следующее:

  • Новое пространство «Беседы» в виде отдельного раздела поверх панели уведомлений.
  • Стиль уведомлений, который позволяет и поддерживает пузырьковый шаблон беседы.

Партнеры, реализующие беседы, также обязаны реализовать важные беседы. Однако реализация диалогов может быть согласована с аналогичными концепциями OEM. В целом партнеры могут свободно согласовывать раздел разговора с пользовательским интерфейсом своей системы. Партнеру не нужно изменять или внедрять HAL/драйвер/код ядра/расширения.

См. следующую эталонную реализацию в разделах SystemUI и PeopleService в AOSP:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Валидация

Чтобы убедиться, что ваша версия функции работает должным образом, проверьте следующее:

  1. Приложения, которые полностью поддерживают API разговора, видят свои уведомления в новом разделе и могут настроить эти уведомления по разговору, а не общим уведомлением .

  2. Специальные пузырьки для разговоров работают.

Для проверки реализации используйте следующие тесты в пакете уведомлений:

  • CTS-тесты.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Тесты CTS Verifier.

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

Обзор виджетов бесед

В Android 12 функция разговора виджета основана на представлениях разговора, созданных в Android 11 (как описывает предыдущий раздел), позволяя приложениям обеспечивать статус для тех разговоров, которые отображаются в виджетах разговора.

conv_widgets

Рисунок 3. Разговоры, отображаемые в виджетах разговоров.

Функция «Виджет беседы» в Android 12 способствует подключению, позволяя пользователям легко открывать чаты на главном экране. Виджеты представляют собой улучшенные ярлыки, которые позволяют пользователям эффективно возвращаться к своим разговорам, показывая фрагменты статусов разговора.

Партнер должен реализовать следующее:

  1. Виджет, предоставляемый SystemUI.
  2. Поток, чтобы добавить эти виджеты с экрана выбора виджетов.
  3. Поддержка изменения размера виджета следующим образом:

При реализации виджетов бесед учитывайте следующие зависимости:

  • Партнеру не нужно изменять или внедрять код HAL/драйвера/ядра.
  • API статуса, который позволяет приложениям добавлять информацию о состоянии или доступности в разговор и связанный виджет, используется для реализации.
  • Процесс одинаков как для новых реализаций устройств, так и для обновлений.
  • Функция «Виджетов разговоров» зависит от новой функции запуска в Android 12, которая недавно увидела Caches (например, из уведомлений). Эта последняя функция позволяет расширить список разговоров, которые пользователь потенциально может добавить на свой главный экран.

См. следующую эталонную реализацию в файлах SystemUI и Launcher3:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Кастомизация

Функцию «Виджеты бесед» нельзя включить или отключить. Однако партнер может изменить макеты шаблонов виджетов при условии соблюдения требований GMS.

Валидация

Чтобы убедиться, что ваша версия функции работает должным образом, проверьте следующее:

  1. На долгом прессе на пусковой установке новый виджет разговора для разговора может быть добавлен через сборщик виджетов. См. рисунок 4 для пользовательского интерфейса выбора виджетов:

    widget_picker

    Рис. 4. Пользовательский интерфейс выбора виджетов для добавления нового виджета беседы.

  2. При отправке уведомлений на устройство из выбранного разговора виджет обновляется, чтобы отображать эти уведомления.

  3. При применении статусов к этому разговору с помощью API ConversationStatus виджет отражает эти статусы.

  4. Пользователи могут изменять размеры виджетов, а виджеты могут изменять свои размеры в зависимости от текущего средства запуска. Макеты виджетов должны хорошо работать с разными размерами Launcher на разных устройствах и при изменении размера виджета.

Для проверки реализации используйте следующие тесты в пакете уведомлений:

  • CTS -тесты (PeopleManagertest) для поверхностей API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Ручные тесты на соответствие требованиям GMS - Разговоры.

,

В Android 11 добавлена ​​поддержка настройки поведения и размещения уведомлений о беседах на панели «Уведомления» по приоритету и уровню оповещений, что позволяет помечать беседы как важные и запускать пузырьки для конкретных бесед в области бесед.

Опираясь на эти функции Android 11, Android 12 предлагает две новые функции разговора:

  • Функция «Последние разговоры» в настройках позволяет пользователям настраивать поведение уведомлений для последних разговоров, не дожидаясь уведомления.

  • Функция разговора виджета позволяет пользователям легко открывать чаты на главном экране, быстро просмотреть последние разговоры.

В этом документе описываются аспекты реализации, настройки и проверки уведомлений и виджетов.

Обзор уведомлений о беседах

В Android 11 представлен новый системный примитив «Разговор», который представлен существующим объектом ярлыка общего доступа (который был представлен в Android 9).

Примитив разговоров можно использовать следующим образом:

  • Чтобы обмениваться данными разговоров между приложениями в системе через Sharesheet (уже в Android 10).

  • Для вождения пузырей ( ярлыки в Android 11). См. рисунок 1 .

  • Чтобы принять участие в новом пространстве для разговоров поверх панели уведомлений (реализовано в Android 11). См. рисунок 2 .

  • Для создания виджетов разговоров (реализовано в Android 12).

    conv_bubbles

    Рисунок 1. Уведомление запускается в виде всплывающего окна на панели уведомлений.

    conv_notification

    Рисунок 2: Пространство разговора, расположенное на вершине оттенка уведомления

Помимо ссылки на ярлык, представляющий разговор, в уведомлении также используется MessagingStyle , чтобы включить последнее сообщение о разговоре в пространстве разговоров.

Партнеры GMS обязаны реализовать следующее:

  • Новое пространство «Беседы» в виде отдельного раздела поверх панели уведомлений.
  • Стиль уведомлений, который позволяет и поддерживает пузырьковый шаблон беседы.

Партнеры, реализующие беседы, также обязаны реализовать важные беседы. Однако реализация диалогов может быть согласована с аналогичными концепциями OEM. В целом партнеры могут свободно согласовывать раздел беседы с пользовательским интерфейсом своей системы. Партнеру не нужно изменять или внедрять HAL/драйвер/код ядра/расширения.

См. следующую эталонную реализацию в разделах SystemUI и PeopleService в AOSP:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Валидация

Чтобы убедиться, что ваша версия функции работает должным образом, проверьте следующее:

  1. Приложения, которые полностью поддерживают API разговора, видят свои уведомления в новом разделе и могут настроить эти уведомления по разговору, а не общим уведомлением .

  2. Специальные пузырьки для разговоров работают.

Для проверки реализации используйте следующие тесты в пакете уведомлений:

  • CTS-тесты.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Тесты CTS Verifier.

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

Обзор виджетов бесед

В Android 12 функция разговора виджета основана на представлениях разговора, созданных в Android 11 (как описывает предыдущий раздел), позволяя приложениям обеспечивать статус для тех разговоров, которые отображаются в виджетах разговора.

conv_widgets

Рисунок 3. Разговоры, отображаемые в виджетах разговоров.

Функция «Виджет беседы» в Android 12 способствует подключению, позволяя пользователям легко открывать чаты на главном экране. Виджеты представляют собой расширенные ярлыки, которые позволяют пользователям эффективно возвращаться к своим разговорам, показывая фрагменты статусов разговоров.

Партнер должен реализовать следующее:

  1. Виджет, предоставляемый SystemUI.
  2. Процесс добавления этих виджетов с экрана выбора виджетов.
  3. Поддержка изменения размера виджета следующим образом:

При реализации виджетов бесед учитывайте следующие зависимости:

  • Партнеру не нужно изменять или внедрять код HAL/драйвера/ядра.
  • Для реализации используется API статуса, который позволяет приложениям добавлять информацию о статусе или доступности в разговор и связанный с ним виджет.
  • Процесс одинаков как для новых реализаций устройств, так и для обновлений.
  • Функция «Виджеты разговоров» зависит от новой функции, запущенной в Android 12, которая кэширует недавно просмотренные разговоры (например, из уведомлений). Эта последняя функция позволяет расширить список разговоров, которые пользователь потенциально может добавить на свой главный экран.

См. следующую эталонную реализацию в файлах SystemUI и Launcher3:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Кастомизация

Функцию «Виджеты бесед» нельзя включить или отключить. Однако партнер может изменить макеты шаблонов виджетов при условии соблюдения требований GMS.

Валидация

Чтобы убедиться, что ваша версия функции работает должным образом, проверьте следующее:

  1. При длительном нажатии на панели запуска можно добавить новый виджет разговора для разговора с помощью средства выбора виджетов. См. рисунок 4 для пользовательского интерфейса выбора виджетов:

    widget_picker

    Рисунок 4. Пользовательский интерфейс выбора виджетов для добавления нового виджета беседы.

  2. При отправке уведомлений на устройство из выбранного разговора виджет обновляется, чтобы отображать эти уведомления.

  3. При применении статусов к этому разговору с помощью API ConversationStatus виджет отражает эти статусы.

  4. Пользователи могут изменять размеры виджетов, а виджеты могут изменять свои размеры в зависимости от текущего средства запуска. Макеты виджетов должны хорошо работать с разными размерами Launcher на разных устройствах и при изменении размера виджета.

Для проверки реализации используйте следующие тесты в пакете уведомлений:

  • Тесты CTS (PeopleManagerTest) для поверхностей API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Ручные тесты на соответствие требованиям GMS - Разговоры.