İnsanlar ve konuşmalar girişimi, telefonun sistem yüzeylerinde insanlar ve konuşmalar iyileştirmeyi amaçlayan çok yıllık bir Android girişimidir. Bu öncelik, diğer kullanıcılarla iletişimin ve etkileşimin tüm demografik gruplardaki kullanıcılarımızın çoğunluğu için hâlâ en değerli ve önemli işlevsel alan olduğu gerçeğine dayanmaktadır.
İnsanlar ve konuşmalar girişimini desteklemek için Android 11'de çok sayıda özellik kullanıma sunuldu.
Görüşme alanı
![Sohbet alanı, insanlar arasında gerçek zamanlı görüşmeler yapmaya özel bir bildirim alanıdır.](https://developer.android.com/static/images/guide/topics/ui/conversations-conv-space.png?authuser=0000&hl=tr)
Avuç içi cihazlarda, bildirim gölgesinin üst tarafında yalnızca kişilerle gerçek zamanlı sohbetlerin (ör. aramalar ve grup sohbetleri dahil sohbet mesajları) yer aldığı ayrı bir bölüm bulunur. Bu alandaki bildirimler, çoğu telefondaki görüşme dışı bildirimlerden farklı görünür ve davranır:
- Tasarım farklı olduğundan kişileri temsil eden avatar'ı vurgulayarak sohbeti yürütüyor uygulama.
- Bildirime hafifçe dokunulduğunda, uygulamadaki ileti dizisi açılır (veya konuşma daha önce baloncuk olarak işaretlendiyse balon); düzeltme işaretine dokunulduğunda, gölgedeki yeni mesajlar seçeneklerin tam listesiyle birlikte tam uzunlukta genişletilir.
- Görüşmeye özgü işlemler sunulur (bazıları basılı tutarak):
- Bu görüşmeyi öncelikli olarak işaretle
- Bu görüşmeyi baloncuğa taşı (yalnızca uygulama, balonları destekliyorsa gösterilir)
- Bu görüşme için bildirimleri sessize alın
- Bu görüşme için özel sesler veya titreşimler ayarlayın
Baloncuklardaki Görüşmeler
![Görüşme gereksinimlerini karşılayan bir bildirim, bildirim çekmecesinden bir baloncuk olarak açılır.](https://developer.android.com/static/images/guide/topics/ui/conversations-bubble.gif?authuser=0000&hl=tr)
Android 11'den itibaren Baloncuklar, Görüşmeler bölümündeki bildirimlerden başlatılabilir. Yalnızca ilişkili bir kısayolu olan bildirimler baloncuk olarak gösterilebilir. İleti dizileri, önemli olarak işaretlendiyse veya bildirim gölgesinde baloncuk olarak tetiklenecek şekilde otomatik olarak baloncukla gösterilir.
İleti Dizisi Kısayolları
İleti dizilerinin kısayolları başlatıcıda ve paylaşım sayfasında uzun süreli, paylaşım kısayolları ile birlikte görünür.
API yönergeleri
Bu bölümde, kullanıcıları ve görüşmeleri gösteren sistem tarafından sağlanan alan için uygulamanıza destek eklemek üzere kullanabileceğiniz API'ler açıklanmaktadır.
İleti Dizileri için Kısayollar
Bu konuşma odaklı girişime katılabilmek için uygulamaların sisteme uzun ömürlü kısayollar sağlaması gerekiyor. Uzun ömürlü paylaşım kısayolları kullanmanızı önemle tavsiye ederiz. Gerekirse Android 11'de dinamik kısayollar kullanabilirsiniz, ancak gelecekte bu seçenek kaldırılabilir.
Görüşmede kısayol yayınlamak için
setDynamicShortcuts()
,
addDynamicShortcuts()
veya pushDynamicShortcut()
(geliştirici için kısayol sınırını otomatik olarak yönetir) yöntemlerini çağırın.ShortcutManagerCompat
Bu kısayolun uzun ömürlü olması ve bir veya daha fazla kişiye ait Person
verilerinin ekli olması gerekir. Böylece, görüşmedeki diğer katılımcılar tanımlanmalı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, mutlaka gerekli olmadığı sürece uygulamalar önbelleğe alınmış kısayolları kaldırmamalıdır. Kullanıcı, deneyimini değiştirmek amacıyla kısayolla etkileşimde bulunduğu için muhtemelen kısayol önbelleğe alınır ve kısayolu kaldırmak, bu değişiklikleri geri alarak kullanıcıların canını sıkabilir.
Görüşme Bildirimleri
Aşağıdakiler geçerliyse bildirim, görüşme bildirimi olarak kabul edilir:
Bildirim
MessagingStyle
kullanıyor.(Yalnızca uygulama Android 11 veya sonraki bir sürümü hedefliyorsa) Bildirim, geçerli bir uzun ömürlü dinamik veya önbelleğe alınmış paylaşım kısayoluyla ilişkilendirilir. Bildirim,
setShortcutId()
veyasetShortcutInfo()
yöntemini çağırarak bu ilişkilendirmeyi ayarlayabilir. Uygulama Android 10 veya önceki sürümleri hedefliyorsa bildirimin yedek seçenekler bölümünde açıklandığı gibi bir kısayolla ilişkilendirilmesi gerekmez.Kullanıcı, yayınlama sırasında bildirim kanalı ayarlarından sohbetin görüşme bölümündeki sıralamasını düşürmemiştir.
LocusIdCompat Kullan
Cihaz içi zeka, kullanıcının ilgilenme olasılığı en yüksek görüşmeleri belirler. En önemli sinyallerden biri, her bir görüşmedeki görüşme oturumlarının yeniliği ve sıklığıdır. Sistem, Başlatıcı kısayollarındaki bir görüşmedeki etkileşimleri veya bunlar düzgün etiketlenmişse bildirimdeki etkileşimleri bilir. Ancak, bu etkileşimler de etiketlenmediği sürece sistem, tamamen uygulamada gerçekleşen sohbetleri bilmez. Bu nedenle, kısayola bir LocusIdCompat
eklemenizi ve uygulama içi etkinliğe veya parçaya ilişkili LocusIdCompat
ile ek açıklama eklemenizi önemle tavsiye ederiz. Öneri sisteminin, görüşmeyi doğru şekilde sıralamasını ve sistemin, kullanıcının görüşmedeki son etkileşiminin (uygulama içi etkileşimler dahil) doğru zamanını görüntülemesini sağlamak için LocusIdCompat
kullanın. Görüşmeyi bir kısayolla ilişkilendirmek için setShortcutInfo()
kullanırsanız görüşmeler sistemi uygun LocusIdCompat
kodunu otomatik olarak ekler.
Android 10 veya önceki sürümleri hedefleyen uygulamalar için sohbet alanı gereksinimleri
Android 11'i hedeflemeyen uygulamaların mesajları görüşme alanında gösterilmeye devam edebilir. Yine de uygulamanın belirli gereksinimleri karşılaması gerekir. Bu bölümde, bu uygulamalara ilişkin gereksinimler ve uygulamaların gereksinimleri karşılamaması durumunda uygulanacak yedek davranış açıklanmaktadır.
Mesajlaşma alanına katılım için temel gereksinim, uygulamanın MessagingStyle
bildirimlerini uygulaması ve bildirimler, gönderildiği sırada yayınlanan bildirimin uzun ömürlü bir kısayoluna referans vermesidir. Bu gereksinimleri karşılayan bildirimler, görüşme alanında şu davranışla görünür:
- Bildirim, görüşme stilinde gösteriliyor
- Balon düğmesi (uygulanmışsa) kullanılabilir
- Görüşmeye özgü işlevler satır içinde sunulur
Bildirim bu şartları karşılamıyorsa platform, bildirimi biçimlendirmek için yedek seçenekleri kullanır. Bildirim, yedek destek kayıtlarından birinin gereksinimlerini karşılıyorsa görüşme alanında özel biçimlendirmeyle gösterilir. Bildirim, yedek seçeneklerden biri için uygun değilse görüşme alanında gösterilmez.
Yedek: MessagingStyle kullanılır ancak kısayol sağlanmazsa
Uygulama Android 10 veya önceki bir sürümü hedefliyorsa ve bir bildirim MessagingStyle
kullanıyorsa ancak mesajı bir kısayolla ilişkilendirmemişse görüşme alanında şu davranışla gösterilir:
- Bildirim, görüşme stilinde gösteriliyor
- Baloncuk düğmesi yok
- Satır içi ileti dizisine özgü işlevler sunulmaz
Yedek: MessagingStyle kullanılmıyorsa ancak uygulama tanınan bir mesajlaşma uygulamasıysa
Bir bildirim MessagingStyle
kullanmıyorsa ancak uygulama platform tarafından mesajlaşma uygulaması olarak tanınıyorsa ve bildirimin category
parametresi msg
olarak ayarlanmışsa bildirim, görüşme alanında şu davranışla gösterilir:
- Bildirim eski, Android 11 öncesi tarzda gösteriliyor
- Baloncuk düğmesi yok
- Satır içi ileti dizisine özgü işlevler sunulmaz
Rehberlik, kullanım ve test
Bu bölümde, sohbet özelliklerinin nasıl kullanılacağı ve test edileceği konusunda genel yönergeler sağlanmaktadır.
İleti dizilerini ne zaman kullanmalıyım?
Görüşme Bildirimleri ve ilgili kısayollar, gerçek zamanlı görüşmelere ilişkin kullanıcı deneyimini iyileştirmek için tasarlanmıştır. Örneğin SMS, metin sohbetleri ve telefon aramaları, kullanıcıların hızlı bir şekilde iletişim kurmayı beklediği gerçek zamanlı konuşmalardır. Kullanıcılar, ileti dizileriyle alakasız e-postalar ve etkinlikler için böyle bir beklentiye sahip değildir.
Kullanıcılara, doğru yerde olmadığını düşündükleri bir görüşmeyi görüşme bölümünden kaldırma olanağı sağladık.
En iyi uygulamalar
Etkileşimi artırmak ve kullanıcılarınızın uygulamanızla ve uygulama etrafındaki kullanıcılarla ve görüşmelerle etkileşimde bulunmasını kolaylaştırmak için aşağıdaki en iyi uygulamaları öneririz.
- Cevapsız aramaların öncelikli görüşme gölgesinde gösterilmesini ve dönüşüm widget'ında doğru şekilde görünmesini sağlamak için cevapsız arama bildirimlerini
conversations
olarak ve kategoriCATEGORY_MISSED_CALL
olarak biçimlendirin. - Kullanıcılara yüksek kaliteli avatarlar (104 dp) sunun. Aksi takdirde, sistemde kişinin baş harfleri kullanılır. Bu da kullanıcı etkileşiminin daha az gerçekleştiği bir deneyimdir.
- Bir görüşme bildirimi, kullanıcı henüz mesajı görmeden
cancel
. Kullanıcının mesajı göremeyeceği veya ele alamadığı bir görünümde uygulamayı açarken bildirimi iptal etmek buna örnek olarak verilebilir. Kullanıcıya mesajı okuma veya ele alma fırsatı verilmezse iptal edilen bildirim ve ilişkili baloncuk kaldırılır. Bu da görüşme bağlamının kaybedilmesine neden olur. - Mesajlarla ilişkili MIME ile ilgili meta veriler için bir
data
URI sağlayın. Bu URI, bildirimlerde daha zengin bir deneyim sağlama seçeneği sunar. - Görüşme widget'larını daha ilgi çekici hale getirmek için
Android 12 status
API'sini kullanın. - Görüşme kısayolları için aşağıdaki en iyi uygulamalardan yararlanın.
- Push bildirim almayan, gelen ve giden uygulama içi görüşmeler için kısayollar yayınlayın. Aynı görüşme için gelen ve giden mesajlar aynı kısayol kimliğine sahip olmalıdır. Kısayollarınızı yayınlamak ve rapor kullanımını raporlamak için
pushDynamicShortcut()
kullanın. - Kısayol avatarınızın yanlışlıkla kırpılmasını önlemek için kısayol simgesi için
AdaptiveIconDrawable
sağlayın. Daha ayrıntılı bilgi için Kısayol görüntüleri sağlama konusuna bakın. - Sistemin kısayolunuzu tanıtmasına yardımcı olmak için en iyi sıralamayı alma kurallarını 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 geçerli ileti dizisinde başlatıldığından emin olun. - Kısayollarınızı
conversation
ile alakalı olacak şekilde kolayca ayarlamak için uyumlu kitaplıkları kullanın.
- Push bildirim almayan, gelen ve giden uygulama içi görüşmeler için kısayollar yayınlayın. Aynı görüşme için gelen ve giden mesajlar aynı kısayol kimliğine sahip olmalıdır. Kısayollarınızı yayınlamak ve rapor kullanımını raporlamak için
Görüşme Bildirimlerini ve kısayollarını test etme
![Bir ileti dizisine uzun bastığınızda ileti dizisiyle ilgili işlemlerin yer aldığı bir menü açılır.](https://developer.android.com/static/images/guide/topics/ui/conversations-testing.png?authuser=0000&hl=tr)
Görüşme alanı kurallarına uyarsanız görüşmeler otomatik olarak görüşme alanında görünür. Bildirime uzun basarak kısayolun düzgün bir şekilde entegre edildiğini doğrulayabilirsiniz. Entegrasyon doğru şekilde yapılırsa kullanıcı arayüzünde konuşmayla 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örüntülenir.
Uygulama başlatıcıda uzun basıldığında Eklenen kısayollar gösterilir. Kısayolların sizi uygulamanızda doğru yere götürdüğünü test ettiğinizden emin olun.
Paylaşım kısayolunuzun alabileceği içerik paylaşılırken paylaşım sayfasının doğrudan paylaşım satırında eklenen paylaşım kısayolları gösterilir.
İletişim Widget'ları
![Görüşme widget'larında görüntülenen ileti dizileri](https://developer.android.com/static/images/guide/topics/ui/conversation-widgets.png?authuser=0000&hl=tr)
Android 12'deki Görüşme Widget'ı özelliği, uygulamaların görüşme widget'larında görüşme durumunu göstermesine olanak tanıyarak Android 11'de kullanıma sunulan kişi ve görüşme özelliğini temel alır.
Sohbet widget'ları, sohbetleri ana ekranda kolayca açmalarına olanak tanıyarak kullanıcı etkileşimini teşvik eder. Bu widget'lar, kullanıcıların görüşmelerine etkili bir şekilde geri dönmelerini ve aynı zamanda da görüşme durumlarının snippet'lerini veya diğer alakalı bilgileri göstermelerini sağlayan geliştirilmiş kısayollardır.
Uygulamanızın sohbet widget'larını desteklediğini doğrulayın
Uygulamanızın görüşme widget'larını desteklediğini doğrulamak için mesaj alışverişi yapabilmek için en az iki Android cihaza (her ikisi de Android 12 çalıştıran) ve iki kullanıcı hesabına (her cihazda bir hesap) sahip olmanız gerekir. Bu prosedürün amacı doğrultusunda, bu hesaplara "A kullanıcısı" ve "B kullanıcısı" adını veriyoruz.
![Yeni görüşme widget'ı eklemek için widget seçici kullanıcı arayüzü](https://developer.android.com/static/images/guide/topics/ui/widget-picker-conversation.png?authuser=0000&hl=tr)
Aşağıdaki adımları tamamlayın:
- 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 widget'a dokunun.
- Widget'ı ana ekrana sürükleyin. A kullanıcısının uygulamasındaki etkin veya son ileti dizilerinin listesi seçilebilir olmalıdır.
- Şimdi, B kullanıcısının cihazında A kullanıcısına bir test mesajı gönderin.
- A kullanıcısının cihazına geri dönüp widget'ın, B kullanıcısından gelen mesaj bildirimini yansıtacak şekilde güncellendiğinden emin olun.
- İsteğe bağlı: Widget'larının doğru şekilde yansıttığından emin olmak için hem A hem de B kullanıcısının görüşmeyi farklı durum değerlerine ayarlamasını sağlayın. Durum değerlerinin listesi için ConversationStatus konusuna bakın.