Bu sayfada, Android 9'da Gerçek Zamanlı Mesaj (RTT) özelliğinin nasıl uygulanacağı açıklanmaktadır. RTT, işitme engelli veya işitme kaybı olan kullanıcılar için geliştirilmiş bir özelliktir ve teletayp (TTY) teknolojisinin yerini alır. Bu özellik sayesinde cihazlar, sesli ve RTT aramaları için aynı telefon numarasını kullanabilir, metinleri karakter karakter yazılırken eş zamanlı olarak iletebilir, 112 iletişimi destekleyebilir ve TTY ile geriye dönük uyumluluk sağlayabilir.
RTT aramalarında hem arayan hem de aranan, RTT araması yaptığını gösteren bir işaret görür. Bağlandıktan sonra her iki taraf da metin girişinin ve klavyenin etkinleştirildiği RTT görüşmesine girer. Yazarken metin, karakter karakter yazıldığı gibi görünür ve gönderilir.
Örnekler ve kaynak
Framework bileşenleri AOSP'de Call.RttCall ve Connection.RttTextStream altında kullanılabilir. IMS/modem bileşenleri tescillidir ve IMS/modem satıcısı tarafından sağlanmalıdır. Çevirici RTT referans uygulaması da mevcuttur.
RTT için AOSP Dialer kodu:
- InCall: /java/com/android/incallui/rtt
- Arama günlüğü: /java/com/android/dialer/rtt
Uygulama
RTT'yi uygulamak için RTT'yi destekleyen bir modem gerektiğinden modem/SoC sağlayıcıyla çalışmanız gerekir. Android 9'a yükseltebilir veya bir dizi telefon görüşmesi çerçevesi yamasını Android 8.0'a geri aktarabilirsiniz. Android 8.0 AOSP'de eklenen API'ler çalışmaz.
Bu özellik, android.telecom bölümünde AOSP'deki herkese açık API'leri ve android.telephony.ims bölümünde @SystemApis'i kullanır. Tüm kullanıcı arayüzü com.android.phone ve AOSP çeviricisinde yer alır.
RTT'yi uygulamak için AOSP kodunu içe aktarın ve RTT için IMS tarafındaki @SystemApis'i uygulayan bir IMS yığını sağlayın. Bu işlem için şunlar gerekir:
- ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)kullanarak RTT'yi etkinleştirme/devre dışı bırakma
- ImsStreamMediaProfile#mRttModekullanarak aramanın RTT durumunu belirtme
- ImsCallSession'da aşağıdaki yöntemler desteklenir:- sendRttMessage
- sendRttModifyRequest
- sendRttModifyResponse
 
- ImsCallSessionListener'da aşağıdaki yöntemlerin çağrılması desteklenir:- callSessionRttModifyRequestReceived
- callSessionRttModifyResponseReceived
- callSessionRttMessageReceived
 
Özelleştirme
Bu özelliği cihaz yapılandırmasını kullanarak etkinleştirebilir veya devre dışı bırakabilirsiniz.
config_support_rtt, packages/services/Telephony için cihaz yapılandırması yer paylaşımında ve operatör yapılandırma dosyalarındaki operatör yapılandırma işaretinde,
CarrierConfigManager.RTT_SUPPORTED_BOOL.
Yapılandırmaya bağlı olarak özellik, erişilebilirlik ayarlarından kullanılabilir veya kullanılamaz. Varsayılan ayarları değiştirmek için cihaz yapılandırmasını kullanın. Bu özellik varsayılan olarak devre dışıdır.
Doğrulama
RTT uygulamanızı doğrulamak için CTS testlerini çalıştırın ve çevirici RTT testini gerçekleştirin.
CTS testi
CTS testleri (android.cts.telecom.RttOperationsTest), uygulamanın AOSP bölümünü kapsar. Uygulamanın IMS yığını bölümü için kendi testlerinizi sağlamanız gerekir.
Çevirici RTT testi
| Senaryo açıklaması | UI mock | 
|---|---|
| Cihazda RTT devre dışıysa RTT ile ilgili bir iletişim kutusu gösterilir. | |
| Çevirici ayarlarında, Ayarlar > Erişilebilirlik bölümünde farklı bir RTT modu seçme seçeneği sunan bir Gerçek Zamanlı Mesaj ekranı bulunur. | |
| RTT varsayılan olarak etkinleştirildiğinde: 
 | |
| Cihazda RTT devre dışıysa: 
 | |
| Cihazda RTT etkinse ve tüm aramaları RTT olarak yanıtlamak için varsayılan ayar yapılmışsa: 
 | |
| RTT'nin arama içi kullanıcı arayüzünde, kullanıcılara sesli aramanın durumunu kontrol etme ve RTT'yi kullanma konusunda genel yardım alma seçenekleri sunulur: 
 | |
| Arama ayrıntıları ekranında, Çeviri yazıyı göster bağlantısını seçtiğinizde RTT oturumunun tam metnini içeren tam bir görüşme görünümü gösterilir. Zaman damgaları gösterilir. Kullanıcı, geri düğmesini kullanarak Arama ayrıntıları ekranına dönebilir. |