Android 11, görüşme bildirimlerinin davranışını ve yerleşimini önceliğe ve uyarı düzeyine göre özelleştirme desteği ekler. Bu sayede görüşmeler Önemli olarak işaretlenebilir ve görüşmeye özel balonlar, görüşme alanında başlatılabilir.
Android 11'deki bu özelliklerden yararlanan Android 12, iki yeni Sohbet özelliği sunuyor:
Ayarlar'daki Son Görüşmeler özelliği, kullanıcıların bildirim beklemelerine gerek kalmadan son görüşmelerin bildirim davranışını özelleştirmesine olanak tanır.
Etkileşim widget'ı özelliği, kullanıcıların ana ekranda sohbetleri kolayca açmasını sağlar ve son etkileşimlere hızlıca göz atmalarına olanak tanır.
Bu belgede, sohbet bildirimleri ve widget'larının uygulanması, özelleştirilmesi ve doğrulanmasıyla ilgili konular açıklanmaktadır.
Görüşme bildirimlerine genel bakış
Android 11, mevcut paylaşım kısayolu nesnesi (Android 9 ile kullanıma sunulmuştu) ile temsil edilen yeni bir sistem öğesi olan Conversation'ı kullanıma sunuyor.
Görüşmeler öğesi aşağıdaki gibi kullanılabilir:
Paylaşım sayfası aracılığıyla sistemdeki uygulamalar arasında Mesajlaşmalar verilerini paylaşmak için (Android 10'da zaten mevcuttur).
Android 11'deki sürüş balonları(kısayollar) için. 1. Şekil'e bakın.
Bildirim gölgesinin üst kısmındaki yeni Görüşme alanına katılmak için (Android 11'de uygulanmıştır). Şekil 2'ye bakın.
İletişim widget'ları oluşturmak için (Android 12'de uygulanır).
Şekil 1: Bildirim çekmecesinden baloncuk olarak başlatılan bildirim
Şekil 2: Bildirim gölgesinin üst kısmında bulunan görüşme alanı
Bildirim, görüşmeyi temsil eden kısayola bağlantı vermenin yanı sıra MessagingStyle'ı kullanarak görüşmenin son mesajını Görüşme alanına ekler.
GMS iş ortaklarının aşağıdakileri uygulaması gerekir:
- Bildirim gölgesinin üstünde ayrı bir bölüm olarak yeni bir Görüşmeler alanı.
- Görüşmeye özgü baloncuk desenine izin veren ve bu deseni destekleyen bir bildirim stili.
İleti Dizileri'ni uygulayan iş ortaklarının Önemli İleti Dizileri'ni de uygulaması gerekir. Ancak, Sohbetler'in uygulanması, benzer nitelikteki OEM konseptleriyle uyumlu olabilir. Genel olarak iş ortakları, sohbet bölümünü kendi sistem kullanıcı arayüzleriyle uyumlu hale getirme özgürlüğüne sahiptir. İş ortağının HAL/sürücü/çekirdek kodunu/uzantılarını değiştirmesi veya uygulaması gerekmez.
AOSP'deki SystemUI ve PeopleService bölümlerinde aşağıdaki referans uygulamayı inceleyin:
frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/
Doğrulama
Özelliğin sürümünüzde amaçlandığı şekilde çalıştığından emin olmak için aşağıdakileri doğrulayın:
Conversation API'yi tam olarak destekleyen uygulamalar, bildirimlerini yeni bölümde görür ve bu bildirimleri genel NotificationChannel yerine görüşmeye göre özelleştirebilir.
Görüşmeye özel baloncuklar çalışıyor.
Uygulamayı doğrulamak için bildirim paketinde aşağıdaki testleri kullanın:
CTS testleri.
cts/tests/app/src/android/app/cts/NotificationManagerTest.java
CTS Doğrulayıcı testleri.
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
İletişim widget'larına genel bakış
Android 12'deki İletişim Widget'ı özelliği, uygulamaların İletişim Widget'larında gösterilen bu görüşmelerin durumunu sağlamasına olanak tanıyarak Android 11'de oluşturulan İletişim temsillerini (önceki bölümde açıklandığı gibi) temel alır.
Şekil 3: İletişim widget'larında gösterilen görüşmeler
Android 12'deki Sohbet Widget'ı özelliği, kullanıcıların ana ekranda sohbetleri kolayca açmasına olanak tanıyarak bağlantıyı teşvik eder. Bu widget'lar, kullanıcıların görüşme durumlarıyla ilgili snippet'ler gösterirken görüşmelerine verimli bir şekilde geri dönmelerini sağlayan gelişmiş kısayollardır.
İş ortağı aşağıdakileri uygulamalıdır:
- SystemUI tarafından sağlanan bir widget.
- Widget seçme ekranından bu widget'ları ekleme akışı.
- Widget'ların yeniden boyutlandırılmasıyla ilgili aşağıdaki destekler eklendi:
- Kullanıcı Düzen Boyutu'nu değiştirdiğinde veya yatay moda döndüğünde düzeni daha iyi boyutlandırılmış bir düzene değiştirmek için
onAppWidgetOptionsChanged()
kullanın. - Widget boyutunuzdaki değişiklikleri doğru şekilde sınırlamak için
maxResizeHeight
,maxResizeWidth
,minWidth
,minHeight
,minResizeWidth
,minResizeHeight
kullanın.
- Kullanıcı Düzen Boyutu'nu değiştirdiğinde veya yatay moda döndüğünde düzeni daha iyi boyutlandırılmış bir düzene değiştirmek için
Sohbet widget'larını uygularken aşağıdaki bağımlılıkları göz önünde bulundurun:
- İş ortağının HAL/sürücü/çekirdek kodunu değiştirmesi veya uygulaması gerekmez.
- Uygulamaların bir sohbete ve ilişkili widget'a durum veya kullanılabilirlik bilgileri eklemesine olanak tanıyan Status API, uygulama için kullanılır.
- Bu işlem hem yeni cihaz uygulamalarında hem de yükseltme uygulamalarında aynıdır.
- İletişim widget'ları özelliği, Android 12'de kullanıma sunulan ve son görülen görüşmeleri (ör. bildirimlerden) önbelleğe alan yeni bir özelliğe bağlıdır. Bu özellik, kullanıcının ana ekranına ekleyebileceği görüşme listesini genişletmesine olanak tanır.
SystemUI ve Launcher3 dosyalarındaki aşağıdaki referans uygulamasına bakın:
frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/
Özelleştirme
Sohbet widget'ları özelliği etkinleştirilemez veya devre dışı bırakılamaz. Ancak bir iş ortağı, GMS şartları karşılandığı sürece widget şablonlarının düzenlerini değiştirebilir.
Doğrulama
Özelliğin sürümünüzde amaçlandığı şekilde çalıştığından emin olmak için aşağıdakileri doğrulayın:
Başlatıcı'ya uzun basıldığında, widget seçici aracılığıyla bir görüşme için yeni bir Görüşme Widget'ı eklenebilir. Widget seçici kullanıcı arayüzü için 4. şekle bakın:
Şekil 4: Yeni bir İletişim Widget'ı eklemek için widget seçici kullanıcı arayüzü
Seçilen görüşmeden cihaza bildirim gönderildiğinde widget, bu bildirimleri yansıtacak şekilde güncellenir.
ConversationStatus
API'si kullanılarak bu yazışmaya durumlar uygulandığında widget bu durumları yansıtır.Kullanıcılar widget'ları yeniden boyutlandırabilir ve widget'lar, mevcut başlatıcılarına göre boyutlarını değiştirebilir. Widget düzenleriniz, farklı cihazlarda ve widget'ı yeniden boyutlandırırken farklı başlatıcı boyutlarıyla iyi çalışmalıdır.
Uygulamayı doğrulamak için bildirim paketinde aşağıdaki testleri kullanın:
API yüzeyleri için CTS testleri (PeopleManagerTest).
cts/tests/app/src/android/app/cts/NotificationManagerTest.java
GMS şartı için manuel testler - Sohbetler.