1. Ringkasan
Pada codelab Action Aplikasi pertama, Anda telah mempelajari cara memperluas Asisten Google ke sampel aplikasi kebugaran dengan menerapkan intent bawaan (BII) dari kategori BII Kesehatan dan Kebugaran.
Action Aplikasi memungkinkan pengguna meluncurkan langsung ke fitur aplikasi tertentu dari Asisten dengan menanyakan hal seperti, "Ok Google, mulai berlari di ExampleApp". Selain meluncurkan aplikasi, Asisten dapat menampilkan widget Android interaktif kepada pengguna untuk memenuhi permintaan BII yang memenuhi syarat.
Yang akan Anda buat
Dalam codelab ini, Anda akan mempelajari cara menampilkan widget Android untuk memenuhi permintaan pengguna Asisten. Anda juga akan mempelajari:
- Parameter BII pengguna untuk mempersonalisasi widget.
- Memberikan pengantar text-to-speech (TTS) di Asisten untuk widget Anda.
- Menggunakan Referensi intent bawaan untuk menentukan BII yang mendukung fulfillment widget.
Prasyarat
Sebelum melanjutkan, pastikan lingkungan pengembangan Anda siap untuk mengembangkan Action Aplikasi. Layar ini harus memiliki:
- Terminal untuk menjalankan perintah shell, dengan git terinstal.
- Rilis stabil terbaru dari Android Studio.
- Perangkat Android fisik atau virtual dengan akses Internet.
- Akun Google yang login ke Android Studio, aplikasi Google, dan aplikasi Asisten Google.
Jika Anda menggunakan perangkat fisik, hubungkan ke mesin pengembangan lokal Anda.
2. Memahami cara kerjanya
Asisten Google menggunakan natural language understanding (NLU) untuk membaca permintaan pengguna dan mencocokkannya dengan intent bawaan Asisten (BII). Asisten kemudian memetakan intent ke kemampuan (yang mengimplementasikan BII), yang Anda daftarkan untuk intent tersebut di aplikasi Anda. Terakhir, Asisten memenuhi permintaan pengguna dengan menampilkan widget Android yang dihasilkan aplikasi Anda menggunakan detail yang ditemukan dalam kemampuan.
Dalam codelab ini, Anda menentukan kemampuan yang mendaftarkan dukungan untuk BII GET_EXERCISE_OBSERVATION
. Dalam kemampuan ini, Anda menginstruksikan Asisten untuk membuat intent Android ke class widget FitActions
untuk memenuhi permintaan BII ini. Anda memperbarui class ini untuk membuat widget yang dipersonalisasi bagi Asisten untuk ditampilkan kepada pengguna, dan pengantar TTS untuk Asisten.
Diagram berikut menunjukkan alur ini:
Widget FitActions
Aplikasi contoh FitActions berisi widget informasi olahraga yang dapat ditambahkan pengguna ke layar utama. Widget ini sangat cocok untuk memenuhi kueri pengguna yang memicu BII GET_EXERCISE_OBSERVATION
.
Cara kerja widget
Saat pengguna menambahkan widget ke layar utama, widget tersebut akan melakukan ping ke Penerima Siaran perangkat. Layanan ini mengambil informasi tentang widget dari definisi penerima widget dalam resource AndroidManifest.xml
aplikasi. Informasi tersebut lalu digunakan untuk menghasilkan objek RemoteViews
yang mewakili widget.
Aplikasi contoh menentukan widgets.StatsWidgetProvider
penerima, yang sesuai dengan class StatsWidgetProvider
:
<!-- app/src/main/AndroidManifest.xml -->
<receiver
android:name=".widgets.StatsWidgetProvider"
android:exported="false">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/stats_widget" />
</receiver>
Class StatsWidgetProvider
, StatsWidgetProvider.kt
, mengelola alur pembuatan objek StatsWidget
. Cakupan tugasnya adalah:
- Membuat instance widget dan mengisinya dengan data olahraga dari database aplikasi.
- Memformat data olahraga agar mudah dibaca, dengan
formatDataAndSetWidget()
. - Memberikan nilai default jika data olahraga tidak tersedia, menggunakan
setNoActivityDataWidget()
.
Menambahkan dukungan Asisten
Dalam codelab ini, Anda akan memperbarui aplikasi contoh untuk menangani fungsi Action Aplikasi. Perubahan ini mencakup:
- Mengonfigurasi kemampuan BII
GET_EXERCISE_OBSERVATION
untuk menampilkan instance objekStatsWidget
. - Memperbarui class
StatsWidget
untuk menggunakan fitur Action Aplikasi seperti:- Dengan menggunakan parameter BII, pengguna dapat melihat statistik olahraga tertentu dengan menanyakan hal seperti, "Ok Google, tampilkan statistik lari saya di ExampleApp".
- Menyediakan string pengantar TTS.
- Mengelola kasus khusus, seperti saat kueri pengguna tidak menyertakan parameter jenis olahraga.
3. Menyiapkan lingkungan pengembangan
Mendownload file dasar Anda
Jalankan perintah ini untuk meng-clone repositori GitHub aplikasi contoh:
git clone --branch start-widget-codelab https://github.com/actions-on-google/appactions-fitness-kotlin.git
Setelah meng-clone repositori, ikuti langkah-langkah berikut untuk membukanya di Android Studio:
- Dalam dialog Welcome to Android Studio, klik Import project.
- Cari dan pilih folder tempat Anda meng-clone repositori.
Untuk melihat versi aplikasi yang mewakili codelab yang sudah selesai, clone repo aplikasi contoh menggunakan tanda --branch master
.
Mengubah ID aplikasi Android
Nanti dalam codelab ini, Anda menggunakan plugin Asisten Google untuk menguji action di perangkat fisik atau virtual. Untuk menjalankannya, alat uji mengharuskan aplikasi Anda diupload ke project di Konsol Google Play terlebih dulu. Untuk menghindari error "Nama paket duplikat" saat mengupload aplikasi ke Konsol Play, ubah applicationId
aplikasi contoh menjadi sesuatu yang unik (Google Play tidak akan mengizinkan dua aplikasi dengan applicationId
yang sama diupload).
- Di
app/build.gradle
, perbarui nilaiapplicationId
PUT_YOUR_APPLICATION_ID_HERE
ke ID unik, misalnyacom.codelabs.myname
. Untuk mempelajari ID aplikasi Android lebih lanjut, lihat Menyetel ID aplikasi. - Buka
app/src/res/xml/shortcuts.xml
dan perbarui dua (2) instanceandroid:targetPackage
keapplicationId
unik Anda.
Mengupload ke Konsol Play
Mengupload aplikasi ke project di Konsol Google Play adalah prasyarat untuk menggunakan plugin Asisten Google di Android Studio. Buat aplikasi Anda di Android Studio dan upload ke Konsol Play sebagai draf rilis internal.
Untuk membuat aplikasi di Android Studio:
- Buka Build > Generate Signed Bundle / APK.
- Pilih Android App Bundle, lalu klik Next.
- Masukkan detail untuk menandatangani aplikasi Anda lalu klik Next. Lacak jalur pembuatan paket Anda di bagian Destination Folder.
- Pilih varian build
prodRelease
ataurelease
, lalu klik Finish.
Di Konsol Play, upload app bundle yang baru saja Anda buat sebagai aplikasi baru:
- Di halaman Semua aplikasi, klik Buat aplikasi.
- Di kotak Nama Aplikasi, masukkan nama aplikasi apa pun, seperti "Codelab widget".
- Untuk Aplikasi atau game, pilih Aplikasi.
- Untuk Gratis atau berbayar, pilih Gratis.
- Terima setiap Deklarasi yang tercantum.
- Klik Buat Aplikasi.
- Dari menu samping Konsol Play, buka Pengujian dan temukan halaman Pengujian internal.
- Dari halaman ini, klik Buat rilis baru.
- Jika diminta, klik Lanjutkan untuk menyetujui penandatanganan aplikasi oleh Google Play.
- Di panel App bundle dan APK, upload file AAB yang dibuat di langkah sebelumnya. File ini mungkin berada dalam direktori
app/prod/release
atauapp/release
project Anda). Klik Simpan.
Menginstal plugin uji
Plugin Asisten Google memungkinkan Anda menguji Action Aplikasi di perangkat pengujian. Cara kerjanya adalah dengan mengirimkan informasi ke Asisten melalui aplikasi Google di perangkat Android Anda. Jika Anda belum memiliki plugin tersebut, instal dengan langkah-langkah berikut:
- Buka File > Setelan (Android Studio > Preferensi di MacOS).
- Di bagian Plugin, buka Marketplace dan telusuri "Asisten Google". Anda juga dapat mendownload dan menginstal alat pengujian secara manual.
- Instal alat tersebut lalu mulai ulang Android Studio.
Menguji aplikasi di perangkat Anda
Sebelum membuat lebih banyak perubahan pada aplikasi, sebaiknya Anda mengetahui apa saja yang dapat dilakukan aplikasi contoh.
Jalankan aplikasi di perangkat pengujian Anda:
- Di Android Studio, pilih perangkat fisik atau virtual Anda lalu pilih Run > Run app atau klik Run di toolbar.
- Tekan lama tombol Layar utama untuk menyiapkan Asisten dan memastikannya berfungsi. Anda harus login ke Asisten di perangkat jika belum melakukannya.
Untuk informasi selengkapnya tentang perangkat virtual Android, lihat Membuat dan mengelola perangkat virtual.
Jelajahi aplikasi secara singkat untuk melihat apa yang bisa dilakukannya. Aplikasi mengisi otomatis 10 aktivitas olahraga dan menampilkan informasi ini pada tampilan pertama.
Coba widget yang ada
- Ketuk tombol Beranda untuk membuka layar utama perangkat pengujian.
- Tekan lama ruang kosong di layar utama, lalu pilih Widget.
- Scroll ke bawah daftar widget ke FitActions.
- Tekan lama ikon FitActions dan letakkan widgetnya di layar utama.
4. Menambahkan Action Aplikasi
Pada langkah ini, Anda menambahkan kemampuan BII GET_EXERCISE_OBSERVATION
. Untuk melakukannya, tambahkan elemen capability
baru di shortcuts.xml
. Kemampuan ini menentukan bagaimana kemampuan dipicu, bagaimana parameter BII digunakan, dan intent Android mana yang akan dipanggil untuk memenuhi permintaan.
- Tambahkan elemen
capability
baru ke resourceshortcuts.xml
project contoh dengan konfigurasi ini:
Ganti nilai<!-- fitnessactions/app/src/main/res/xml/shortcuts.xml --> <capability android:name="actions.intent.GET_EXERCISE_OBSERVATION"> <app-widget android:identifier="GET_EXERCISE_OBSERVATION" android:targetClass="com.devrel.android.fitactions.widgets.StatsWidgetProvider" android:targetPackage="PUT_YOUR_APPLICATION_ID_HERE"> <parameter android:name="exerciseObservation.aboutExercise.name" android:key="aboutExerciseName" android:required="true"> </parameter> <extra android:name="hasTts" android:value="true"/> </app-widget> <!-- Add Fallback Intent--> </capability>
android:targetPackage
,PUT_YOUR_APPLICATION_ID_HERE
, denganapplicationId
unik Anda.
Kemampuan ini memetakan BII GET_EXERCISE_OBSERVATION
ke intent app-widget
sehingga saat BII dipicu, widget akan membuat instance dan menampilkannya kepada pengguna.
Sebelum memicu widget, Asisten mengekstrak parameter BII yang didukung dari kueri pengguna. Codelab ini memerlukan parameter BII exerciseObservation.aboutExercise.name
, yang mewakili jenis olahraga yang diminta pengguna. Aplikasi ini mendukung tiga jenis olahraga: "berlari", "berjalan", dan "bersepeda". Anda menyediakan inventaris inline untuk memberi tahu Asisten tentang nilai yang didukung ini.
- Tentukan elemen inventaris ini dengan menambahkan konfigurasi ini, di atas kemampuan
GET_EXERCISE_OBSERVATION
, keshortcuts.xml
:<!-- shortcuts.xml --> <!-- shortcuts are bound to the GET_EXERCISE_OBSERVATION capability and represent the types of exercises supported by the app. --> <shortcut android:shortcutId="running" android:shortcutShortLabel="@string/activity_running"> <capability-binding android:key="actions.intent.GET_EXERCISE_OBSERVATION"> <parameter-binding android:key="exerciseObservation.aboutExercise.name" android:value="@array/runningSynonyms"/> </capability-binding> </shortcut> <shortcut android:shortcutId="walking" android:shortcutShortLabel="@string/activity_walking"> <capability-binding android:key="actions.intent.GET_EXERCISE_OBSERVATION"> <parameter-binding android:key="exerciseObservation.aboutExercise.name" android:value="@array/walkingSynonyms"/> </capability-binding> </shortcut> <shortcut android:shortcutId="cycling" android:shortcutShortLabel="@string/activity_cycling"> <capability-binding android:key="actions.intent.GET_EXERCISE_OBSERVATION"> <parameter-binding android:key="exerciseObservation.aboutExercise.name" android:value="@array/cyclingSynonyms"/> </capability-binding> </shortcut> <capability android:name="actions.intent.GET_EXERCISE_OBSERVATION"> <!-- ... --> </capability>
Menambahkan intent fallback
Intent fallback menangani situasi saat kueri pengguna tidak dapat dipenuhi karena kueri tidak memiliki parameter yang diperlukan oleh kemampuan. Kemampuan GET_EXERCISE_OBSERVATION
memerlukan parameter exerciseObservation.aboutExercise.name
, yang ditentukan oleh atribut android:required="true"
. Untuk situasi ini, Asisten mengharuskan Anda menentukan intent fallback agar permintaan berhasil, meskipun tidak ada parameter yang disediakan dalam kueri.
- Di
shortcuts.xml
, tambahkan intent fallback ke kemampuanGET_EXERCISE_OBSERVATION
menggunakan konfigurasi ini:<!-- shortcuts.xml --> <capability android:name="actions.intent.GET_EXERCISE_OBSERVATION"> <app-widget> <!-- ... --> </app-widget> <!-- Fallback intent with no parameters needed to successfully execute.--> <intent android:identifier="GET_EXERCISE_OBSERVATION_FALLBACK" android:action="android.intent.action.VIEW" android:targetClass="com.devrel.android.fitactions.widgets.StatsWidgetProvider"> </intent> </capability>
Dalam contoh konfigurasi ini, fulfillment penggantian adalah intent Android tanpa parameter dalam data Extra
-nya.
5. Mengaktifkan widget untuk Asisten
Dengan kemampuan GET_EXERCISE_OBSERVATION
yang ditetapkan, update class widget untuk mendukung pemanggilan suara Action Aplikasi.
Menambahkan library Ekstensi Widget
Library Ekstensi Widget Action Aplikasi meningkatkan (kualitas) widget Anda untuk pengalaman Asisten Voice-forward. Secara khusus, ini memungkinkan Anda memberikan pengantar TTS kustom untuk widget.
- Tambahkan dependensi library Ekstensi Widget ke resource contoh aplikasi
/app/build.gradle
:
Klik Sync Now di kotak peringatan yang muncul di Android Studio. Menyinkronkan setelah setiap perubahan// app/build.gradle dependencies { //... implementation "com.google.assistant.appactions:widgets:0.0.1" }
build.gradle
akan membantu Anda menghindari error saat membuat aplikasi.
Menambahkan layanan widget
Layanan adalah komponen aplikasi yang dapat menjalankan operasi yang berjalan lama di latar belakang. Aplikasi Anda harus menyediakan layanan untuk memproses permintaan widget.
- Tambahkan layanan ke resource
AndroidManifest.xml
aplikasi contoh dengan konfigurasi ini:<!-- AndroidManifest.xml --> <service android:name=".widgets.StatsWidgetProvider" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="com.google.assistant.appactions.widgets.PIN_APP_WIDGET" /> </intent-filter> </service>
Selama kueri suara yang memicu fulfillment widget, Asisten menggunakan layanan ini untuk mengirim permintaan ke aplikasi. Layanan menerima permintaan beserta data BII. Layanan menggunakan data ini untuk membuat objek widget RemoteView
untuk dirender dalam Asisten.
Mengupdate class widget
Aplikasi Anda kini dikonfigurasi untuk mengarahkan permintaan kemampuan GET_EXERCISE_OBSERVATION
ke class widget. Selanjutnya, perbarui class StatsWidget.kt
untuk membuat instance widget yang dipersonalisasi ke permintaan pengguna, menggunakan nilai parameter BII.
- Buka class
StatsWidget.kt
dan impor library Ekstensi Widget Action Aplikasi:// StatsWidget.kt // ... Other import statements import com.google.assistant.appactions.widgets.AppActionsWidgetExtension
- Tambahkan variabel pribadi berikut, yang Anda gunakan saat menentukan informasi yang harus mengisi widget:
// StatsWidget.kt private val hasBii: Boolean private val isFallbackIntent: Boolean private val aboutExerciseName: String private val exerciseType: FitActivity.Type
- Tambahkan fungsi
init
untuk mengizinkan class menggunakan data opsi widget yang diteruskan dari Asisten:// StatsWidget.kt init { val optionsBundle = appWidgetManager.getAppWidgetOptions(appWidgetId) val bii = optionsBundle.getString(AppActionsWidgetExtension.EXTRA_APP_ACTIONS_BII) hasBii = !bii.isNullOrBlank() val params = optionsBundle.getBundle(AppActionsWidgetExtension.EXTRA_APP_ACTIONS_PARAMS) if (params != null) { isFallbackIntent = params.isEmpty if (isFallbackIntent) { aboutExerciseName = context.resources.getString(R.string.activity_unknown) } else { aboutExerciseName = params.get("aboutExerciseName") as String } } else { isFallbackIntent = false aboutExerciseName = context.resources.getString(R.string.activity_unknown) } exerciseType = FitActivity.Type.find(aboutExerciseName) }
Mari kita pelajari bagaimana update ini memungkinkan class StatsWidget.kt
untuk merespons intent Android yang dihasilkan oleh kemampuan GET_EXERCISE_OBSERVATION
:
optionsBundle
= Bundle- Bundle adalah objek yang dimaksudkan untuk digunakan di seluruh batas proses, antar-aktivitas dengan intent, dan untuk menyimpan status sementara di seluruh perubahan konfigurasi. Asisten menggunakan objek
Bundle
untuk meneruskan data konfigurasi ke widget.
- Bundle adalah objek yang dimaksudkan untuk digunakan di seluruh batas proses, antar-aktivitas dengan intent, dan untuk menyimpan status sementara di seluruh perubahan konfigurasi. Asisten menggunakan objek
bii
=actions.intent.GET_EXERCISE_OBSERVATION
- Nama BII tersedia dari Bundle menggunakan
AppActionsWidgetExtension
.
- Nama BII tersedia dari Bundle menggunakan
hasBii
=true
- Memeriksa apakah ada BII.
params
=Bundle[{aboutExerciseName=running}]
- Bundle khusus, yang dihasilkan oleh Action Aplikasi, ditempatkan di dalam opsi widget
Bundle
. Daftar tersebut berisi key-value pair BII. Dalam hal ini, nilairunning
diekstrak dari contoh kueri, "Ok Google, tampilkan statistik berjalan di ExampleApp".
- Bundle khusus, yang dihasilkan oleh Action Aplikasi, ditempatkan di dalam opsi widget
isFallbackIntent
=false
- Memeriksa keberadaan parameter BII yang diperlukan dalam intent
Extras
.
- Memeriksa keberadaan parameter BII yang diperlukan dalam intent
aboutExerciseName
=running
- Mendapatkan nilai
Extras
intent untukaboutExerciseName
.
- Mendapatkan nilai
exerciseType
=RUNNING
- Menggunakan
aboutExerciseName
untuk mencari objek jenis database yang sesuai.
- Menggunakan
Setelah class StatsWidget
dapat memproses data intent Android Action Aplikasi yang masuk, perbarui logika alur pembuatan widget untuk memeriksa apakah widget tersebut dipicu oleh Action Aplikasi.
- Di
StatsWidget.kt
, ganti fungsiupdateAppWidget()
dengan kode ini:// StatsWidget.kt fun updateAppWidget() { /** * Checks for App Actions BII invocation and if BII parameter data is present. * If parameter data is missing, use data from last exercise recorded to the * fitness tracking database. */ if (hasBii && !isFallbackIntent) { observeAndUpdateRequestedExercise() } else observeAndUpdateLastExercise() }
Kode sebelumnya merujuk ke fungsi baru, observeAndUpdateRequestedExercise
. Fungsi ini menghasilkan data widget menggunakan data parameter exerciseType
yang diteruskan oleh intent Android Action Aplikasi.
- Tambahkan fungsi
observeAndUpdateRequestedExercise
dengan kode ini:// StatsWidget.kt /** * Create and observe the last exerciseType activity LiveData. */ private fun observeAndUpdateRequestedExercise() { val activityData = repository.getLastActivities(1, exerciseType) activityData.observeOnce { activitiesStat -> if (activitiesStat.isNotEmpty()) { formatDataAndSetWidget(activitiesStat[0]) updateWidget() } else { setNoActivityDataWidget() updateWidget() } } }
Dalam kode sebelumnya, gunakan class repositori yang ada di aplikasi untuk mengambil data kebugaran dari database lokal aplikasi. Class ini menyediakan API yang menyederhanakan akses ke database. Repositori bekerja dengan mengekspos objek LiveData saat melakukan kueri terhadap database. Dalam kode Anda, Anda mengamati LiveData
ini untuk mengambil aktivitas kebugaran terbaru.
Mengaktifkan TTS
Anda dapat memberikan string TTS untuk Asisten yang akan diumumkan saat menampilkan widget. Sebaiknya sertakan ini untuk memberikan konteks yang dapat didengar dengan widget Anda. Fungsi ini disediakan oleh library Ekstensi Widget Action Aplikasi, yang memungkinkan Anda menyetel pengantar teks dan TTS yang menyertai widget di Asisten.
Tempat yang baik untuk memberikan pengantar TTS adalah dalam fungsi formatDataAndSetWidget
, yang memformat data aktivitas yang ditampilkan dari database aplikasi.
- Di
StatsWidget.kt
, tambahkan kode ini ke fungsiformatDataAndSetWidget
:// StatsWidget.kt private fun formatDataAndSetWidget( activityStat: FitActivity, ) { // ... // Add conditional for hasBii for widget with data if (hasBii) { // Formats TTS speech and display text for Assistant val speechText = context.getString( R.string.widget_activity_speech, activityExerciseTypeFormatted, formattedDate, durationInMin, distanceInKm ) val displayText = context.getString( R.string.widget_activity_text, activityExerciseTypeFormatted, formattedDate ) setTts(speechText, displayText) } }
Kode sebelumnya merujuk pada dua resource string: satu untuk ucapan dan yang lain untuk teks. Lihat bagian Rekomendasi gaya Text-to-Speech dari video widget kami untuk rekomendasi TTS. Contoh tersebut juga merujuk ke setTts
, fungsi baru yang memberikan informasi TTS ke instance widget.
- Tambahkan fungsi
setTts
baru ini keStatsWidget.kt
menggunakan kode ini:// StatsWidget.kt /** * Sets TTS to widget */ private fun setTts( speechText: String, displayText: String, ) { val appActionsWidgetExtension: AppActionsWidgetExtension = AppActionsWidgetExtension.newBuilder(appWidgetManager) .setResponseSpeech(speechText) // TTS to be played back to the user .setResponseText(displayText) // Response text to be displayed in Assistant .build() // Update widget with TTS appActionsWidgetExtension.updateWidget(appWidgetId) }
Terakhir, selesaikan logika TTS dengan menyetel informasi TTS saat database olahraga menampilkan data kosong untuk jenis olahraga yang diminta.
- Perbarui fungsi
setNoActivityDataWidget()
diStatsWidget.kt
dengan kode ini:// StatsWidget.kt private fun setNoActivityDataWidget() { // ... // Add conditional for hasBii for widget without data if (hasBii) { // formats speech and display text for Assistant // https://developers.google.com/assistant/app/widgets#library val speechText = context.getString(R.string.widget_no_activity_speech, aboutExerciseName) val displayText = context.getString(R.string.widget_no_activity_text) setTts(speechText, displayText) } }
6. Menguji Action Aplikasi
Selama pengembangan, gunakan plugin Asisten Google untuk melihat pratinjau Action Aplikasi Asisten di perangkat pengujian. Anda dapat menyesuaikan parameter intent untuk Action Aplikasi dengan alat untuk menguji bagaimana action Anda menangani berbagai cara yang mungkin digunakan pengguna untuk meminta Asisten menjalankannya.
Membuat pratinjau
Untuk menguji Action Aplikasi Anda dengan plugin:
- Buka Alat > Asisten Google > Alat Uji Action Aplikasi. Anda mungkin diminta untuk login ke Android Studio. Jika demikian, gunakan akun yang sama yang digunakan sebelumnya dengan Konsol Google Play.
- Klik Buat Pratinjau untuk membuat pratinjau.
Menguji jenis olahraga yang diharapkan
Tampilkan widget yang menampilkan informasi tentang proses terakhir yang dijalankan di aplikasi dengan mengikuti langkah-langkah berikut di alat pengujian:
- Pada langkah pertama, alat meminta Anda untuk memilih dan mengonfigurasi BII, pilih
actions.intent.GET_EXERCISE_OBSERVATION
. - Di kotak exerciseObservation, update nama Olahraga default dari
climbing
menjadirun
. - Klik Jalankan Action Aplikasi.
Menguji jenis olahraga yang tidak terduga
Untuk menguji jenis olahraga yang tidak terduga dalam alat pengujian:
- Di kotak exerciseObservation, update nilai
name
dariRun
menjadiClimbing
. - Klik Jalankan Action Aplikasi.
Asisten akan menampilkan widget yang menampilkan informasi "Aktivitas tidak ditemukan".
Menguji intent fallback
Kueri yang memicu intent fallback akan menampilkan widget yang menampilkan informasi tentang aktivitas yang terakhir dicatat dari jenis olahraga apa pun.
Untuk menguji intent fallback:
- Di kotak exerciseObservation, hapus objek
aboutExercise
. - Klik Jalankan Action Aplikasi.
Asisten akan menampilkan widget yang menampilkan informasi untuk olahraga terakhir yang telah diselesaikan.
7. Langkah berikutnya
Selamat!
Kini Anda memiliki kemampuan untuk memenuhi kueri pengguna menggunakan Widget Android dengan Asisten.
Yang telah kita bahas
Dalam codelab ini, Anda telah mempelajari cara:
- Menambahkan widget aplikasi ke BII.
- Mengubah widget untuk mengakses parameter dari Android Extra.
Langkah berikutnya
Dari sini, Anda dapat mencoba meningkatkan aplikasi kebugaran lebih lanjut. Untuk mereferensikan project yang sudah selesai, lihat repo utama di GitHub.
Berikut beberapa saran untuk mempelajari lebih lanjut cara memperluas aplikasi ini dengan Action Aplikasi:
- Kunjungi referensi intent bawaan Action Aplikasi untuk menemukan lebih banyak cara untuk memperluas aplikasi Anda ke Asisten.
Untuk melanjutkan perjalanan Actions on Google Anda, pelajari referensi berikut:
- developers.google.com/assistant/app: Situs dokumentasi resmi untuk Action Aplikasi Asisten Google.
- Indeks contoh Action Aplikasi: Aplikasi contoh dan kode untuk menjelajahi kemampuan Action Aplikasi.
- Repo GitHub Actions on Google: Kode contoh dan library.
- r/GoogleAssistenDev: Komunitas Reddit resmi untuk developer yang bekerja dengan Asisten Google.
Ikuti kami di Twitter @ActionsOnGoogle untuk mengikuti terus pengumuman terbaru kami, dan kirim tweet ke #appactions untuk membagikan yang telah Anda buat.
Survei masukan
Terakhir, isi survei ini guna memberikan masukan tentang pengalaman Anda dengan codelab ini.