Orang dan percakapan

Inisiatif orang dan percakapan adalah inisiatif multitahun Android yang bertujuan untuk mengutamakan orang dan percakapan dalam permukaan sistem ponsel. Prioritas ini didasarkan pada fakta bahwa komunikasi dan interaksi dengan orang lain masih menjadi area fungsional yang paling bernilai dan penting bagi sebagian besar pengguna kami di seluruh demografi.

Sejumlah fitur diperkenalkan di Android 11 untuk mendukung inisiatif orang dan percakapan.

Ruang percakapan


Ruang percakapan adalah area notifikasi khusus untuk percakapan
       real-time antar-manusia.
Gambar 1: Ruang percakapan.

Pada banyak ponsel, ada bagian terpisah di atas menu notifikasi yang hanya berisi percakapan real-time dengan orang (seperti panggilan dan pesan chat, termasuk chat grup). Notifikasi di ruang ini terlihat dan bertindak berbeda dari notifikasi non-percakapan di banyak ponsel:

  • Desainnya berbeda, dengan penekanan kuat pada avatar yang mewakili orang-orang, dan dipadukan dengan aplikasi yang membawa percakapan.
  • Ketukan pada notifikasi akan membuka percakapan di aplikasi (atau balon, jika percakapan tersebut sebelumnya sudah disetel ke balon), dan ketukan pada tanda sisipan akan memperluas pesan baru dalam menu hingga ke panjang maksimumnya dengan daftar opsi yang lengkap.
  • Tindakan khusus percakapan ditawarkan (beberapa dengan menekan lama):
    • Tandai percakapan ini sebagai prioritas
    • Promosikan percakapan ini ke balon (hanya ditampilkan jika aplikasi mendukung balon)
    • Matikan notifikasi untuk percakapan ini
    • Setel suara atau getaran khusus untuk percakapan ini

Percakapan dalam Balon

Jika notifikasi memenuhi persyaratan percakapan, platform
       akan meluncurkannya sebagai balon dari panel samping notifikasi.
Gambar 2: Notifikasi diluncurkan sebagai balon dari panel samping notifikasi.

Mulai Android 11, Balon dapat diawali dari notifikasi di bagian Percakapan. Hanya notifikasi dengan pintasan atribusi yang dapat muncul sebagai balon. Percakapan akan otomatis muncul sebagai balon jika ditandai sebagai penting atau dipicu muncul sebagai balon dalam menu notifikasi.

Pintasan Percakapan

Pintasan ke percakapan muncul pada peluncur dan bersamaan dengan pintasan berbagi berdurasi panjang dalam sharesheet.

Pedoman API

Bagian ini menjelaskan API untuk menambahkan dukungan di aplikasi pada ruang yang disediakan sistem yang menunjukkan orang dan percakapan.

Pintasan untuk Percakapan

Untuk berpartisipasi dalam inisiatif yang berfokus pada percakapan ini, aplikasi harus menyediakan pintasan berdurasi panjang bagi sistem. Sebaiknya gunakan pintasan berbagi berdurasi panjang. Jika perlu, Anda dapat menggunakan pintasan dinamis di Android 11, tetapi kami dapat menghapus opsi ini di masa mendatang.

Untuk memublikasikan pintasan ke percakapan, panggil metode ShortcutManagerCompat setDynamicShortcuts(), addDynamicShortcuts(), atau pushDynamicShortcut() (yang secara otomatis mengelola batas pintasan untuk developer). Pintasan ini harus berdurasi panjang dan memiliki data Person yang dilampirkan untuk satu atau beberapa orang, dan mengidentifikasi peserta lain dalam percakapan tersebut. Sebaiknya Anda juga menyetel LocusIdCompat.

Jika percakapan sudah tidak ada, aplikasi dapat menghapus pintasan dengan removeLongLivedShortcuts(); tindakan ini akan menyebabkan sistem menghapus semua data yang terkait dengan percakapan. Meskipun pintasan dapat dihapus, aplikasi tidak boleh menghapus pintasan yang di-cache kecuali benar-benar diperlukan; pintasan mungkin di-cache karena pengguna berinteraksi dengan pintasan tersebut untuk mengubah pengalaman mereka, dan menghapus pintasan akan mengurungkan perubahan tersebut, menyebabkan pengguna mengalami frustrasi.

Notifikasi Percakapan

Notifikasi akan dianggap sebagai notifikasi percakapan jika hal berikut berlaku:

  • Notifikasi menggunakan MessagingStyle.

  • (Hanya jika aplikasi menargetkan Android 11 atau yang lebih baru) Notifikasi diatribusikan dengan pintasan berbagi dinamis atau di-cache berdurasi panjang yang valid. Notifikasi dapat menyetel atribusi ini dengan memanggil setShortcutId() atau setShortcutInfo(). Jika aplikasi menargetkan Android 10 atau yang lebih rendah, notifikasi tidak harus diatribusikan dengan pintasan, seperti yang dibahas di bagian opsi penggantian.

  • Pengguna belum mendemosikan percakapan dari bagian percakapan melalui setelan saluran notifikasi pada saat memposting.

Menggunakan LocusIdCompat

Kecerdasan pada perangkat menentukan percakapan yang kemungkinan besar diminati pengguna. Di antara sinyal yang paling penting adalah keterkinian dan frekuensi sesi percakapan dalam setiap percakapan. Sistem mengetahui hal-hal tentang interaksi dengan sebuah percakapan dari pintasan Peluncur atau dalam notifikasi jika diberi tag dengan benar. Namun, sistem tidak mengetahui percakapan yang terjadi sepenuhnya dalam aplikasi, kecuali jika interaksi tersebut juga diberi tag. Jadi, kami sangat menyarankan agar Anda melampirkan LocusIdCompat ke pintasan dan membuat anotasi aktivitas atau fragmen dalam aplikasi dengan LocusIdCompat yang terkait. Gunakan LocusIdCompat untuk memungkinkan sistem saran memberi peringkat percakapan dengan benar, dan untuk memungkinkan sistem menampilkan waktu interaksi terakhir pengguna yang benar (termasuk interaksi dalam aplikasi) dengan percakapan. Jika Anda menggunakan setShortcutInfo() untuk mengaitkan percakapan dengan pintasan, sistem percakapan akan otomatis melampirkan LocusIdCompat yang sesuai.

Persyaratan ruang percakapan untuk aplikasi yang menargetkan Android 10 atau yang lebih rendah

Jika aplikasi tidak menargetkan Android 11, pesannya masih dapat muncul di ruang percakapan. Namun, aplikasi tetap harus memenuhi persyaratan tertentu. Bagian ini menjelaskan persyaratan untuk aplikasi tersebut dan perilaku penggantian jika aplikasi tidak memenuhi persyaratan.

Persyaratan utama untuk berpartisipasi dalam ruang pesan adalah aplikasi harus menerapkan notifikasi MessagingStyle, dan notifikasi harus merujuk pada pintasan berdurasi panjang dari notifikasi yang dipublikasikan pada saat notifikasi itu diposting. Notifikasi yang memenuhi persyaratan ini akan muncul di ruang percakapan dengan perilaku ini:

  • Notifikasi ditampilkan dalam gaya percakapan
  • Tombol Balon ditawarkan, jika diterapkan
  • Fungsi khusus percakapan ditawarkan secara inline

Jika notifikasi tidak memenuhi persyaratan ini, platform akan menggunakan opsi penggantian untuk memformat notifikasi. Jika notifikasi memenuhi persyaratan salah satu kasus penggantian, notifikasi akan ditampilkan di ruang percakapan dengan format khusus. Jika tidak memenuhi syarat untuk salah satu opsi penggantian, notifikasi tidak akan ditampilkan di ruang percakapan.

Penggantian: Jika MessagingStyle digunakan, tetapi tidak ada pintasan yang disediakan

Jika aplikasi menargetkan Android 10 atau yang lebih lama dan notifikasi menggunakan MessagingStyle, tetapi tidak mengatribusikan pesan dengan pintasan, notifikasi akan ditampilkan di ruang percakapan dengan perilaku ini:

  • Notifikasi ditampilkan dalam gaya percakapan
  • Tidak ada tombol balon yang ditawarkan
  • Tidak ada fungsi khusus percakapan yang ditawarkan secara inline

Penggantian: Jika MessagingStyle tidak digunakan, tetapi aplikasinya adalah aplikasi pesan yang dikenali

Jika notifikasi tidak menggunakan MessagingStyle, tetapi aplikasinya dikenali oleh platform sebagai aplikasi pesan, dan parameter category notifikasi disetel ke msg, notifikasi ditampilkan di ruang percakapan dengan perilaku ini:

  • Notifikasi ditampilkan dalam gaya pra-Android 11 yang lama
  • Tidak ada tombol balon yang ditawarkan
  • Tidak ada fungsi khusus percakapan yang ditawarkan secara inline

Panduan, penggunaan, dan pengujian

Bagian ini memberikan panduan umum tentang cara menggunakan dan menguji fitur percakapan.

Kapan saya harus menggunakan percakapan?

Notifikasi Percakapan dan pintasan terkait ditujukan untuk meningkatkan pengalaman pengguna percakapan real-time. Misalnya SMS, chat teks, dan panggilan telepon adalah percakapan real-time yang memungkinkan pengguna berkomunikasi dengan cepat. Pengguna tidak dapat melakukannya dengan email dan aktivitas yang tidak terkait dengan percakapan.

Kami telah memberi pengguna kemampuan untuk menghapus percakapan tertentu dari bagian percakapan jika mereka merasa percakapan tersebut tidak berada di ruang yang tepat.

Praktik terbaik

Untuk meningkatkan engagement dan memudahkan pengguna berinteraksi dengan orang dan percakapan di aplikasi Anda, sebaiknya ikuti praktik terbaik berikut.

  • Untuk memastikan panggilan tak terjawab muncul di bagian percakapan yang diprioritaskan dan muncul dengan benar di widget konversi, format notifikasi panggilan tak terjawab sebagai conversations dengan kategori yang disetel ke CATEGORY_MISSED_CALL.
  • Berikan avatar berkualitas tinggi (104 dp) untuk pengguna; jika tidak, sistem akan menggunakan inisial pengguna, yang merupakan pengalaman yang kurang menarik.
  • Jangan cancel (membatalkan) notifikasi percakapan sebelum pengguna melihat pesan. Salah satu contohnya adalah membatalkan notifikasi saat membuka aplikasi dalam tampilan dengan pengguna yang tidak dapat melihat atau menangani pesan tersebut. Jika pengguna tidak diberi kesempatan untuk membaca atau menangani pesan, notifikasi yang dibatalkan dan balon terkait akan dihapus, sehingga menyebabkan hilangnya konteks percakapan.
  • Berikan URI data untuk metadata terkait MIME yang dikaitkan dengan pesan, sehingga memberi Anda opsi untuk memberikan pengalaman notifikasi yang lebih kaya.
  • Gunakan Android 12 status API untuk membuat widget percakapan menjadi lebih menarik.
  • Terapkan praktik terbaik berikut untuk conversation shortcuts.

Menguji pintasan dan Notifikasi Percakapan

Menekan lama pada percakapan akan membuka menu
  tindakan yang terkait dengan percakapan.
Gambar 3: Anda dapat memverifikasi bahwa notifikasi percakapan dikonfigurasi dengan benar dengan menekan lama pada tombol tersebut dan memeriksa apakah menu percakapan muncul.

Jika Anda mematuhi pedoman ruang percakapan, percakapan akan muncul otomatis di ruang percakapan. Anda dapat memverifikasi bahwa pintasan terintegrasi dengan benar dengan menekan lama notifikasi. Jika integrasi dilakukan dengan benar, UI akan menampilkan tindakan terkait percakapan. Jika notifikasi tidak ditautkan ke pintasan, UI akan menampilkan teks yang menyatakan aplikasi tidak mendukung fitur percakapan.

Pintasan yang ditambahkan akan ditampilkan dengan menekan lama pada peluncur aplikasi. Pastikan untuk menguji apakah pintasan mengarahkan Anda ke tempat yang benar dalam aplikasi Anda.

Pintasan berbagi yang ditambahkan akan ditampilkan dalam baris berbagi langsung di sharesheet saat Anda membagikan konten yang dapat diterima oleh pintasan berbagi.

Widget Percakapan

Percakapan yang ditampilkan di widget Percakapan
Gambar 1: Percakapan yang ditampilkan di widget Percakapan.

Di Android 12, fitur Widget Percakapan dibuat berdasarkan fitur orang dan percakapan yang diperkenalkan di Android 11 dengan memungkinkan aplikasi menampilkan status percakapan di widget Percakapan.

Widget percakapan mendorong interaksi pengguna dengan memungkinkannya membuka chat dengan mudah di layar utama. Widget ini adalah pintasan yang ditingkatkan dan memungkinkan pengguna kembali ke percakapan secara efisien selagi menampilkan cuplikan status percakapan atau informasi relevan lainnya.

Memvalidasi bahwa aplikasi mendukung widget percakapan

Untuk memvalidasi bahwa aplikasi mendukung widget percakapan, Anda harus memiliki setidaknya dua perangkat Android (keduanya menjalankan Android 12) dan dua akun pengguna (satu akun untuk setiap perangkat) untuk bertukar pesan. Untuk tujuan prosedur ini, kita akan menyebut akun tersebut sebagai "pengguna A" dan "pengguna B".

UI alat pilih widget untuk menambahkan widget percakapan baru
Gambar 2: UI alat pilih widget untuk menambahkan widget percakapan baru.

Selesaikan langkah berikut:

  1. Di perangkat pengguna A, tekan lama peluncur. Di alat pilih widget, ketuk widget baru untuk percakapan seperti yang ditunjukkan pada gambar 2.
  2. Tarik widget ke layar utama. Daftar percakapan aktif atau terbaru dari aplikasi pengguna A harus dapat dipilih.
  3. Sekarang, di perangkat pengguna B, kirim pesan percobaan ke pengguna A.
  4. Kembali ke perangkat pengguna A, pastikan widget diupdate untuk merefleksikan notifikasi pesan dari pengguna B.
  5. Opsional: minta pengguna A dan pengguna B menyetel percakapan ke nilai status yang berbeda untuk memastikan bahwa widget mereka merefleksikannya dengan benar. Untuk daftar nilai status, lihat ConversationStatus.