배경
이 문서에서는 Google 메시지에서 RCS 보관 기능과 통합하고, 테스트하고, 검증하는 방법을 설명합니다.
솔루션 개요
- 클라이언트 측 보관: 보관 업체는 IT 관리자가 관리 기기에 배포할 수 있는 Android 앱을 개발해야 합니다.
- Google 메시지 지원: 이 기능을 사용하려면 Google 메시지가 기본 메시지 앱이어야 합니다. IT 관리자는 Android Enterprise 컨트롤을 사용하여 기본값을 적용할 수 있습니다.
- Android Enterprise 필요: 이 기능은 완전 관리 기기에서만 사용할 수 있습니다.
워크플로

- IT 관리자가 Android Enterprise를 사용하여 보관 앱을 배포합니다.
- 선택사항: IT 관리자가 Android Enterprise 컨트롤을 사용하여 아카이브 앱을 프로그래매틱 방식으로 구성합니다.
- 필수:
- 보관 앱에
READ_SMS
권한이 필요함
- 보관 앱에
- 권장:
- Google 메시지 및 보관 앱에 대한 사용자 제어 허용 안함
- IT 관리자가 Google 메시지를 기본 SMS/RCS 클라이언트로 강제합니다.
- 보관 솔루션이 MCM을 지원하는 경우 IT 관리자는 MCM을 사용하여 보관 앱을 사전 등록할 수도 있습니다.
- 필수:
- IT 관리자가 MCM을 사용하여 Google 메시지에서 보관을 사용 설정합니다.
- Google 메시지는 메시지 이벤트에서 메시지 데이터를 Android에 씁니다. 메시지 이벤트는 메시지 전송, 메시지 수신, 메시지 수정 또는 메시지 삭제 중 하나입니다.
- Google 메시지는 RCS 및 SMS/MMS 메시지 모두에 대해 새 메시지 이벤트를 보관 앱에 알립니다.
- 보관 앱은
Telephony
제공자에서 메시지 데이터를 읽습니다. - 보관 앱은 업데이트를 일괄 처리하여 서버로 전송합니다.
구현
Google 메시지 MCM 스키마
보관처리는 관리자가 패키지 이름으로 보관처리 앱을 지정할 수 있는 문자열 값을 허용하는 messages_archival
키를 사용하여 Google 메시지에서 구성됩니다. 값이 비어 있거나 null이거나 키가 없으면 보관이 사용 중지됩니다. 값이 지정되면 보관처리가 사용 설정되고 Google 메시지에서 메시지 이벤트에 대해 지정된 패키지 이름으로 명시적 브로드캐스트를 전송합니다.
보관처리 앱에 대한 알림
- 명시적 브로드캐스트가 지정된 보관 앱으로 전송되며 작업은 다음과 같습니다.
GOOGLE_MESSAGES_ARCHIVAL_UPDATE
- 경우에 따라 메시지 URI가 브로드캐스트 추가 항목에 포함되며, 이는 브로드캐스트를 트리거한 메시지를 가져오는 데 사용할 수 있습니다.
com.google.android.apps.messaging.EXTRA_ARCHIVAL_URI
보관처리 앱 요구사항
필수:
- FOREGROUND_SERVICE 권한을 선언합니다.
- 보관 업데이트 브로드캐스트의 인텐트 필터가 포함되고 Google 메시지만 서비스를 시작할 수 있도록 권한이 부여된 포그라운드 서비스를 매니페스트에 선언합니다.
<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
를 사용하여 메시지 이벤트를 서버에 일괄 업데이트합니다.- IT 관리자는 앱이 강제 종료되거나 앱 데이터가 사용자에 의해 삭제되지 않도록 보장하여 일괄 업데이트가 예상대로 진행되도록 할 수 있습니다.
- 중요한 보관 요구사항에만 포그라운드 서비스 시간을 최소화하면 UX 및 시스템 상태 영향이 최소화됩니다.
사용자가 로그인하거나 서버 등록 세부정보를 수동으로 지정하지 않아도 되도록 MCM을 사용하여 앱의 프로그래매틱 구성을 사용 설정합니다 (메시지 MCM 스키마에 설명됨).
테스트
구현을 테스트하려면 TestDPC 또는 원하는 EMM 클라이언트를 사용하세요.