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 sohbetleri ana ekranda kolayca açmasına olanak tanıyarak son görüşmelerin hızlı bir şekilde görüntülenebilmesini sağlar.
Bu belgede, ileti dizisi bildirimlerinin ve widget'larının uygulama, özelleştirme ve doğrulama özellikleri 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.
İleti dizileri ilkel öğesi aşağıdaki gibi 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. Bkz. Şekil 1.
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 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 Sohbetlerin uygulanması, benzer nitelikteki OEM kavramlarıyla uyumlu hale getirilebilir. 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 kodu/uzantıları 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 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 dizisi 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: Görüşme widget'larında gösterilen görüşmeler
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ış.
- Aşağıdaki boyutlarda widget yeniden boyutlandırma desteği:
- 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 bağlamak için
maxResizeHeight
,maxResizeWidth
,minWidth
,minHeight
,minResizeWidth
veminResizeHeight
tuşlarını 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
Sohbet 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 ya da müsaitlik durumu bilgileri 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 ekleyebildiği ileti dizilerinin listesini genişletmenize olanak tanır.
SystemUI ve Launcher3 dosyalarındaki 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
Sohbet 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
Sahip olduğunuz özelliğin beklendiği gibi çalıştığından emin olmak için aşağıdakileri doğrulayın:
Başlatıcı'ya uzun bastığınızda, 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 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 kullanılarak söz konusu Sohbete durumlar 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.