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

- ИТ-администратор развертывает архивное приложение с помощью Android Enterprise.
- Дополнительно : ИТ-администратор программно настраивает архивное приложение с помощью элементов управления Android Enterprise.
- Необходимый:
- Архивному приложению требуется разрешение
READ_SMS
- Архивному приложению требуется разрешение
- Рекомендуется:
- Запретить пользователю управлять Google Сообщениями и архивным приложением
- ИТ-администратор использует Google Messages в качестве клиента SMS/RCS по умолчанию
- При желании ИТ-администратор может также предварительно зарегистрировать архивное приложение с помощью MCM, если архивное решение поддерживает MCM.
- Необходимый:
- ИТ-администратор включает архивацию в Google Messages с помощью MCM .
- Google Сообщения записывают данные сообщений в Android при событиях, связанных с сообщениями. Событием считается отправка сообщения, получение сообщения, редактирование сообщения или удаление сообщения.
- Google Сообщения уведомляют архивное приложение о событии нового сообщения, как для сообщений RCS, так и для SMS/MMS.
- Архивное приложение считывает данные сообщений от провайдера
Telephony
. - Архивное приложение пакетирует обновления и отправляет их на сервер.
Выполнение
Схема 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-клиент.