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 kullanıcılarla iletişim ve etkileşimin tüm demografik gruplardaki kullanıcılarımızın çoğu için hâlâ en değerli ve önemli işlevsel alan olduğu gerçeğine dayanmaktadır.
Kişiler ve görüşmeler girişimini desteklemek için Android 11'de bir dizi özellik kullanıma sunuldu.
Sohbet alanı
El cihazlarında, bildirim gölgesinin üst kısmında yalnızca kişilerle yapılan anlık görüşmeleri (ör. aramalar ve grup sohbetleri dahil 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 ve kullanıcıları temsil eden avatar ile sohbeti yürüten uygulamanın birleşimine güçlü bir vurgu yapılır.
- Bildirime dokunulduğunda görüşme uygulamada (veya görüşme daha önce baloncuk haline getirildiyse baloncukta) açılır. Şapka işaretine dokunulduğunda ise gölgedeki yeni mesajlar, seçeneklerin tam listesiyle birlikte tam uzunlukta genişletilir.
- Görüşmeye ö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üşmeyle ilgili bildirimleri sessize alma
- Bu görüşme için özel sesler veya titreşimler ayarlayın
Baloncuklardaki görüşmeler
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şaretlenmişse veya bildirim gölgesinde baloncuk olarak gösterilmesi tetiklenmişse otomatik olarak baloncuk olarak gösterilir.
Görüşme Kısayolları
Görüşme kısayolları, başlatıcıda ve paylaşım sayfasındaki uzun ömürlü, paylaşım kısayollarının yanında görünür.
API yönergeleri
Bu bölümde, uygulamanıza kişileri ve görüşmeleri gösteren sistem tarafından sağlanan alan için destek ekleyen API'ler açıklanmaktadır.
Görüşmeler için kısayollar
Uygulamaların bu görüşme odaklı girişime katılabilmesi için sisteme uzun ömürlü kısayollar sağlaması gerekir. Uzun ömürlü 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.
Görüşmede bir kısayol yayınlamak için ShortcutManagerCompat yöntemlerini (setDynamicShortcuts(), addDynamicShortcuts() veya pushDynamicShortcut()) çağırın. Bu yöntemler, geliştirici için kısayol sınırını otomatik olarak yönetir. Bu kısayol uzun ömürlü olmalı ve bir veya daha fazla kişi için Person verileri eklenerek görüşmedeki diğer katılımcılar tanımlanmalıdır. LocusIdCompat'yi de ayarlamanızı ö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ıkça önbelleğe alınmış kısayolları kaldırmamalıdır. Bir kısayolun önbelleğe alınmasının nedeni, kullanıcının deneyimini değiştirmek için kısayolla etkileşim kurması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 karşılanıyorsa bildirim, görüşme bildirimi olarak kabul edilir:
Bildirimde
MessagingStylekullanılır.(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ştir. Bildirim,
setShortcutId()veyasetShortcutInfo()yöntemini çağırarak bu ilişkilendirmeyi ayarlayabilir. Uygulama Android 10 veya daha eski bir sürümü hedefliyorsa yedek seçenekler bölümünde açıklandığı gibi bildirimin bir kısayolla ilişkilendirilmesi gerekmez.Kullanıcı, yayınlama sırasında bildirim kanalı ayarları aracılığıyla görüşme bölümündeki görüşmenin sıralamasını düşürmemişse.
LocusIdCompat kullanma
Cihaz üzerinde zeka, kullanıcının en çok ilgilenebileceği görüşmeleri belirler. En önemli sinyaller arasında her görüşmedeki görüşme oturumlarının yeniliği ve sıklığı yer alır. Sistem, düzgün şekilde etiketlenmişlerse başlatıcı kısayollarından veya bildirimlerden bir görüşmeyle olan etkileşimleri bilir. Ancak sistem, tamamen uygulamada gerçekleşen görüşmelerden haberdar olmaz. Bu etkileşimlerin de etiketlenmesi gerekir. 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 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ırsanız görüşme sistemi, uygun LocusIdCompat öğesini otomatik olarak ekler.
Android 10 veya daha eski sürümleri hedefleyen uygulamalar için görüşme alanı şartları
Android 11'i hedeflemeyen uygulamaların mesajları da görüşme alanında gösterilebilir. 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 şart, uygulamanın MessagingStyle bildirimlerini uygulaması ve bildirimlerin, bildirimin yayınlandığı sırada yayınlanan bildirimden uzun ömürlü bir kısayola referans vermesidir. Bu koşulları karşılayan bildirimler, görüşme alanında şu davranışla görünür:
- Bildirim, ileti dizisi stilinde gösterilir.
- Uygulanmışsa Baloncuk 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ından birinin koşullarını karşılıyorsa görüşme alanında özel biçimlendirmeyle gösterilir. Bildirim, yedek seçeneklerden herhangi biri için uygun değilse görüşme alanında gösterilmez.
Yedek: MessagingStyle kullanılıyor ancak kısayol sağlanmıyorsa
Uygulama Android 10 veya daha eski sürümleri hedefliyorsa ve bir bildirimde MessagingStyle kullanılıyor ancak mesaj bir kısayolla ilişkilendirilmiyorsa bildirim, görüşme alanında şu davranışla gösterilir:
- Bildirim, ileti dizisi stilinde gösterilir.
- Baloncuk düğmesi yok seçeneği sunulur.
- Satır içinde görüşmeye özel işlevler sunulmaz.
Yedek: MessagingStyle kullanılmıyorsa ancak uygulama, tanınan 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, görüşme alanında şu davranışla gösterilir:
- Bildirim, eski, Android 11 öncesi stilde gösterilir.
- Baloncuk düğmesi yok seçeneği sunulur.
- Satır içinde görüşmeye özel işlevler sunulmaz.
Rehberlik, kullanım ve test
Bu bölümde, görüşme özelliklerinin nasıl kullanılacağı ve test edileceğiyle ilgili genel bilgiler verilmektedir.
Görüşmeleri ne zaman kullanmalıyım?
Görüşme bildirimleri ve ilgili kısayollar, gerçek zamanlı görüşmelerin kullanıcı deneyimini iyileştirmek için tasarlanmıştır. Örneğin, SMS, metin sohbetleri ve telefon aramaları, kullanıcıların hızlı iletişim kurmayı beklediği gerçek zamanlı görüşmelerdir. Kullanıcılar, görüşmelerle ilgisi olmayan e-postalar ve etkinlikler için bu beklentiye sahip değildir.
Kullanıcılara, doğru alanda olmadığını düşündükleri görüşmeleri 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ızla ilgili 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 görüşme gölgesinde gösterildiğinden ve iletişim widget'ında doğru şekilde göründüğünden emin olmak için cevapsız arama bildirimlerini
conversationsolarak biçimlendirin ve kategoriyiCATEGORY_MISSED_CALLolarak ayarlayın. - Kullanıcılar için yüksek kaliteli avatarlar (104 dp) sağlayın. Aksi takdirde sistem, kişinin adının baş harflerini kullanır. Bu da daha az ilgi çekici bir deneyim sunar.
- Kullanıcı mesajı görmeden önce görüşme bildirimini
cancel. Kullanıcının mesajı göremediği veya yanıtlayamadığı bir görünümde uygulama açılırken bildirimin iptal edilmesi buna örnek olarak verilebilir. Kullanıcıya mesajı okuma veya yanıtlama fırsatı verilmezse iptal edilen bildirim ve ilişkili baloncuk kaldırılır. Bu da görüşme bağlamının kaybolmasına neden olur. - Mesajlarla ilişkili MIME ile ilgili meta veriler için bir
dataURI'si sağlayın. Bu sayede bildirimlerde daha zengin bir deneyim sunabilirsiniz. - İletişim widget'larını daha ilgi çekici hale getirmek için
Android 12 statusAPI'sini kullanın. - Görüşme kısayolları için aşağıdaki en iyi uygulamalardan yararlanın.
- Push bildirimi göndermeyen gelen ve giden uygulama içi görüşmeler için kısayollar yayınlayın. Aynı görüşmeye ait gelen ve giden mesajların kısayol kimliği aynı olmalıdır. Kısayollarınızı yayınlamak ve kullanım raporu oluşturmak için
pushDynamicShortcut()kullanın. - Kısayol avatarınızın yanlışlıkla kırpılmasını önlemek için kısayol simgesine bir
AdaptiveIconDrawablesağlayın. Daha fazla bilgi için Kısayol görüntüleri 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 Sharesheet de dahil olmak üzere farklı sistem yüzeylerinde sıralanır.
- Görüşme kısayolları
intentsdoğrudan ilgili görüşmeyi başlatmalıdır. - Kısayollarınızı
conversationile alakalı olarak kolayca ayarlamak için uyumluluk kitaplıklarını kullanın.
- Push bildirimi göndermeyen gelen ve giden uygulama içi görüşmeler için kısayollar yayınlayın. Aynı görüşmeye ait gelen ve giden mesajların kısayol kimliği aynı olmalıdır. Kısayollarınızı yayınlamak ve kullanım raporu oluşturmak için
Görüşme bildirimlerini ve kısayolları test etme
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 doğru şekilde entegre edildiğini doğrulayabilirsiniz. Entegrasyon doğru şekilde yapıldıysa kullanıcı arayüzünde görüşmeyle ilgili işlemler gösterilir. Bildirim bir kısayola bağlı değilse kullanıcı arayüzünde, uygulamanın görüşme ö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 götürdüğünü test etmeyi unutmayın.
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ı
Android 12'deki iletişim widget'ı özelliği, uygulamaların iletişim widget'larında görüşme durumunu göstermesine olanak tanıyarak Android 11'de kullanıma sunulan kişiler ve görüşmeler özelliğini geliştirir.
İletiş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 iletişim widget'larını desteklediğini doğrulama
Uygulamanızın iletişim widget'larını desteklediğini doğrulamak için en az iki Android cihazınız (her ikisinde de Android 12 yüklü olmalıdır) ve iki kullanıcı hesabınız (her cihazda bir tane) olmalıdır. Bu prosedürde hesapları "A kullanıcısı" ve "B kullanıcısı" olarak adlandıracağız.
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 bir widget'a dokunun.
- 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.
- Şimdi, B kullanıcısının cihazından A kullanıcısına bir test mesajı gönderin.
- A kullanıcısının cihazına geri dönün ve widget'ın, B kullanıcısından gelen mesajın bildirimini gösterecek şekilde güncellendiğini doğrulayın.
- İsteğe bağlı: Widget'ların durumu 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 bölümüne bakın.