Tentang interaksi suara

Voice Interaction Service API menyediakan abstraksi atas berbagai aplikasi kontrol suara potensial. Implementasi dapat dikembangkan dengan mengikuti panduan yang dijelaskan dalam Pengembangan aplikasi. Konten dalam panduan integrasi ini menjelaskan cara mengintegrasikan aplikasi ini ke dalam system image Android Automotive OS (AAOS) tertentu.

Terminologi

Istilah-istilah berikut digunakan di seluruh panduan ini:

  • Data bantuan. Saat sesi interaksi suara dimulai, sistem dapat mengambil tampilan dan screenshot, serta meneruskan informasi ini ke sesi. Aplikasi dapat mengekspos informasi tambahan dengan menerapkan Activity#onProvideAssistData() dan Activity#onProvideAssistContent().
  • Push-to-talk (PTT). Tombol kontrol suara fisik, biasanya terletak di setir.
  • RecognitionService (RS). Layanan pengenalan suara yang digunakan oleh aplikasi melalui SpeechRecognizer API. VIA harus menyertakan VoiceInteractionService dan RecognitionService.
  • Ketuk untuk bicara (TTT). Tombol kontrol suara software, biasanya disertakan sebagai bagian dari UI sistem). Di Android, hal ini juga disebut sebagai Gesture Bantuan.
  • VoiceInteractionService. Layanan sistem ringan yang diterapkan oleh developer VIA. Layanan yang dipilih terikat dari layanan sistem saat booting, dan selalu berjalan.
  • VoiceInteractionSession (VIS). Class ini mengenkapsulasi logika bisnis interaksi pengguna. Class ini bertanggung jawab untuk menampilkan status interaksi suara kepada pengguna, menangani permintaan VoiceInteractor, dan menerima data bantuan dan screenshot.
  • VoiceInteractionSessionService (VSS). Layanan, bagian dari VIA, yang bertanggung jawab untuk menangani sesi interaksi suara. Layanan ini terikat dari layanan sistem Android selama interaksi suara dengan pengguna. Semua logika bisnis sesi ini diterapkan di class VoiceSession. Layanan ini hanya dijamin akan tetap aktif selama sesi suara satu pengguna.
  • Aplikasi Interaksi Suara (VIA). Aplikasi Android yang dirancang untuk berfungsi sebagai kontrol suara (disebut sebagai asisten). Aplikasi ini dapat diidentifikasi dengan menyertakan VoiceInteractionService dalam manifesnya. Hanya satu dari aplikasi ini yang dapat dipilih sebagai default dalam satu waktu di sistem. Hanya aplikasi default yang akan dipertahankan agar tetap aktif (terikat dari layanan sistem), dan akan menjadi penerima peristiwa Push-To-Talk (PTT) atau Tap-To-Talk (TTT).

Tanggung jawab

Tabel ini menjelaskan tanggung jawab setiap pihak.

Produsen Mobil (OEM) AOSP Developer Aplikasi
  • Buat sistem infotainment yang kompatibel dengan AAOS.
  • Terapkan input dan output audio, secara opsional termasuk dukungan deteksi kata kunci panas DSP.
  • Memberikan izin hak istimewa sistem untuk layanan interaksi suara.
  • Patuhi persyaratan VoiceInteractionService terkait akses ke layar setelan aplikasi.
  • Menentukan dan mengembangkan VoiceInteractionService dan API terkait.
  • Memberikan dokumentasi API, contoh kode, dan materi dukungan lainnya kepada developer VIA.
  • Berikan panduan UX dengan persyaratan dan rekomendasi.
  • Terapkan VoiceInteractionService API, RecognitionService API, dan NotificationListenerService API (lihat deskripsi mendetail di Pengembangan aplikasi).
  • Berikan UI yang dapat disesuaikan yang dapat disesuaikan oleh OEM agar cocok dengan setiap sistem desain mobil.

Persyaratan UX

OEM memiliki tanggung jawab utama untuk memberikan pengalaman pengguna yang baik kepada pelanggan. OEM harus memastikan bahwa semua layanan interaksi suara yang diprainstal memenuhi persyaratan yang dijelaskan dalam Asisten yang Dimuat Sebelumnya: Panduan UX.

Pengalaman asisten inti

Aplikasi Interaksi Suara (VIA) otomotif melakukan tindakan berikut:

  • [HARUS] Respons pemicu interaksi suara yang ditangani sistem (PTT, TTT).
  • [HARUS] Menampilkan representasi visual progresnya (misalnya, memproses, memenuhi, dan memproses).
  • [HARUS] Gunakan suara atau bunyi untuk menunjukkan pemahaman dan penyelesaian permintaan pengguna.
  • [HARUS] Berfungsi sebagai pengenal ucapan untuk aplikasi lain (lihat SpeechRecognizer API).
  • [HARUS] Merespons pemicu kata cepat.
  • [MAY] Menampilkan aktivitas setelan tempat pengguna dapat mengonfigurasi VIA ini (misalnya, izin, konfigurasi kata kunci panas, dan login).
  • [MAY] Menangani data bantuan (Intent#ACTION_ASSIST)
  • [MAY] Mendukung interaksi suara dari Pelindung Kunci (layar kunci).

Komponen

Pada tingkat tinggi, aplikasi interaksi suara berinteraksi dengan aktor berikut:

Aktor interaksi suara

Gambar 1. Aktor interaksi suara

Detail:

  • VoiceInteractionManagerService. Layanan sistem ini bertanggung jawab untuk mengelola VIA default, dan mengekspos fungsinya ke seluruh sistem.
  • RecognitionService. Layanan ini mengekspos kemampuan pengenalan ucapan ke aplikasi lain dalam sistem.
  • SoundTrigger. Mengimplementasikan pengelolaan kata kunci panas dan tersedia untuk VIA melalui AlwaysOnHotwordDetector.
  • MediaRecorder. Memberikan akses ke input audio untuk deteksi kata kunci panas (saat menggunakan CPU) dan pengenalan ucapan.
  • PhoneWindowManager/CarInputService. Layanan ini bertanggung jawab (di antara hal lainnya) untuk menangani peristiwa utama, merutekan PTT ke VIA, melalui VoiceInteractionManagerService.
  • User. Pengguna berinteraksi dengan VIA melalui Pemicu (PTT, TTT, Hotword) atau UI Voice Plate.
  • CarService, Notifications, Media, Telephony, ContactsProvider, dan sebagainya. Layanan dan aplikasi yang digunakan oleh VoiceInteractionSession untuk memenuhi perintah pengguna.

Konsep khusus otomotif

AAOS berbeda dengan Android dalam aspek berikut:

  • Selain fungsi Asisten normal, VIA AAOS dapat mengontrol fungsi kendaraan (misalnya, HVAC, kursi, dan lampu interior). Fungsi ini dapat diintegrasikan menggunakan CarPropertyManager API (lihat selengkapnya di Membaca properti kendaraan) asalkan OEM mengonfigurasi akses dengan benar seperti yang dijelaskan dalam Daftar yang diizinkan untuk izin dengan hak istimewa.
  • Penyesuaian dan konsistensi lebih relevan di Otomotif daripada faktor bentuk lainnya. Lihat Penyesuaian untuk membaca selengkapnya tentang cara menerapkan panduan ini.