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 image sistem 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 satu sesi suara pengguna.
  • Aplikasi Interaksi Suara (VIA). Aplikasi Android yang didesain untuk berfungsi sebagai kontrol suara (disebut 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 (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
  • Bangun sistem infotainmen yang kompatibel dengan AAOS.
  • Terapkan input dan output audio, termasuk dukungan deteksi frasa pengaktif DSP secara opsional.
  • 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.
  • Berikan dokumentasi API, kode contoh, 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 bawaan memenuhi persyaratan yang dijelaskan dalam Asisten Pramuat: 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 SpeechKenalir 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 dasarnya, aplikasi interaksi suara berinteraksi dengan para aktor ini:

Aktor interaksi suara

Gambar 1. Pelaku 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 (antara lain) menangani peristiwa utama, merutekan PTT ke VIA, melalui VoiceInteractionManagerService.
  • User. Pengguna berinteraksi dengan VIA melalui Pemicu (PTT, TTT, Frasa Pengaktif) 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.