Archiwizacja czatów RCS w Wiadomościach Google

Tło

Z tego dokumentu dowiesz się, jak zintegrować, przetestować i zweryfikować funkcję archiwizacji RCS w Wiadomościach Google.

Omówienie rozwiązania

  • Archiwizacja po stronie klienta: dostawcy usług archiwizacji muszą opracować aplikację na Androida, którą administratorzy IT będą mogli wdrożyć na zarządzanych urządzeniach.
  • Obsługiwane przez Wiadomości Google: ta funkcja wymaga, aby Wiadomości Google były domyślną aplikacją do obsługi wiadomości. Administratorzy IT mogą wymusić domyślną aplikację za pomocą ustawień Androida Enterprise.
  • Wymaga Androida Enterprise: ta funkcja jest dostępna tylko na urządzeniach w pełni zarządzanych.

Workflow

Proces archiwizacji wiadomości RCS
Rysunek 1. przepływ pracy dotyczący archiwizacji RCS
.
  1. Administrator IT wdraża aplikację do archiwizacji za pomocą Androida Enterprise.
  2. Opcjonalnie: administrator IT programowo konfiguruje aplikację do archiwizacji za pomocą elementów sterujących Androida Enterprise.
    • Wymagane:
      • Aplikacja do archiwizacji potrzebuje uprawnienia READ_SMS
    • Zalecane:
      • Zezwalanie użytkownikom na kontrolowanie Wiadomości Google i aplikacji do archiwizacji
      • Administrator IT wymusza używanie Wiadomości Google jako domyślnego klienta SMS/RCS.
      • Opcjonalnie administrator IT może wstępnie zarejestrować aplikację do archiwizacji za pomocą narzędzia MCM, jeśli rozwiązanie do archiwizacji obsługuje MCM.
  3. Administrator IT włącza archiwizację w Wiadomościach Google za pomocą MCM.
  4. Wiadomości Google zapisują dane wiadomości na Androidzie w przypadku zdarzeń dotyczących wiadomości. Zdarzenie związane z wiadomością to jedno z tych zdarzeń: wysłanie wiadomości, odebranie wiadomości, edytowanie wiadomości lub usunięcie wiadomości.
  5. Wiadomości Google powiadamiają aplikację do archiwizacji o nowych wiadomościach, zarówno RCS, jak i SMS/MMS.
  6. Aplikacja do archiwizacji odczytuje dane wiadomości od dostawcy Telephony.
  7. Aplikacja do archiwizacji grupuje aktualizacje i wysyła je na serwer.

Implementacja

Schemat MCM Wiadomości Google

Archiwizację konfiguruje się w Wiadomościach Google za pomocą klucza messages_archival, który przyjmuje wartość ciągu znaków, dzięki czemu administratorzy mogą określić aplikację do archiwizacji według nazwy pakietu. Jeśli wartość jest pusta lub ma wartość null albo klucz nie występuje, archiwizacja jest wyłączona. Jeśli wartość jest określona, archiwizacja jest włączona, a Wiadomości Google wysyłają wyraźną transmisję do określonej nazwy pakietu w przypadku zdarzenia wiadomości.

Powiadomienie do aplikacji do archiwizacji

  • Do określonej aplikacji archiwizującej wysyłana jest wyraźna transmisja z działaniem:GOOGLE_MESSAGES_ARCHIVAL_UPDATE
  • W niektórych przypadkach identyfikator URI wiadomości jest uwzględniany w dodatkach do transmisji, których można użyć do pobrania wiadomości, która wywołała transmisję: com.google.android.apps.messaging.EXTRA_ARCHIVAL_URI

Wymagania dotyczące aplikacji do archiwizacji

Wymagane:

  • Zadeklaruj uprawnienie FOREGROUND_SERVICE.
  • Zadeklaruj w pliku manifestu usługę na pierwszym planie, która zawiera filtr intencji dla transmisji aktualizacji archiwizacji i ma przyznane uprawnienia, aby mieć pewność, że tylko Wiadomości Google mogą uruchamiać tę usługę.
<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>
  • Wdróż tę usługę, aby obsługiwała intencję, odczytywała dane z telefonii i określała typ zdarzenia wiadomości przez porównanie poprzedniego stanu telefonii z bieżącym stanem. Następnie zapisz w pamięci podręcznej zarówno zdarzenie wiadomości, które ma zostać przesłane do backendu usługi archiwizacji, jak i zaktualizowany stan telefonii, aby porównać go z kolejnym zdarzeniem.

Zalecane:

  • Zbiorcze aktualizacje zdarzeń związanych z wiadomościami na serwerze za pomocą JobScheduler.

    • Administratorzy IT mogą zagwarantować, że aplikacja nie zostanie zamknięta ani dane aplikacji nie zostaną usunięte przez użytkowników, dzięki czemu aktualizacje zbiorcze będą mogły przebiegać zgodnie z oczekiwaniami.
    • Zminimalizowanie czasu działania usługi na pierwszym planie do niezbędnego minimum w zakresie archiwizacji ma minimalny wpływ na UX i stan systemu.
  • Włącz programową konfigurację aplikacji za pomocą MCM (jak wspomniano w schemacie MCM wiadomości), aby użytkownicy nie musieli logować się ani ręcznie podawać szczegółów rejestracji serwera.

Testowanie

Aby przetestować wdrożenie, użyj aplikacji TestDPC lub preferowanego klienta EMM.