Kişiler ve görüşmeler

Kişiler ve görüşmeler girişimi, telefondaki sistem yüzeylerinde kişileri ve görüşmeleri öne çıkarmayı amaçlayan çok yıllık bir Android girişimidir. Bu öncelik, diğer insanlarla iletişim kurmanın ve etkileşimde bulunmanın, tüm demografik gruplardaki kullanıcılarımızın çoğu için hâlâ en değerli ve önemli işlevsel alan olmasından kaynaklanmaktadır.

Android 11'de, kullanıcılar ve görüşmeler girişimini desteklemek için çeşitli özellikler kullanıma sunuldu.

Sohbet alanı


Konuşma alanı, insanlar arasındaki anlık görüşmeler için ayrılmış bir bildirim alanıdır.
Şekil 1: İleti dizileri alanı.

Elde taşınabilir cihazlarda, bildirim gölgesinin üst kısmında yalnızca kişilerle yapılan anlık görüşmeleri (ör. aramalar ve grup sohbetleri de dahil olmak üzere sohbet mesajları) içeren ayrı bir bölüm bulunur. Bu alandaki bildirimler, birçok telefonda görüşme dışı bildirimlerden farklı görünür ve farklı şekilde çalışır:

  • Tasarım farklıdır. Sohbeti yürüten uygulama ile birlikte insanları temsil eden avatar ön plana çıkarılır.
  • Bildirime dokunulduğunda uygulamada görüşme açılır (veya görüşme daha önce balon olarak açılmışsa balon açılır). Şapka simgesine dokunulduğunda ise yeni mesajlar, seçeneklerin tam listesiyle birlikte bildirim gölgesinde tam uzunlukta genişletilir.
  • Sohbete özel işlemler sunulur (bazıları uzun basılarak):
    • Bu görüşmeyi öncelikli olarak işaretle
    • Bu görüşmeyi baloncuk olarak göster (yalnızca uygulama baloncukları destekliyorsa gösterilir)
    • Bu görüşme için bildirimleri sessize alma
    • Bu görüşme için özel sesler veya titreşimler ayarlama

Balonlar halinde görüşmeler

Bir bildirim, görüşme şartlarını karşılıyorsa platform, bildirimi bildirim çekmecesinde balon olarak başlatır.
Şekil 2: Bildirim çekmecesinden balon olarak başlatılan bildirim.

Android 11'den itibaren sohbet balonları, İleti Dizileri bölümündeki bildirimlerden başlatılabilir. Yalnızca ilişkili kısayolu olan bildirimler baloncuk olarak gösterilebilir. Önemli olarak işaretlenen veya bildirim gölgesinde baloncuk olarak gösterilmesi tetiklenen ileti dizileri otomatik olarak baloncuk olarak gösterilir.

İleti dizisi kısayolları

İleti dizilerinin kısayolları, başlatıcıda ve paylaşım sayfasındaki uzun ömürlü paylaşma kısayollarının yanında görünür.

API kuralları

Bu bölümde, uygulamanıza sistem tarafından sağlanan ve kullanıcıları ve görüşmeleri gösteren alan için destek eklemeye yönelik API'ler açıklanmaktadır.

İleti dizileri için kısayollar

Bu görüşme odaklı girişime katılmak için uygulamaların sisteme uzun ömürlü kısayollar sağlaması gerekir. Uzun süreli paylaşım kısayolları kullanmanızı önemle tavsiye ederiz. Gerekirse Android 11'de dinamik kısayolları kullanabilirsiniz ancak bu seçeneği gelecekte kaldırabiliriz.

Sohbete kısayol yayınlamak için ShortcutManagerCompat yöntemlerini setDynamicShortcuts(), addDynamicShortcuts(), veya pushDynamicShortcut() (geliştirici için kısayol sınırını otomatik olarak yönetir) çağırın. Bu kısayol uzun ömürlü olmalı ve konuşmadaki diğer katılımcıları tanımlayan bir veya daha fazla kişi için Person verileri eklenmiş olmalıdır. Ayrıca LocusIdCompat ayarını yapmanızı da öneririz.

Bir görüşme artık mevcut değilse uygulama, removeLongLivedShortcuts() ile kısayolu silebilir. Bu işlem, sistemin görüşmeyle ilişkili tüm verileri silmesine neden olur. Kısayollar kaldırılabilir olsa da uygulamalar kesinlikle gerekli olmadığı sürece önbelleğe alınmış kısayolları kaldırmamalıdır. Bir kısayolun önbelleğe alınmasının nedeni muhtemelen kullanıcının deneyimini değiştirmek için kısayolla etkileşimde bulunmasıdır. Kısayolun kaldırılması bu değişiklikleri geri alarak kullanıcının hayal kırıklığına uğramasına neden olur.

Görüşme Bildirimleri

Aşağıdaki koşullar geçerliyse bildirim, görüşme bildirimi olarak kabul edilir:

  • Bildirimde MessagingStyle kullanılıyor.

  • (Yalnızca uygulama Android 11 veya sonraki sürümleri hedefliyorsa) Bildirim, geçerli bir uzun ömürlü dinamik veya önbelleğe alınmış paylaşım kısayoluyla ilişkilendirilmelidir. Bildirim, setShortcutId() veya setShortcutInfo() numaralı telefonu arayarak bu ilişkilendirmeyi ayarlayabilir. Uygulama Android 10 veya önceki bir sürümü hedefliyorsa yedek seçenekler bölümünde belirtildiği gibi bildirimin bir kısayolla ilişkilendirilmesi gerekmez.

  • Kullanıcı, gönderi yayınlandığı sırada bildirim kanalı ayarları aracılığıyla ileti dizisini ileti dizisi bölümünden düşürmemiştir.

LocusIdCompat'ı kullanma

Cihaz üzerindeki yapay zeka, kullanıcının ilgilenme olasılığının en yüksek olduğu sohbetleri belirler. En önemli sinyaller arasında her görüşmedeki görüşme oturumlarının güncelliği ve sıklığı yer alır. Sistem, Launcher kısayollarından veya bir bildirim içinden yapılan görüşme etkileşimleri hakkında bilgi sahibidir. Ancak sistem, bu etkileşimler de etiketlenmediği sürece tamamen uygulamada gerçekleşen görüşmeler hakkında bilgi sahibi değildir. Bu nedenle, kısayola LocusIdCompat eklemenizi ve uygulama içi etkinliği veya parçayı ilişkili LocusIdCompat ile açıklama eklemenizi önemle tavsiye ederiz. Öneri sisteminin görüşmeyi düzgün şekilde sıralamasını ve sistemin kullanıcının bir görüşmeyle son etkileşiminin (uygulama içi etkileşimler dahil) doğru zamanını göstermesini sağlamak için LocusIdCompat kullanın. Görüşmeyi bir kısayolla ilişkilendirmek için setShortcutInfo() kullanıyorsanız görüşme sistemi uygun LocusIdCompat'yi otomatik olarak ekler.

Android 10 veya önceki sürümleri hedefleyen uygulamalar için görüşme alanı şartları

Android 11'i hedeflemeyen uygulamaların mesajları, görüşme alanında gösterilmeye devam edebilir. Ancak uygulamanın belirli koşulları karşılaması gerekir. Bu bölümde, söz konusu uygulamalarla ilgili şartlar ve uygulamanın şartları karşılamaması durumunda geri dönüş davranışı açıklanmaktadır.

Mesajlaşma alanına katılım için temel koşul, uygulamanın MessagingStyle bildirimlerini uygulaması ve bildirimlerin, yayınlandıkları sırada yayınlanan bildirimden uzun ömürlü bir kısayola referans vermesidir. Bu koşulları karşılayan bildirimler, sohbet alanında aşağıdaki şekilde gösterilir:

  • Bildirimler sohbet tarzında gösterilir.
  • Uygulanmışsa Bubble düğmesi sunulur.
  • Sohbete özel işlevler satır içi olarak sunulur.

Bildirim bu koşulları karşılamıyorsa platform, bildirimi biçimlendirmek için yedek seçenekleri kullanır. Bir bildirim, yedek durumların şartlarını karşılıyorsa bildirim, görüşme alanında özel biçimlendirmeyle gösterilir. Bildirim, yedekleme seçeneklerinden birine uygun değilse ileti dizisi alanında gösterilmez.

Yedek: MessagingStyle kullanılıyorsa ancak kısayol sağlanmıyorsa

Uygulama Android 10 veya önceki sürümleri hedefliyorsa ve bir bildirimde MessagingStyle kullanılıyorsa ancak mesaj bir kısayolla ilişkilendirilmiyorsa bildirim, görüşme alanında şu şekilde gösterilir:

  • Bildirimler sohbet tarzında gösterilir.
  • Sohbet balonu düğmesi sunulmuyor
  • Satır içi olarak görüşmeye özgü işlevler sunulmaz.

Yedek: MessagingStyle kullanılmıyorsa ancak uygulama tanınmış bir mesajlaşma uygulamasıysa

Bir bildirimde MessagingStyle kullanılmıyorsa ancak uygulama, platform tarafından mesajlaşma uygulaması olarak tanınıyorsa ve bildirimin category parametresi msg olarak ayarlanmışsa bildirim, sohbet alanında şu şekilde gösterilir:

  • Bildirim, Android 11 öncesi eski stilde gösteriliyor.
  • Sohbet balonu düğmesi sunulmuyor
  • Satır içi olarak görüşmeye özgü işlevler sunulmaz.

Rehberlik, kullanım ve test

Bu bölümde, sohbet özelliklerinin nasıl kullanılacağı ve test edileceği hakkında genel bilgiler verilmektedir.

Yazışmaları ne zaman kullanmalıyım?

İleti dizisi bildirimleri ve ilgili kısayollar, anlık ileti dizilerinin kullanıcı deneyimini iyileştirmek için tasarlanmıştır. Örneğin, SMS, metin sohbetleri ve telefon görüşmeleri, kullanıcıların hızlı iletişim kurmayı beklediği gerçek zamanlı görüşmelerdir. Kullanıcılar, e-postalar ve mesaj dizileriyle ilgili olmayan etkinlikler için bu beklentiye sahip değildir.

Kullanıcılara, uygun olmadığını düşündükleri sohbetleri sohbet bölümünden kaldırma olanağı sunduk.

En iyi uygulamalar

Etkileşimi artırmak ve kullanıcılarınızın uygulamanızdaki kişilerle ve sohbetlerle etkileşim kurmasını kolaylaştırmak için aşağıdaki en iyi uygulamaları öneririz.

  • Cevapsız aramaların öncelikli ileti dizisi gölgesinde gösterildiğinden ve dönüşüm widget'ında doğru şekilde göründüğünden emin olmak için cevapsız arama bildirimlerini conversations olarak biçimlendirin ve kategoriyi CATEGORY_MISSED_CALL olarak ayarlayın.
  • Kullanıcılara yüksek kaliteli avatarlar (104 dp) sağlayın. Aksi takdirde sistem, kişinin baş harflerini kullanır. Bu da daha az ilgi çekici bir deneyimdir.
  • Kullanıcı mesajı görmeden önce cancel bir sohbet bildirimini. Bunun bir örneği, uygulamayı kullanıcının iletiyi göremeyeceği veya ile ilgilenemeyeceği bir görünümde açarken bildirimi iptal etmektir. Kullanıcıya mesajı okuma veya mesajla ilgili işlem yapma fırsatı verilmezse iptal edilen bildirim ve ilişkili balon kaldırılır. Bu durum, görüşme bağlamının kaybolmasına neden olur.
  • İletilerle ilişkili MIME ile ilgili meta veriler için data URI'si sağlayın. Bu, bildirimlerde daha zengin bir deneyim sunmanıza olanak tanır.
  • Android 12 status API'yi kullanarak sohbet widget'larını daha ilgi çekici hale getirin.
  • Sohbet kısayolları için aşağıdaki en iyi uygulamaları benimseyin.
    • Push bildirimi göndermeyen gelen ve giden uygulama içi görüşmeler için kısayollar yayınlayın. Aynı yazışmadaki gelen ve giden iletiler aynı kısayol kimliğine sahip olmalıdır. Kısayollarınızı yayınlamak ve kullanım raporu oluşturmak için pushDynamicShortcut() simgesini kullanın.
    • Kısayol avatarınızın istenmeden kırpılmasını önlemek için kısayol simgesi için bir AdaptiveIconDrawable sağlayın. Daha ayrıntılı bilgi için Kısayol resimleri sağlama başlıklı makaleyi inceleyin.
    • Sistemin kısayolunuzu tanıtmasına yardımcı olmak için en iyi sıralamayı elde etme yönergelerini uygulayın. Kısayolunuz, paylaşım kısayoluysa Android paylaşım sayfası da dahil olmak üzere farklı sistem yüzeylerinde sıralanır.
    • İleti dizisi kısayollarının intents doğrudan ilgili ileti dizisinde başlatıldığından emin olun.
    • Kısayollarınızı conversation ile ilgili olarak kolayca ayarlamak için uyumluluk kitaplıklarını kullanın.

Görüşme bildirimlerini ve kısayollarını test etme

Bir görüşmeye uzun bastığınızda görüşmeyle ilgili işlemlerin yer aldığı bir menü açılır.
Şekil 3: Bir görüşme bildirimine uzun basarak ve görüşme menüsünün göründüğünü kontrol ederek görüşme bildiriminin doğru şekilde yapılandırıldığını doğrulayabilirsiniz.

Görüşme alanı kurallarına uyarsanız görüşmeler görüşme alanında otomatik olarak görünür. Bildirime uzun basarak kısayolun düzgün şekilde entegre edildiğini doğrulayabilirsiniz. Entegrasyon doğru şekilde yapıldıysa kullanıcı arayüzünde sohbetle ilgili işlemler gösterilir. Bildirim bir kısayola bağlı değilse kullanıcı arayüzünde, uygulamanın sohbet özelliklerini desteklemediğini belirten bir metin gösterilir.

Eklenen kısayollar, uygulama başlatıcıya uzun basıldığında gösterilir. Kısayolların sizi uygulamanızda doğru yere yönlendirdiğini test ettiğinizden emin olun.

Eklenen paylaşım kısayolları, paylaşım kısayolunuzun alabileceği içerikler paylaşılırken paylaşım sayfasının doğrudan paylaşım satırında gösterilir.

İletişim Widget'ları

İletişim widget'larında gösterilen görüşmeler
Şekil 1: İletişim widget'larında gösterilen görüşmeler.

Android 12'deki İletişim Widget'ı özelliği, uygulamaların iletişim widget'larında iletişim durumunu göstermesine olanak tanıyarak Android 11'de kullanıma sunulan kişiler ve iletişimler özelliğini temel alır.

Etkileşim widget'ları, kullanıcıların ana ekranda sohbetleri kolayca açmasına olanak tanıyarak kullanıcı etkileşimini artırır. Bu widget'lar, kullanıcıların sohbet durumlarının kesitlerini veya diğer ilgili bilgileri gösterirken sohbetlerine verimli bir şekilde geri dönmelerini sağlayan gelişmiş kısayollardır.

Uygulamanızın sohbet widget'larını desteklediğini doğrulayın.

Uygulamanızın sohbet widget'larını desteklediğini doğrulamak için en az iki Android cihazınız (ikisinde de Android 12 yüklü olmalı) ve mesaj alışverişi yapmak için iki kullanıcı hesabınız (her cihazda bir tane) olmalıdır. Bu prosedürde, hesaplara "A kullanıcısı" ve "B kullanıcısı" adını vereceğiz.

Yeni bir sohbet widget'ı eklemek için widget seçici kullanıcı arayüzü
Şekil 2: Yeni bir sohbet widget'ı eklemek için widget seçici kullanıcı arayüzü.

Aşağıdaki adımları tamamlayın:

  1. A kullanıcısının cihazında başlatıcıya uzun basın. Widget seçicide, Şekil 2'de gösterildiği gibi bir görüşme için yeni bir widget'a dokunun.
  2. Widget'ı ana ekrana sürükleyin. A kullanıcısının uygulamasındaki etkin veya son görüşmelerin listesi seçilebilir olmalıdır.
  3. Şimdi B kullanıcısının cihazında A kullanıcısına bir test mesajı gönderin.
  4. A kullanıcısının cihazına geri dönerek widget'ın, B kullanıcısından gelen mesajın bildirimiyle güncellendiğini doğrulayın.
  5. İsteğe bağlı: Her iki kullanıcının da (A ve B) görüşmeyi farklı durum değerlerine ayarlayarak widget'larının bu değerleri doğru şekilde yansıttığından emin olun. Durum değerlerinin listesi için ConversationStatus konusuna bakın.