Android 11, görüşme bildirimlerinin davranışını ve bildirim gölgesindeki yerleşimini öncelik ve uyarı düzeyine göre özelleştirme desteği ekler. Bu sayede, görüşmelerin Önemli olarak işaretlenmesine ve görüşmeye özel balonların görüşme alanında başlatılmasına olanak tanır.
Android 12, Android 11'deki bu özelliklerin üzerine iki yeni ileti dizisi özelliği ekler:
Ayarlar'daki Son Görüşmeler özelliği, kullanıcıların bildirim beklemeden son görüşmelerle ilgili bildirim davranışını özelleştirmesini sağlar.
Görüşme widget'ı özelliği, kullanıcıların ana ekranda sohbetleri kolayca açmasına olanak tanır ve son görüşmeleri hızlıca görüntülemelerini sağlar.
Bu belgede, ileti dizisi bildirimlerinin ve widget'larının uygulama, özelleştirme ve doğrulama yönleri açıklanmaktadır.
Görüşme bildirimlerine genel bakış
Android 11, mevcut paylaşım kısayolu nesnesi (Android 9 ile kullanıma sunulmuştur) ile temsil edilen yeni bir sistem ilkel öğesi olan İleti dizisi'ni kullanıma sunar.
Conversations ilkel öğesi aşağıdaki şekilde kullanılabilir:
Paylaşım sayfası üzerinden (Android 10'da mevcuttur) sistemdeki uygulamalar arasında Sohbetler verilerini paylaşmak için.
Balonlar(Android 11'de kısayollar) için. Şekil 1'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.
Görüşme 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 görüşmenin son mesajını görüşme alanına eklemek için MessagingStyle'ı da kullanır.
GMS iş ortaklarının aşağıdakileri uygulaması gerekir:
- Bildirim gölgesinin üst kısmında ayrı bir bölüm olarak yeni bir Görüşmeler alanı.
- Görüşmeye özgü baloncuk desenine izin veren ve bu desenleri destekleyen bir bildirim stili.
Conversations'ı uygulayan iş ortaklarının Önemli ileti dizilerini de uygulaması gerekir. Ancak Conversations'ın uygulanması, benzer nitelikteki OEM kavramlarıyla uyumlu olabilir. Genel olarak iş ortakları, görüşme 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'teki SystemUI ve PeopleService bölümlerinde aşağıdaki referans uygulamaya 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/
Doğrulama
Özelliğin kendi sürümünüzde amaçlandığı gibi ç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 paketindeki 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'de İleti Dizisi Widget'ı özelliği, Android 11'de oluşturulan İleti Dizisi temsillerini temel alır (önceki bölümde açıklandığı gibi). Bu sayede uygulamalar, İleti Dizisi Widget'larında gösterilen ileti dizilerinin durumunu sağlayabilir.
Şekil 3: İleti dizisi widget'larında gösterilen ileti dizileri
Android 12'deki Sohbet Widget'ı özelliği, kullanıcıların ana ekranda sohbetlerini kolayca açmasına olanak tanıyarak bağlantıyı destekler. Widget'lar, kullanıcıların görüşme durumlarının snippet'lerini gösterirken görüşmelerine verimli bir şekilde geri dönmelerine olanak tanıyan 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ı eklemek için bir akış.
- Widget'ların yeniden boyutlandırılması aşağıdaki şekilde desteklenir:
- Kullanıcı düzen boyutunu değiştirdiğinde veya yatay döndürdüğünde düzeni daha iyi boyutlu bir düzene değiştirmek için
onAppWidgetOptionsChanged()
simgesini kullanın. - Widget boyutu değişikliklerinizi doğru şekilde sınırlamak için
maxResizeHeight
,maxResizeWidth
,minWidth
,minHeight
,minResizeWidth
,minResizeHeight
değerlerini kullanın.
- Kullanıcı düzen boyutunu değiştirdiğinde veya yatay döndürdüğünde düzeni daha iyi boyutlu bir düzene değiştirmek için
Görüşme widget'larını uygularken aşağıdaki bağımlılıklara dikkat edin:
- İş ortağının HAL/sürücü/çekirdek kodunu değiştirmesi veya uygulaması gerekmez.
- Uygulamaların bir görüşmeye ve ilişkili widget'a durum veya müsaitlik durumu bilgisi eklemesine olanak tanıyan Status API, uygulama için kullanılır.
- Bu süreç hem yeni cihaz uygulamalarında hem de yükseltme uygulamalarında aynıdır.
- İleti dizileri widget'ı özelliği, Android 12'de kullanıma sunulan ve son görüntülenen ileti dizilerini (ör. bildirimlerden) önbelleğe alan yeni bir özelliğe bağlıdır. Bu özellik, kullanıcının ana ekranına ekleyebileceği ileti dizileri listesini genişletmenize olanak tanır.
SystemUI ve Launcher3 dosyalarında aşağıdaki referans uygulamaya 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
Görüşme widget'ı özelliği etkinleştirilemez veya devre dışı bırakılamaz. Ancak iş ortakları, GMS şartları karşılandığı sürece widget şablonlarının düzenlerini değiştirebilir.
Doğrulama
Özelliğin kendi sürümünüzde amaçlandığı gibi çalıştığından emin olmak için aşağıdakileri doğrulayın:
Başlatıcı'ya uzun basarak widget seçici üzerinden bir görüşme için yeni bir görüşme widget'ı ekleyebilirsiniz. Widget seçici kullanıcı arayüzü için 4. resme bakın:
Şekil 4: Yeni bir ileti dizisi widget'ı eklemek için widget seçici kullanıcı arayüzü
Seçilen ileti dizisinden cihaza bildirim gönderildiğinde widget, bu bildirimleri yansıtacak şekilde güncellenir.
ConversationStatus
API'si kullanılarak bu ileti dizisine durum uygulandığında widget bu durumları yansıtır.Kullanıcılar widget'ları yeniden boyutlandırabilir ve widget'lar mevcut başlatıcıya göre boyutlarını değiştirebilir. Widget düzenleriniz, farklı cihazlardaki farklı başlatıcı boyutlarıyla ve widget'ın yeniden boyutlandırılmasıyla iyi çalışmalıdır.
Uygulamayı doğrulamak için bildirim paketindeki aşağıdaki testleri kullanın:
API platformları için CTS testleri (PeopleManagerTest).
cts/tests/app/src/android/app/cts/NotificationManagerTest.java
GMS şartı için manuel testler - Conversations.