Hintergrund
In diesem Dokument wird beschrieben, wie Sie die RCS-Archivierungsfunktion in Google Messages integrieren, testen und validieren.
Lösung – Übersicht
- Clientseitige Archivierung:Archivierungsanbieter müssen eine Android-App entwickeln, die IT-Administratoren auf ihren verwalteten Geräten bereitstellen können.
- Basierend auf Google Messages:Für diese Funktion muss Google Messages als Standard-Messaging-App festgelegt sein. IT-Administratoren können Android Enterprise-Steuerelemente verwenden, um die Standardeinstellung zu erzwingen.
- Android Enterprise erforderlich:Diese Funktion ist nur auf vollständig verwalteten Geräten verfügbar.
Workflow

- Der IT-Administrator stellt die Archivierungs-App mit Android Enterprise bereit.
- Optional: Der IT-Administrator konfiguriert die Archivierungs-App programmatisch mit Android Enterprise-Steuerelementen.
- Erforderlich:
- Die Archivierungs-App benötigt die Berechtigung
READ_SMS
- Die Archivierungs-App benötigt die Berechtigung
- Empfohlen:
- Nutzersteuerung von Google Messages und der Archivierungs-App nicht zulassen
- Der IT-Administrator erzwingt Google Messages als Standard-SMS-/RCS-Client.
- Optional kann der IT-Administrator die Archivierungs-App auch mit MCM vorregistrieren, sofern die Archivierungslösung MCM unterstützt.
- Erforderlich:
- Der IT-Administrator aktiviert die Archivierung in Google Messages über MCM.
- Google Messages schreibt bei Nachrichtenereignissen Nachrichtendaten in Android. Ein Nachrichtenereignis ist eines der folgenden: Nachricht gesendet, Nachricht empfangen, Nachricht bearbeitet oder Nachricht gelöscht.
- Google Messages benachrichtigt die Archivierungs-App über das Ereignis einer neuen Nachricht, sowohl für RCS- als auch für SMS/MMS-Nachrichten.
- Die Archivierungs-App liest die Nachrichtendaten vom
Telephony
-Anbieter. - Die Archivierungs-App fasst Updates in Batches zusammen und sendet sie an den Server.
Implementierung
MCM-Schema für Google Messages
Die Archivierung wird in Google Messages mit dem messages_archival
-Schlüssel konfiguriert. Administratoren können damit einen Stringwert angeben, um ihre Archivierungs-App nach Paketname festzulegen. Wenn der Wert leer oder null ist oder der Schlüssel nicht vorhanden ist, wird die Archivierung deaktiviert. Wenn der Wert angegeben ist, wird die Archivierung aktiviert und Google Messages sendet bei einem Nachrichtenereignis einen expliziten Broadcast an den angegebenen Paketnamen.
Benachrichtigung an die Archivierungs-App
- Ein expliziter Broadcast wird an die angegebene Archivierungs-App gesendet, mit der Aktion:
GOOGLE_MESSAGES_ARCHIVAL_UPDATE
- In einigen Fällen ist der Nachrichten-URI in den Broadcast-Extras enthalten. Damit kann die Nachricht abgerufen werden, die den Broadcast ausgelöst hat:
com.google.android.apps.messaging.EXTRA_ARCHIVAL_URI
Anforderungen an Archivierungs-Apps
Erforderlich:
- Fordern Sie die FOREGROUND_SERVICE-Berechtigung an.
- Deklarieren Sie in Ihrem Manifest einen Dienst im Vordergrund, der den Intent-Filter für den Broadcast zur Archivierungsaktualisierung enthält und berechtigungsbasiert ist, damit nur Google Messages den Dienst starten kann.
<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>
- Implementieren Sie diesen Dienst, um den Intent zu verarbeiten, Daten aus der Telefonie zu lesen und den Typ des Nachrichtenereignisses zu bestimmen, indem Sie den vorherigen Zustand der Telefonie mit dem aktuellen Zustand vergleichen. Speichern Sie dann sowohl das Nachrichtenereignis, das in das Backend des Archivierungsdienstes hochgeladen werden soll, als auch den aktualisierten Zustand der Telefonie, um ihn beim nächsten Ereignis zu vergleichen.
Empfohlen:
Batch-Updates von Nachrichtenereignissen an den Server mit
JobScheduler
.- IT-Administratoren können dafür sorgen, dass Ihre App nicht beendet und Ihre App-Daten nicht von Nutzern gelöscht werden. So können Ihre Batch-Updates wie erwartet ausgeführt werden.
- Wenn die Vordergrunddienstzeit auf die kritische Archivierungsanforderung beschränkt wird, werden die Auswirkungen auf die Nutzerfreundlichkeit und die Systemintegrität minimiert.
Aktivieren Sie die programmatische Konfiguration Ihrer App mit MCM (wie im MCM-Schema für Nachrichten beschrieben), damit Nutzer sich nicht manuell anmelden oder Serverregistrierungsdetails angeben müssen.
Testen
Verwenden Sie zum Testen Ihrer Implementierung TestDPC oder Ihren bevorzugten EMM-Client.