Görüşme bildirimleri ve widget'ları

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).

    conv_bubbles

    Şekil 1: Bildirim çekmecesinden baloncuk olarak başlatılan bildirim

    conv_notification

    Ş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:

  1. 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.

  2. 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.

conv_widgets

Ş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:

  1. SystemUI tarafından sağlanan bir widget.
  2. Widget seçme ekranından bu widget'ları ekleme akışı.
  3. Widget'ların yeniden boyutlandırılmasıyla ilgili aşağıdaki destekler eklendi:

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:

  1. 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:

    widget_picker

    Şekil 4: Yeni bir İletişim Widget'ı eklemek için widget seçici kullanıcı arayüzü

  2. Seçilen görüşmeden cihaza bildirim gönderildiğinde widget, bu bildirimleri yansıtacak şekilde güncellenir.

  3. ConversationStatus API'si kullanılarak bu yazışmaya durumlar uygulandığında widget bu durumları yansıtır.

  4. 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.