RCS Google Mesajlar arşivleme

Arka plan

Bu belgede, Google Mesajlar'daki RCS arşivleme özelliğiyle nasıl entegrasyon yapılacağı, nasıl test edileceği ve nasıl doğrulanacağı açıklanmaktadır.

Çözüme genel bakış

  • İstemci tarafı arşivleme: Arşivleme sağlayıcılarının, BT yöneticilerinin yönetilen cihazlarına dağıtabileceği bir Android uygulaması geliştirmesi gerekir.
  • Google Mesajlar tarafından desteklenir: Bu özellik için Google Mesajlar'ın varsayılan mesajlaşma uygulaması olması gerekir. BT yöneticileri, varsayılan uygulamayı zorunlu kılmak için Android Enterprise denetimlerini kullanabilir.
  • Android Enterprise gerektirir: Bu özellik yalnızca tamamen yönetilen cihazlarda kullanılabilir.

İş Akışı

RCS mesajlarının arşivlenmesi için iş akışı
1. şekil. RCS arşivleme iş akışı.
  1. BT yöneticisi, Android Enterprise'ı kullanarak arşivleme uygulamasını dağıtır.
  2. İsteğe bağlı: BT yöneticisi, Android Enterprise kontrollerini kullanarak arşivleme uygulamasını programatik olarak yapılandırır.
    • Zorunlu:
      • Arşivleme uygulamasının READ_SMS izni alması gerekiyor
    • Önerilen:
      • Google Mesajlar ve arşivleme uygulaması üzerinde kullanıcı kontrolüne izin verme
      • BT yöneticisi, Google Mesajlar'ı varsayılan SMS/RCS istemcisi olarak zorunlu kılar.
      • İsteğe bağlı olarak, arşivleme çözümü ÇMY'yi destekliyorsa BT yöneticisi, ÇMY'yi kullanarak arşivleme uygulamasını önceden kaydedebilir.
  3. BT yöneticisi, ÇMY'yi kullanarak Google Mesajlar'da arşivlemeyi etkinleştirir.
  4. Google Mesajlar, ileti etkinliklerinde ileti verilerini Android'e yazar. İleti etkinliği; ileti gönderildi, ileti alındı, ileti düzenlendi veya ileti silindi etkinliklerinden biridir.
  5. Google Mesajlar, hem RCS hem de SMS/MMS mesajları için yeni mesaj etkinliğini arşivleme uygulamasına bildirir.
  6. Arşivleme uygulaması, ileti verilerini Telephony sağlayıcıdan okur.
  7. Arşivleme uygulaması, güncellemeleri gruplandırıp sunucuya gönderir.

Uygulama

Google Mesajlar ÇMY şeması

Arşivleme, Google Mesajlar'da messages_archival anahtarı kullanılarak yapılandırılır. Bu anahtar, yöneticilerin arşivleme uygulamalarını paket adına göre belirtmeleri için bir dize değeri kabul eder. Değer boşsa, null ise veya anahtar mevcut değilse arşivleme devre dışı bırakılır. Değer belirtilirse arşivleme etkinleştirilir ve Google Mesajlar, ileti etkinliğinde belirtilen paket adına açık bir yayın gönderir.

Arşivleme uygulamasına bildirim

  • Belirtilen arşiv uygulamasına, şu işlemle birlikte açık bir yayın gönderilir: GOOGLE_MESSAGES_ARCHIVAL_UPDATE
  • Bazı durumlarda, mesaj URI'si yayın ekstralarına dahil edilir. Bu ekstralar, yayını tetikleyen mesajı getirmek için kullanılabilir: com.google.android.apps.messaging.EXTRA_ARCHIVAL_URI

Arşivleme uygulaması şartları

Zorunlu:

  • FOREGROUND_SERVICE iznini talep edin.
  • Manifestinizde, arşiv güncelleme yayını için amaç filtresini içeren ve yalnızca Google Mesajlar'ın hizmeti başlatabilmesini sağlamak üzere izin verilen bir ön plan hizmeti bildirin.
<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>
  • Bu hizmeti, amacı işlemek, telefon hizmetinden okumak ve telefon hizmetinin önceki durumu ile mevcut durumu karşılaştırarak mesaj etkinliğinin türünü belirlemek için uygulayın. Ardından, hem arşiv hizmeti arka ucuna yüklenecek mesaj etkinliğini hem de sonraki etkinlikte karşılaştırmak için telefon hizmetinin güncellenmiş durumunu önbelleğe alın.

Önerilen:

  • JobScheduler ile mesaj etkinliklerinin sunucuda toplu olarak güncellenmesi.

    • BT yöneticileri, uygulamanızın sonlandırılmamasını veya uygulama verilerinizin kullanıcılar tarafından silinmemesini sağlayarak toplu güncellemelerinizin beklendiği gibi devam etmesini sağlayabilir.
    • Ön plan hizmeti süresini yalnızca kritik arşivleme gereksinimi için en aza indirmek, kullanıcı deneyimi ve sistem sağlığı üzerindeki etkiyi en aza indirir.
  • MCM'yi kullanarak uygulamanızın programatik olarak yapılandırılmasını sağlayın (Messages MCM şemasında belirtildiği gibi). Böylece kullanıcıların oturum açması veya sunucu kaydı ayrıntılarını manuel olarak belirtmesi gerekmez.

Test

Uygulamanızı test etmek için TestDPC'yi veya tercih ettiğiniz EMM istemcisini kullanın.