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 demografilerdeki kullanıcılarımızın çoğunluğu için hâlâ en değerli ve önemli işlevsel alan olmasından kaynaklanmaktadır.
Android 11'de kişiler ve görüşmeler girişimini desteklemek için bir dizi özellik kullanıma sunuldu.
Görüşme alanı
El cihazlarında, bildirim gölgesinin üst kısmında yalnızca kişilerle yaptığınız gerçek zamanlı görüşmeleri (ör. grup sohbetleri dahil olmak üzere aramalar ve sohbet mesajları) içeren ayrı bir bölüm bulunur. Bu alandaki bildirimler, birçok telefondaki sohbet dışı bildirimlerden farklı görünür ve çalışır:
- Tasarımda, kullanıcıları temsil eden avatara ve sohbeti yürüten uygulamaya büyük önem verilir.
- Bildirime dokunduğunuzda sohbet uygulamada açılır (veya sohbet daha önce baloncuk şeklindeyse baloncuk açılır). Ok işaretine dokunduğunuzda ise gölgedeki yeni mesajlar, seçeneklerin tam listesiyle birlikte tam uzunlukta genişletilir.
- Sohbete özel işlemler sunulur (bazıları uzun basılarak):
- Bu ileti dizisini öncelikli olarak işaretleme
- 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 ayarlama
Baloncuklardaki görüşmeler
Android 11'den itibaren Bubbles, İleti dizileri bölümündeki bildirimlerden başlatılabilir. Yalnızca ilişkili bir 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ı
Görüşmelerin kısayolları, başlatıcıda ve paylaşma sayfasındaki uzun ömürlü paylaşım kısayollarının yanında 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 kullanılacak API'ler açıklanmaktadır.
Görüşmeler 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 ömürlü paylaşım kısayolları kullanmanızı önemle tavsiye ederiz. Gerekirse Android 11'de dinamik kısayolları kullanabilirsiniz ancak bu seçeneği ileride kaldırabiliriz.
Görüşmeye kısayol yayınlamak için ShortcutManagerCompat
yöntemlerinden setDynamicShortcuts()
, addDynamicShortcuts()
veya pushDynamicShortcut()
(geliştirici için kısayol sınırını otomatik olarak yönetir) yöntemini çağırın. Bu kısayol uzun ömürlü olmalı ve bir veya daha fazla kişi için sohbetteki diğer katılımcıları tanımlayan Person
verileri eklenmelidir. Ayrıca LocusIdCompat
ayarını da yapmanızı öneririz.
Uygulama, artık mevcut olmayan bir görüşmenin kısayolunu removeLongLivedShortcuts()
ile 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ınan kısayolları kaldırmamalıdır. Bir kısayol, kullanıcı deneyimini değiştirmek için kullanıcının onunla etkileşime geçtiği için önbelleğe alınmış olabilir. Kısayolun kaldırılması bu değişiklikleri geri alır ve kullanıcının canını sıkar.
Görüşme Bildirimleri
Aşağıdaki koşullar geçerliyse bildirim, ileti dizisi 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()
veyasetShortcutInfo()
çağrısını yaparak 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ın sırasında bildirim kanalı ayarları üzerinden ileti dizisini ileti dizisi bölümünden çıkarmamıştır.
LocusIdCompat'i kullanma
Cihaz üzerinde zeka, kullanıcının ilgilenme olasılığı en yüksek olan sohbetleri belirler. En önemli sinyaller arasında her görüşmedeki görüşme oturumlarının yakınlığı ve sıklığı yer alır. Sistem, Launcher kısayollarından veya düzgün şekilde etiketlenmiş bir bildirimdeki bir görüşmeyle ilgili etkileşimleri bilir. Ancak bu etkileşimler etiketlenmediği sürece sistem, tamamen uygulamada gerçekleşen görüşmeler hakkında bilgi sahibi olmaz. Bu nedenle, kısayyola bir LocusIdCompat
eklemenizi ve uygulama içi etkinliği veya parçayı ilişkili LocusIdCompat
ile notlandırmanızı önemle tavsiye ederiz. Öneri sisteminin sohbeti doğru şekilde sıralamasını ve sistemin, kullanıcının bir sohbetle son etkileşiminin (uygulama içi etkileşimler dahil) doğru zamanını göstermesini sağlamak için LocusIdCompat
değerini kullanın. Görüşmeyi kısayolla ilişkilendirmek için setShortcutInfo()
kullanırsanız görüşmeler sistemi uygun LocusIdCompat
'ı otomatik olarak ekler.
Android 10 veya önceki sürümleri hedefleyen uygulamalar için görüşme alanı gereksinimleri
Android 11'i hedeflemeyen bir uygulamanın mesajları, görüşme alanında gösterilmeye devam edebilir. Ancak uygulamanın belirli koşulları karşılaması gerekir. Bu bölümde, bu uygulamalar için gerekenler 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
bildirimleri uygulamak zorunda olması ve bildirimlerin, yayınlandığı sırada bildirimdeki uzun ömürlü bir kısayola referans vermesidir. Bu koşulları karşılayan bildirimler, görüşme alanında şu şekilde görünür:
- Bildirim ileti dizisi biçiminde gösterilir.
- Uygulanmışsa Bubble düğmesi sunulur
- Sohbete özgü 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, bu yedek durumların koşullarını karşılıyorsa görüşme alanında özel biçimlendirmeyle gösterilir. Bildirim, yedek seçeneklerden hiçbirine uygun değilse sohbet alanında gösterilmez.
Yedek: MessagingStyle kullanılıyor ancak kısayol sağlanmıyorsa
Uygulama Android 10 veya önceki sürümleri hedefliyorsa ve bir bildirim MessagingStyle
kullanıyorsa ancak mesajı bir kısayolla ilişkilendirmiyorsa bildirim, görüşme alanında şu davranışla gösterilir:
- Bildirim ileti dizisi biçiminde gösterilir.
- Kabarcık düğmesi sunulmuyor
- Satır içi görüşmeye özgü işlevler sunulmaz.
Yedek: MessagingStyle kullanılmıyorsa ancak uygulama tanınan bir mesajlaşma uygulamasıysa
Bir bildirimde MessagingStyle
kullanılmasa da uygulama platform tarafından mesajlaşma uygulaması olarak tanınıyorsa ve bildirimin category
parametresi msg
olarak ayarlanmışsa bildirim, sohbet alanında şu davranışla gösterilir:
- Bildirim, Android 11 öncesi eski tarzda gösterilir.
- Kabarcık düğmesi sunulmuyor
- Satır içi 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.
Sohbetleri ne zaman kullanmalıyım?
İleti dizisi bildirimleri ve ilgili kısayollar, gerçek zamanlı sohbetlerin kullanıcı deneyimini iyileştirmeyi amaçlar. Örneğin, SMS, kısa mesaj sohbetleri ve telefon görüşmeleri, kullanıcıların hızlı bir şekilde iletişim kurmasını beklediği gerçek zamanlı görüşmelerdir. Kullanıcılar, mesaj dizileriyle alakalı olmayan e-posta ve etkinliklerde bu beklentiye sahip değildir.
Kullanıcılara, belirli bir görüşmenin doğru alanda olmadığını düşündüklerinde görüşme bölümünü 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ı kullanmanızı öneririz.
- Cevapsız aramaların öncelikli ileti dizisi gölgesinde gösterilmesini ve dönüşüm widget'ında doğru şekilde görünmesini sağlamak için cevapsız arama bildirimlerini
CATEGORY_MISSED_CALL
olarak ayarlanmış bir kategoriyleconversations
olarak biçimlendirin. - Kullanıcılar için yüksek kaliteli avatarlar (104 dp) sağlayın. Aksi takdirde sistem, kullanıcının baş harflerini kullanır. Bu da daha az ilgi çekici bir deneyimdir.
- Kullanıcı mesajı görmeden önce sohbet bildirimi
cancel
göndermeyin. Buna örnek olarak, uygulama kullanıcının iletiyi göremediği veya iletiyi ele alamadığı bir görünümde açıldığında bildirimin iptal edilmesi verilebilir. Kullanıcıya mesajı okuma veya yanıtlama fırsatı verilmezse iptal edilen bildirim ve ilişkili balon 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, bildirimler için daha zengin bir deneyim sunma 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 uygulamaları uygulayın.
- Gelen ve giden uygulama içi görüşmeler için push bildirimi göndermeyen kısayollar yayınlayın. Aynı ileti dizisindeki gelen ve giden iletiler aynı kısayol kimliğine sahip olmalıdır. Kısayollarınızı yayınlamak ve kullanım raporlarını görüntülemek için
pushDynamicShortcut()
simgesini kullanın. - Kısayol avatarınızın istenmeden kırpılmasını önlemek için kısayolun simgesi için bir
AdaptiveIconDrawable
sağ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ı almayla ilgili yönergeleri uygulayın. Paylaşım kısayoluysa Android paylaşım sayfası da dahil olmak üzere farklı sistem yüzeylerinde kısayolunuz sıralanır.
- İleti dizisi kısayollarının
intents
doğrudan ilgili ileti dizisini açtığından emin olun. - Kısayollarınızı
conversation
ile ilgili olarak kolayca ayarlamak için uyumluluk kitaplıklarını kullanın.
- Gelen ve giden uygulama içi görüşmeler için push bildirimi göndermeyen kısayollar yayınlayın. Aynı ileti dizisindeki gelen ve giden iletiler aynı kısayol kimliğine sahip olmalıdır. Kısayollarınızı yayınlamak ve kullanım raporlarını görüntülemek için
Görüşme bildirimlerini ve kısayollarını test etme
Görüşme alanı kurallarını uygularsanı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ılırsa 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 görüşme özelliklerini desteklemediğini belirten bir metin gösterilir.
Uygulama başlatıcıya uzun bastığınızda eklenen kısayollar gösterilir. Kısayolların sizi uygulamanızdaki doğru yere götürdüğünü test edin.
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 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şiler ve görüşmeler özelliğini temel alır.
Sohbet widget'ları, kullanıcıların ana ekranda sohbetlerini 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 alakalı diğer bilgileri gösterirken sohbetlerine verimli bir şekilde geri dönmelerine olanak tanıyan 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 cihaza (her ikisi de Android 12 yüklü) ve mesaj alışverişi yapmak için iki kullanıcı hesabına (her cihazda bir tane) sahip olmanız gerekir. Bu prosedürde, hesapları "kullanıcı A" ve "kullanıcı B" 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 ileti dizisi 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.
- Ardından 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ında, widget'ın B kullanıcısından gelen mesaj bildirimini yansıtacak şekilde güncellendiğini doğrulayın.
- İsteğe bağlı: Widget'larının bunları doğru yansıtmasını sağlamak 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.