Archiviazione di Google Messaggi RCS

Sfondo

Questo documento descrive come eseguire l'integrazione, il test e la convalida della funzionalità di archiviazione RCS in Google Messaggi.

Panoramica della soluzione

  • Archiviazione lato client:i fornitori di archiviazione devono sviluppare un'app Android da implementare sui dispositivi gestiti dagli amministratori IT.
  • Con tecnologia Google Messaggi:questa funzionalità richiede che Google Messaggi sia l'app di messaggistica predefinita. Gli amministratori IT possono utilizzare i controlli Android Enterprise per applicare l'impostazione predefinita.
  • Richiede Android Enterprise:questa funzionalità è disponibile solo sui dispositivi completamente gestiti.

Flusso di lavoro

Flusso di lavoro per l'archiviazione dei messaggi RCS
Figura 1. Flusso di lavoro di archiviazione RCS.
  1. L'amministratore IT esegue il deployment dell'app di archiviazione utilizzando Android Enterprise.
  2. (Facoltativo): l'amministratore IT configura l'app di archiviazione a livello di programmazione utilizzando i controlli Android Enterprise.
    • Obbligatorio:
      • L'app di archiviazione richiede l'autorizzazione READ_SMS
    • Consigliato:
      • Non consentire il controllo da parte dell'utente di Messaggi Google e dell'app di archiviazione
      • L'amministratore IT impone Google Messaggi come client SMS/RCS predefinito
      • Facoltativamente, l'amministratore IT può pre-registrare anche l'app di archiviazione utilizzando MCM, se la soluzione di archiviazione supporta MCM
  3. L'amministratore IT attiva l'archiviazione in Google Messaggi utilizzando MCM.
  4. Messaggi di Google scrive i dati dei messaggi su Android in base agli eventi dei messaggi. Un evento di messaggio è uno dei seguenti: messaggio inviato, messaggio ricevuto, messaggio modificato o messaggio eliminato.
  5. Google Messaggi notifica all'app di archiviazione il nuovo evento di messaggio, sia per i messaggi RCS che per gli SMS/MMS.
  6. L'app di archiviazione legge i dati dei messaggi dal provider Telephony.
  7. L'app di archiviazione raggruppa gli aggiornamenti e li invia al server.

Implementazione

Schema MCM di Google Messaggi

L'archiviazione viene configurata in Google Messaggi utilizzando la chiave messages_archival, che accetta un valore stringa per consentire agli amministratori di specificare l'app di archiviazione in base al nome del pacchetto. Se il valore è vuoto, nullo o la chiave non è presente, l'archiviazione è disattivata. Se il valore è specificato, l'archiviazione è abilitata e Google Messaggi invia una trasmissione esplicita al nome del pacchetto specificato in un evento di messaggio.

Notifica all'app di archiviazione

  • Viene inviato un intent esplicito all'app di archiviazione specificata, con l'azione: GOOGLE_MESSAGES_ARCHIVAL_UPDATE
  • In alcuni casi, l'URI del messaggio è incluso negli extra della trasmissione, che possono essere utilizzati per recuperare il messaggio che ha attivato la trasmissione: com.google.android.apps.messaging.EXTRA_ARCHIVAL_URI

Requisiti dell'app di archiviazione

Obbligatorio:

  • Richiedi l'autorizzazione FOREGROUND_SERVICE.
  • Dichiara un servizio in primo piano nel manifest, che include il filtro intent per la trasmissione dell'aggiornamento dell'archiviazione ed è autorizzato per garantire che solo Google Messaggi possa avviare il servizio.
<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>
  • Implementa questo servizio per gestire l'intent, leggere dalla telefonia e determinare il tipo di evento del messaggio confrontando lo stato precedente della telefonia con lo stato attuale, quindi memorizza nella cache sia l'evento del messaggio da caricare nel backend del servizio di archiviazione sia lo stato aggiornato della telefonia da confrontare con l'evento successivo.

Consigliato:

  • Aggiornamenti batch degli eventi di messaggistica al server con JobScheduler.

    • Gli amministratori IT possono garantire che l'app non venga chiusa o che i dati dell'app non vengano eliminati dagli utenti, assicurandosi che gli aggiornamenti batch possano procedere come previsto.
    • Ridurre al minimo il tempo di servizio in primo piano al solo requisito di archiviazione critico riduce al minimo l'impatto sull'esperienza utente e sull'integrità del sistema.
  • Attiva la configurazione programmatica della tua app utilizzando MCM (come indicato nello schema MCM di Messaggi), in modo che gli utenti non debbano accedere o specificare manualmente i dettagli di registrazione del server.

Test

Per testare l'implementazione, utilizza TestDPC o il client EMM che preferisci.