Архив сообщений RCS Google

Фон

В этом документе описывается, как интегрировать, тестировать и проверять функцию архивирования RCS в Google Messages.

Обзор решения

  • Архивирование на стороне клиента: поставщикам архивных решений необходимо разработать приложение Android, которое ИТ-администраторы смогут развертывать на управляемых ими устройствах.
  • Работает на базе Google Сообщений: для этой функции требуется, чтобы Google Сообщения были приложением для обмена сообщениями по умолчанию . ИТ-администраторы могут использовать элементы управления Android Enterprise для включения настроек по умолчанию.
  • Требуется Android Enterprise: эта функция доступна только на полностью управляемых устройствах.

Рабочий процесс

Рабочий процесс архивации сообщений RCS
Рисунок 1. Архивный процесс RCS.
  1. ИТ-администратор развертывает архивное приложение с помощью Android Enterprise.
  2. Дополнительно : ИТ-администратор программно настраивает архивное приложение с помощью элементов управления Android Enterprise.
    • Необходимый:
      • Архивному приложению требуется разрешение READ_SMS
    • Рекомендуется:
      • Запретить пользователю управлять Google Сообщениями и архивным приложением
      • ИТ-администратор использует Google Messages в качестве клиента SMS/RCS по умолчанию
      • При желании ИТ-администратор может также предварительно зарегистрировать архивное приложение с помощью MCM, если архивное решение поддерживает MCM.
  3. ИТ-администратор включает архивацию в Google Messages с помощью MCM .
  4. Google Сообщения записывают данные сообщений в Android при событиях, связанных с сообщениями. Событием считается отправка сообщения, получение сообщения, редактирование сообщения или удаление сообщения.
  5. Google Сообщения уведомляют архивное приложение о событии нового сообщения, как для сообщений RCS, так и для SMS/MMS.
  6. Архивное приложение считывает данные сообщений от провайдера Telephony .
  7. Архивное приложение пакетирует обновления и отправляет их на сервер.

Выполнение

Схема MCM для Google Сообщений

Архивация настраивается в Google Сообщениях с помощью ключа messages_archival , который принимает строковое значение, позволяющее администраторам указать приложение для архивации по имени пакета. Если значение пустое, равно NULL или ключ отсутствует, архивация отключена. Если значение указано, архивация включена, и Google Сообщения отправляют явное сообщение указанному имени пакета при получении сообщения.

Уведомление в архивное приложение

  • Явная трансляция отправляется указанному архивному приложению с действием: GOOGLE_MESSAGES_ARCHIVAL_UPDATE
  • В некоторых случаях URI сообщения включается в дополнительные данные трансляции, которые можно использовать для извлечения сообщения, вызвавшего трансляцию: com.google.android.apps.messaging.EXTRA_ARCHIVAL_URI

Требования к архивному приложению

Необходимый:

  • Запросите разрешение FOREGROUND_SERVICE .
  • Объявите в манифесте службу переднего плана, которая включает фильтр намерений для трансляции архивных обновлений и имеет разрешение, гарантирующее, что только Google Messages сможет запустить службу.
<service
        android:enabled="true"
        android:foregroundServiceType="shortService"
        android:name=".TestService"
        android:exported="true"
        android:permission="android.permission.WRITE_SMS">
      <intent-filter>
        <action android:name="GOOGLE_MESSAGES_ARCHIVAL_UPDATE" />
      </intent-filter>
</service>
  • Реализуйте эту службу для обработки намерений, чтения из телефонии и определения типа события сообщения путем сравнения предыдущего состояния телефонии с текущим состоянием, а затем кэшируйте как событие сообщения, которое будет загружено в бэкэнд архивной службы, так и обновленное состояние телефонии для сравнения со следующим событием.

Рекомендуется:

  • Пакетное обновление событий сообщений на сервере с помощью JobScheduler .

    • ИТ-администраторы могут гарантировать, что ваше приложение не будет закрыто, а данные приложения не будут удалены пользователями, что позволит обеспечить корректную работу пакетных обновлений.
    • Сведение времени приоритетного обслуживания к минимуму, ограничивая его исключительно критически важными требованиями к архивированию, сводит к минимуму влияние на пользовательский опыт и работоспособность системы.
  • Включите программную настройку вашего приложения с помощью MCM (как указано в схеме MCM для сообщений ), чтобы пользователям не приходилось входить в систему или вручную указывать данные регистрации на сервере.

Тестирование

Для тестирования вашей реализации используйте TestDPC или предпочитаемый вами EMM-клиент.