Arrière-plan
Ce document explique comment intégrer, tester et valider la fonctionnalité d'archivage RCS dans Google Messages.
Présentation de la solution
- Archivage côté client : les fournisseurs d'archivage doivent développer une application Android que les administrateurs informatiques pourront déployer sur leurs appareils gérés.
- Optimisé par Google Messages : cette fonctionnalité nécessite que Google Messages soit l'application de chat par défaut. Les administrateurs informatiques peuvent utiliser les commandes Android Enterprise pour appliquer cette application par défaut.
- Nécessite Android Enterprise : cette fonctionnalité n'est disponible que sur les appareils entièrement gérés.
Workflow

- L'administrateur informatique déploie l'application d'archivage à l'aide d'Android Enterprise.
- Facultatif : L'administrateur informatique configure l'application d'archivage de manière programmatique à l'aide des commandes Android Enterprise.
- Obligatoire :
- L'application d'archivage a besoin de l'autorisation
READ_SMS
- L'application d'archivage a besoin de l'autorisation
- Recommandé :
- Interdire le contrôle par l'utilisateur de Google Messages et de l'application d'archivage
- L'administrateur informatique impose Google Messages comme client SMS/RCS par défaut
- Si la solution d'archivage est compatible avec MCM, l'administrateur informatique peut également pré-enregistrer l'application d'archivage à l'aide de MCM.
- Obligatoire :
- L'administrateur informatique active l'archivage dans Google Messages à l'aide de MCM.
- Google Messages écrit les données des messages dans Android lors des événements de message. Un événement de message peut être un message envoyé, reçu, modifié ou supprimé.
- Google Messages notifie l'application d'archivage en cas de nouvel événement de message, pour les messages RCS et SMS/MMS.
- L'application d'archivage lit les données des messages du fournisseur
Telephony
. - L'application d'archivage regroupe les mises à jour et les envoie au serveur.
Implémentation
Schéma MCM de Google Messages
L'archivage est configuré dans Google Messages à l'aide de la clé messages_archival
, qui accepte une valeur de chaîne permettant aux administrateurs de spécifier leur application d'archivage par nom de package. Si la valeur est vide ou nulle, ou si la clé n'est pas présente, l'archivage est désactivé. Si la valeur est spécifiée, l'archivage est activé et Google Messages envoie une diffusion explicite au nom de package spécifié lors d'un événement de message.
Notification à l'application d'archivage
- Une diffusion explicite est envoyée à l'application archia spécifiée, avec l'action :
GOOGLE_MESSAGES_ARCHIVAL_UPDATE
- Dans certains cas, l'URI du message est inclus dans les extras de diffusion, qui peuvent être utilisés pour récupérer le message qui a déclenché la diffusion :
com.google.android.apps.messaging.EXTRA_ARCHIVAL_URI
Exigences concernant les applications archivées
Obligatoire :
- Revendiquez l'autorisation FOREGROUND_SERVICE.
- Déclarez un service de premier plan dans votre fichier manifeste, qui inclut le filtre d'intent pour la diffusion de la mise à jour de l'archivage et qui est autorisé pour garantir que seul Google Messages peut démarrer le service.
<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>
- Implémentez ce service pour gérer l'intent, lire à partir de la téléphonie et déterminer le type d'événement de message en comparant l'état précédent de la téléphonie à l'état actuel. Ensuite, mettez en cache l'événement de message à importer dans le backend du service d'archivage et l'état mis à jour de la téléphonie à comparer lors du prochain événement.
Recommandations :
Mises à jour par lot des événements de message sur le serveur avec
JobScheduler
.- Les administrateurs informatiques peuvent s'assurer que votre application n'est pas arrêtée ou que les données de votre application ne sont pas supprimées par les utilisateurs, ce qui permet à vos mises à jour par lot de se dérouler comme prévu.
- En réduisant la durée du service de premier plan aux exigences d'archivage critiques, vous minimisez l'impact sur l'expérience utilisateur et l'intégrité du système.
Activez la configuration programmatique de votre application à l'aide de MCM (comme indiqué dans le schéma MCM des messages), afin que les utilisateurs n'aient pas besoin de se connecter ni de spécifier manuellement les détails de l'enregistrement du serveur.
Tests
Pour tester votre implémentation, utilisez TestDPC ou le client EMM de votre choix.