Voice Action Sistem bukan lagi jalur yang direkomendasikan untuk berintegrasi dengan Asisten. Lihat dokumentasi Action Aplikasi untuk informasi lebih lanjut tentang alternatif build.

Memulai Voice Action Sistem

Google Voice Actions mengenali banyak permintaan tindakan yang diucapkan dan diketik serta membuat intent Android untuk tindakan tersebut. Aplikasi seperti Play Musik dan Keep dapat menerima intent ini dan melakukan tindakan yang diminta. Aplikasi Anda juga dapat mendeklarasikan dukungan untuk beberapa tindakan ini:

  1. Menentukan filter intent
  2. Menangani intent dalam aplikasi Anda
  3. Memperbarui status penyelesaian aplikasi

Untuk daftar lengkap tindakan sistem yang didukung, lihat Referensi Tindakan Sistem.

Langkah 1: Tentukan filter intent

Untuk menunjukkan bahwa aplikasi Anda mendukung satu atau beberapa tindakan sistem, sertakan filter intent untuk setiap tindakan dalam file manifes aplikasi Anda.

Misalnya, jika aplikasi Anda dapat menyetel alarm, tambahkan filter intent berikut ke file manifes:

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.SET_ALARM"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

Jika pengguna memiliki beberapa aplikasi yang dapat menangani intent Setel Alarm, Google Voice Actions memungkinkan mereka memilih aplikasi untuk menyelesaikan tindakan:

Gambar yang menampilkan voice action Google saat memanggil aplikasi

Gambar 1: Voice Action memungkinkan pengguna memilih dari aplikasi yang mendukung tindakan sistem.

Langkah 2: Tangani intent di aplikasi Anda

Saat aplikasi Anda menerima intent, aplikasi tersebut harus melakukan tindakan. Dalam contoh ini, alarm harus menyetel alarm. Lihat contoh kode di bawah.

Langkah 3: Perbarui status penyelesaian aplikasi

App Indexing API memungkinkan Anda mengirim aktivitas aplikasi yang telah selesai ke Google. Kemudian, Google dapat menampilkan konten Anda kepada pengguna lagi melalui pelengkapan otomatis kueri dari aplikasi Google.

Setelah aplikasi menjalankan tindakan, panggil metode AppIndexApi.end() dengan jenis tindakan yang sesuai, misalnya Action.TYPE_ADD.

Anda juga harus menetapkan jenis status tindakan yang sesuai untuk melaporkan apakah tindakan berhasil diselesaikan atau tidak. Anda dapat menggunakan metode setActionStatus untuk menetapkan status bagi tindakan tertentu.

Berikut adalah contoh lengkap yang menunjukkan cara menangani intent yang masuk dan menggunakan App Indexing API untuk melaporkan bahwa pengguna berhasil menyetel alarm:

public class MainActivity extends Activity {

    private static final Uri ALARM_URI = Uri.parse("android-app://com.myclockapp/set_alarm_page");

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ...

        // Get the intent
        Intent intent = getIntent();
        if (AlarmClock.ACTION_SET_ALARM.equals(intent.getAction())) {
            if (intent.hasExtra(AlarmClock.EXTRA_HOUR)) {
                // Step 2: get the rest of the intent extras and set an alarm
                ...
            }

            // Step 3: report the action through the App Indexing API
            Thing alarm = new Thing.Builder()
                    .setName("Alarm for 4:00 PM")
                    .setDescription("Alarm set for 4:00 PM, with the 'Argon' ringtone"
                                    + " and vibrate turned on.")
                    .setUrl(APP_URI)
                    .build();

            Action setAlarmAction = new Action.Builder(Action.TYPE_ADD)
                    .setObject(alarm)
                    .setActionStatus(Action.STATUS_TYPE_COMPLETED)
                    .build();

            AppIndex.AppIndexApi.end(mClient, setAlarmAction);
        }
    }

    ...

}

Referensi tindakan sistem

Google Voice Actions mengaktifkan intent saat mengenali salah satu tindakan yang tercantum dalam tabel berikut.

Tindakan alarm

Tindakan Contoh Perintah
Menyetel alarm setel alarm untuk jam 6 pagi
Menyetel timer setel timer selama 5 menit

Tindakan komunikasi

Tindakan Contoh Perintah
Memulai panggilan telepon telepon 555-5555
telepon starbucks
telepon ibu
telepon pesan suara

Tindakan Call hanya dipicu pada perangkat dengan aplikasi telepon bawaan (seperti ponsel) dan di perangkat dengan aplikasi yang mendukung panggilan (seperti tablet dengan aplikasi VoIP).

Tindakan kebugaran

Tindakan Contoh Perintah
Mulai/berhenti bersepeda mulai bersepeda
Memulai/menghentikan lari mulai lari
Memulai/menghentikan olahraga mulai latihan fisik
Tampilkan detak jantung tampilkan detak jantung
Tampilkan jumlah langkah tampilkan jumlah langkah

Tindakan lokal

Tindakan Contoh Perintah
Memesan taksi pesan taksi

Tindakan Pesan taksi hanya dipicu di Android Wear.

Tindakan media

Tindakan Contoh Perintah
Memutar musik dari penelusuran putar michael jackson billie jean
putar musik
putar musik klasik
putar musik
putar pink floyd di vnstreamer
Ambil foto mengambil foto
Merekam video merekam video

Buka tindakan

Tindakan Contoh Perintah
Buka URL buka twitter.com
Buka Aplikasi buka twitter (Berfungsi secara default; tidak ada intent tertentu.)

Tindakan produktivitas

Tindakan Contoh Perintah
Buat catatan catatan pembelian bahan makanan

Telusuri tindakan

Tindakan Contoh Perintah
Melakukan penelusuran menggunakan aplikasi tertentu cari video kucing di youtube