Görüşme Bildirimleri ve Widget'lar

Android 11 Görüşmeler Önemli ve konuşma özgü olarak işaretlenmesi için izin öncelik Bildirimler gölgesinde Konuşma bildirimleri davranışını ve yerleşimini özelleştirme ve seviyesini uyarmak için destek ekler kabarcıklar Konuşma uzayda açılacak.

Bu Android 11 özelliklerini temel alan Android 12, iki yeni Konuşma özelliği sunar:

  • Ayarlar'daki Son Konuşmalar özelliği, kullanıcıların bir bildirim beklemeden son konuşmalar için bildirim davranışını özelleştirmesini sağlar.

  • Konuşma Widget'ı özelliği, kullanıcıların sohbetleri ana ekranda kolayca açmasını sağlayarak son konuşmaların hızlı bir görünümünü verir.

Bu belge, Konuşma Bildirimleri ve pencere öğelerinin uygulama, özelleştirme ve doğrulama yönlerini açıklar.

Görüşme Bildirimlerine genel bakış

Robot 11 tanıtır mevcut temsil edilir ilkel yeni bir sistem, Konuşma, paylaşım kısayol nesnesi (Android 9 ile haddelenmiştir).

Conversations ilkel aşağıdaki gibi kullanılabilir:

  • Aracılığıyla sisteme genelindeki uygulamalarda arasındaki konuşmalar verilerini paylaşmak için Sharesheet (zaten Android 10'da).

  • Sürüş İçin kabarcıklar ( kısayolları Android 11'de). Bkz Şekil 1 .

  • Bildirim gölgesinin üstündeki yeni Konuşma alanına katılmak için (Android 11'de uygulanmaktadır). Bkz Şekil 2 .

  • Oluşturmak için Konuşma Widget'larını (Android 12 uygulanmıştır).

    conv_bubbles

    Şekil 1: Bildirim çekmecesinden bir kabarcık olarak başlatılmaktadır

    conv_notification

    Şekil 2: Bildirim gölge üstünde bulunan Konuşma alanı

Konuşma temsil kısayol bağlantı yanı sıra, bildirim de kullandığı MessagingStyle Konuşma uzayda konuşmanın son mesajı içerecek şekilde.

GMS ortaklarının aşağıdakileri uygulaması gerekir:

  • Bildirim gölgesinin üstünde ayrı bir bölüm olarak yeni bir Konuşma alanı.
  • Konuşmaya özel balon düzenine izin veren ve bunu destekleyen bir bildirim stili.

Konuşmaları uygulayan iş ortaklarının da Önemli konuşmaları uygulaması gerekir. Ancak, Konuşmaların uygulanması benzer nitelikteki OEM kavramlarıyla uyumlu hale getirilebilir. Genel olarak, iş ortakları, konuşma bölümünü belirli Sistem Kullanıcı Arayüzü ile 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 başvuru 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/

doğrulama

Özellik sürümünüzün amaçlandığı gibi çalıştığından emin olmak için aşağıdakileri doğrulayın:

  1. Tamamen Konuşma API destekleyen uygulamalar yeni bölümünde kendi bildirimlerine bakın ve oldukça jenerik tarafından daha görüşmeye göre bu bildirimleri özelleştirebilirsiniz NotificationChannel .

  2. Konuşmaya özel baloncuklar çalışıyor.

Uygulamayı doğrulamak için bildirim paketinde aşağıdaki testleri kullanın:

  • KTS testleri.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • CTS Doğrulayıcı testleri.

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

Konuşma Widget'larına genel bakış

Android 12'de, Konuşma Widget'ı özelliği, uygulamaların Konuşma Widget'larında görüntülenen konuşmalar için durum sağlamasına izin vererek Android 11'de (önceki bölümde açıklandığı gibi) oluşturulan Konuşma temsillerini temel alır.

conv_widgets

Şekil 3: ileti dizileri Konuşma Widget'lar görüntülenen

Android 12'deki Konuşma Widget'ı özelliği, kullanıcıların sohbetleri ana ekranda kolayca açmasına izin vererek bağlantıyı destekler. Widget'lar, kullanıcıların konuşma durumlarının snippet'lerini gösterirken konuşmalarına verimli bir şekilde geri dönmelerini sağlayan gelişmiş kısayollardır.

Ortak aşağıdakileri uygulamalıdır:

  1. SystemUI tarafından sağlanan bir widget.
  2. Bu widget'ları widget seçme ekranından eklemek için bir akış.
  3. Widget yeniden boyutlandırma desteği aşağıdaki gibidir:

Konuşma Widget'larını uygularken aşağıdaki bağımlılıkların farkında olun:

  • İş ortağının HAL/sürücü/çekirdek kodunu değiştirmesi veya uygulaması gerekmez.
  • Uygulamaların bir görüşmeye durum veya uygunluk bilgisi eklemesine izin veren Durum API'si ve ilgili pencere öğesi, uygulama için kullanılır.
  • İşlem, hem yeni cihaz uygulamalarında hem de yükseltme uygulamasında aynıdır.
  • Konuşma Widget'ları özelliği, Android 12'de başlatılan ve yakın zamanda görülen konuşmaları (örneğin bildirimlerden) önbelleğe alan yeni bir özelliğe bağımlıdır. Bu ikinci özellik, bir kullanıcının potansiyel olarak ana ekranına ekleyebileceği konuşmaların listesini genişletmeye olanak tanır.

SystemUI ve Launcher3 dosyalarında aşağıdaki başvuru 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

Konuşma Widget'ları özelliği açılamaz veya kapatılamaz. Ancak, bir ortak, GMS gereksinimleri karşılandığı sürece, widget şablonlarının yerleşimlerini değiştirebilir.

doğrulama

Özellik sürümünüzün amaçlandığı gibi çalıştığından emin olmak için aşağıdakileri doğrulayın:

  1. Başlatıcı'ya uzun süre basıldığında, widget seçici aracılığıyla bir Konuşma için yeni bir Konuşma Widget'ı eklenebilir. Widget seçici kullanıcı arayüzü için şekil 4'e bakın:

    widget_picker

    Şekil 4: Araç seçici UI yeni Konuşma Widget ekleyin

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

  3. Kullanarak bu Konuşmaya durumları uygulayarak On ConversationStatus API, 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'ın yeniden boyutlandırılmasında 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 gereksinimi için manuel testler - Konuşmalar.