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ışı

- BT yöneticisi, Android Enterprise'ı kullanarak arşivleme uygulamasını dağıtır.
- İ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
- Arşivleme uygulamasının
- Ö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.
- Zorunlu:
- BT yöneticisi, ÇMY'yi kullanarak Google Mesajlar'da arşivlemeyi etkinleştirir.
- 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.
- Google Mesajlar, hem RCS hem de SMS/MMS mesajları için yeni mesaj etkinliğini arşivleme uygulamasına bildirir.
- Arşivleme uygulaması, ileti verilerini
Telephony
sağlayıcıdan okur. - 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.