Action Aplikasi untuk Mobil

Kontrol suara memungkinkan pengemudi melakukan tugas tanpa harus melepaskan tangan dari kemudi atau mengalihkan pandangan dari jalan. Dengan Action Aplikasi untuk aplikasi mobil, pengemudi dapat menggunakan Asisten Google untuk mengontrol aplikasi Android di sistem infotainmen dengan mengucapkan hal-hal seperti, "Ok Google, temukan tempat parkir jalan di ExampleApp".

Action Aplikasi berfungsi dengan aplikasi mobil lokasi menarik (POI). Panduan ini mencakup persyaratan dan batasan khusus untuk mengintegrasikan Action Aplikasi ke dalam aplikasi POI Anda.

Cara kerja

Action Aplikasi memperluas fungsi dalam aplikasi ke Asisten sehingga pengguna dapat mengakses fitur aplikasi menggunakan suara mereka. Saat pengguna memanggil Action Aplikasi, Asisten akan mencocokkan kueri dengan intent bawaan (BII) yang dideklarasikan di resource shortcuts.xml aplikasi Anda, dan meluncurkan aplikasi di layar yang diminta.

Anda mendeklarasikan dukungan untuk BII di aplikasi Anda menggunakan elemen capability Android. Saat Anda mengupload aplikasi menggunakan konsol Google Play, Google akan mendaftarkan kemampuan yang dideklarasikan dalam aplikasi Anda dan membuatnya tersedia untuk diakses pengguna dari Asisten.

Diagram yang menampilkan fulfillment mobil.

  1. Pengguna memicu Asisten dan membuat permintaan suara untuk aplikasi tertentu.
  2. Asisten mencocokkan permintaan dengan model terlatih (BII), dan mengekstrak parameter apa pun yang didukung oleh BII.
  3. Dalam contoh ini, Asisten mencocokkan kueri dengan BII GET_CHARGING_STATION, mengekstrak parameter lokasi “SFO”, dan menerjemahkan lokasi ke koordinat geografisnya.
  4. Aplikasi dipicu melalui definisi fulfillment untuk BII ini.
  5. Aplikasi memproses fulfillment, yang menampilkan opsi SPKLU di sistem infotainmen pengemudi.

Batasan

Implementasi mobil untuk Action Aplikasi memiliki batasan berikut:

Persyaratan

Lakukan langkah-langkah berikut untuk menyiapkan aplikasi mobil untuk Action Aplikasi:

Menentukan intent dan fulfillment Anda

Langkah pertama untuk mengaktifkan fitur suara untuk aplikasi mobil dengan Action Aplikasi adalah menentukan perintah suara atau intent pengguna mana yang didukung aplikasi Anda. Kemudian, tentukan fulfillment untuk setiap intent guna menentukan cara aplikasi memenuhi permintaan tersebut.

  • Intent mana yang didukung oleh aplikasi mobil Anda?

    Action Aplikasi menyediakan model suara terlatih, yang disebut intent bawaan (BII), yang dapat memahami dan menafsirkan perintah suara pengguna saat mereka mengucapkan, "Ok Google". Untuk merespons permintaan suara, Anda cukup mendeklarasikan ke BII yang didukung aplikasi Anda kepada Asisten. Misalnya, jika Anda ingin aplikasi membantu menemukan fasilitas parkir, Anda harus mengimplementasikan BII GET_PARKING_FACILITY. Atau, terapkan GET_CHARGING_STATION BII untuk membantu pengguna menemukan SPKLU mobil listrik.

  • Bagaimana sebaiknya aplikasi Anda memenuhi setiap intent?

    Aplikasi Anda memenuhi permintaan suara dengan meluncurkan aplikasi itu sendiri ke layar yang sesuai. Action Aplikasi menyediakan fulfillment Anda dengan parameter yang diekstrak dari permintaan pengguna, memungkinkan Anda menyesuaikan respons Anda dengan kebutuhan pengguna.

Mengintegrasikan Action Aplikasi

Setelah menentukan strategi fulfillment Anda, ikuti langkah-langkah berikut untuk mengaktifkan aplikasi mobil Anda dengan suara:

  1. Buka aktivitas utama AndroidManifest.xml dan deklarasikan dukungan untuk pintasan Android. Anda menggunakan elemen pintasan capability untuk mendeklarasikan BII yang didukung aplikasi Anda kepada Asisten. Untuk informasi selengkapnya, lihat Menambahkan kemampuan.

     <!-- AndroidManifest.xml -->
     <meta-data
         android:name="android.app.shortcuts"
         android:resource="@xml/shortcuts" />
    
  2. Selanjutnya, tambahkan elemen <intent-filter> ke AndroidManifest.xml. Ini memungkinkan Asisten menggunakan deep link untuk terhubung ke konten aplikasi Anda.

    • Untuk fulfillment Android Auto, <intent-filter> sama dengan aplikasi seluler Anda.

    • Untuk Android Automotive OS, sesi CarAppService aplikasi akan memicu Asisten. Untuk mengizinkan sesi memicu deep link Anda, tentukan <intent-filter> dalam elemen <activity> dari AndroidManifest.xml.

    <!-- AndroidManifest.xml -->
    <activity
      ...
      android:name="androidx.car.app.activity.CarAppActivity">
      ...
      <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <data
            android:scheme="YOUR_SCHEME"
            android:host="YOUR_HOST" />
      </intent-filter>
    </activity>
    
  3. Jika Anda belum memiliki file shortcuts.xml direktori res/xml aplikasi Anda, buat file baru. Untuk informasi tentang cara Action Aplikasi menggunakan pintasan Android, lihat Membuat shortcuts.xml.

    Di shortcuts.xml, terapkan capability untuk BII yang Anda pilih. Selanjutnya, tambahkan <intent> bertingkat untuk menentukan fulfillment aplikasi.

    <!-- shortcuts.xml -->
    <?xml version="1.0" encoding="utf-8"?>
    <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
    
      <capability android:name="actions.intent.GET_PARKING_FACILITY">
        <intent>
          <url-template
          android:value="YOUR_SCHEME://YOUR_HOST{?name,address,disambiguatingDescription,latitude,longitude}">
    
          <!-- Facility name, e.g. "Googleplex" -->
          <parameter
            android:name="parkingFacility.name"
            android:key="name"/>
          <!-- Address, e.g. "1600 Amphitheatre Pkwy, Mountain View, CA 94043" -->
          <parameter
            android:name="parkingFacility.address"
            android:key="address"/>
          <!-- Disambiguate the type of service, e.g. "valet" -->
          <parameter
            android:name="parkingFacility.disambiguatingDescription"
            android:key="disambiguatingDescription"/>
          <!-- Latitude, e.g. "37.3861" -->
          <parameter
            android:name="parkingFacility.geo.latitude"
            android:key="latitude"/>
          <!-- Longitude, e.g. "-122.084" -->
          <parameter
            android:name="parkingFacility.geo.longitude"
            android:key="longitude"/>
        </intent>
      </capability>
    </shortcuts>
    
  4. Terakhir, update logika Session() aplikasi mobil Anda untuk menangani fulfillment Action Aplikasi yang masuk. Contoh berikut menunjukkan penanganan intent untuk Session.onCreateScreen(), dan Session.onNewIntent().

    onCreateScreen()

    Kotlin

    @Override
    fun onCreateScreen(@NonNull intent: Intent): Screen {
      if (intent.getData() != null) {
          val uri: Uri = intent.getData()
          // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
          // Build your Templates with parsed uri parameters
      ...
     }
    }
    

    Java

    @Override
    public Screen onCreateScreen(@NonNull Intent intent) {
    if (intent.getData() != null) {
      Uri uri = intent.getData();
      // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
      // Build your Templates with parsed uri parameters
    ...
    }
    }
    

    onNewIntent()

    Kotlin

    @Override
    fun onNewIntent(@NonNull intent: Intent): Screen {
      if (intent.getData() != null) {
          val uri: Uri = intent.getData()
          // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
          // Build your Templates with parsed uri parameters
          ...
      }
    }
    

    Java

    @Override
    public void onNewIntent(@NonNull Intent intent) {
    if (intent.getData() != null) {
     Uri uri = intent.getData();
     // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
     // Build your Templates with parsed uri parameters
     ...
    }
    }
    

Melihat pratinjau, menguji, dan memublikasikan aplikasi

Action Aplikasi menyediakan alat untuk melihat pratinjau dan menguji aplikasi Anda. Buka ringkasan Action Aplikasi untuk informasi tentang alat ini, dan untuk detail tentang cara memublikasikan aplikasi mobil Anda yang diaktifkan suara ke Play Store.