Kişiler ve görüşmeler

Kişiler ve görüşmeler girişimi, telefonun 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.

Görüşme 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 uygulamayla 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 işaretine dokunulduğunda ise yeni mesajlar, seçeneklerin tam listesiyle birlikte gölgede 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

Baloncuklar halinde görüşmeler

Bir bildirim, görüşme şartlarını karşılıyorsa platform, bu 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 (geliştiricinin kısayol sınırını otomatik olarak yönetir) çağırın: setDynamicShortcuts(), addDynamicShortcuts() veya pushDynamicShortcut(). 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. Kısayollar, kullanıcının deneyimini değiştirmek için etkileşimde bulunduğu için önbelleğe alınmış olabilir. 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şkilendirilmiş olmalıdır. Bildirim, setShortcutId() veya setShortcutInfo() numaralarını arayarak bu ilişkilendirmeyi ayarlayabilir. Uygulama Android 10 veya önceki sürümleri hedefliyorsa yedek seçenekler bölümünde belirtildiği gibi bildirimin bir kısayolla ilişkilendirilmesi gerekmez.

  • Kullanıcı, yayınlama sırasında 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 (doğru şekilde etiketlenmişse). Ancak sistem, bu etkileşimler de etiketlenmediği sürece tamamen uygulama içinde gerçekleşen görüşmeler hakkında bilgi sahibi olmaz. 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'ı 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 şartları karşılaması gerekir. Bu bölümde, söz konusu uygulamalarla ilgili şartlar ve uygulamanın şartları karşılamaması durumunda yedek 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, yedek seçeneklerden 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, aşağıdaki davranışla birlikte görüşme alanında 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ğiyle ilgili 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, uygunsuz olduğunu düşündükleri bir görüşmeyi görüşme 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 iletideki sorunu çözemeyeceği bir görünümde açarken bildirimi iptal etmektir. Kullanıcıya mesajı okuma veya yanıtlama 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.
  • Konuşma 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 sohbete uzun bastığınızda, sohbetle 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 bildirimin 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 edin.

Eklenen paylaşma kısayolları, paylaşma kısayolunuzun alabileceği içerikler paylaşılırken paylaşım sayfasının doğrudan paylaşma 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 snippet'lerini veya diğer alakalı 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ğrulama

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 görüşme widget'ı eklemek için widget seçici kullanıcı arayüzü
Şekil 2: Yeni bir görüşme 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 ileti dizisi 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'a bakın.