1. Ringkasan
Pada codelab Action Aplikasi yang pertama, Anda telah mempelajari cara memperluas Asisten Google ke contoh aplikasi kebugaran dengan menerapkan intent bawaan (BII) dari kategori BII Kesehatan dan Kebugaran.
Dengan Action Aplikasi, pengguna dapat meluncurkan langsung fitur aplikasi tertentu dari Asisten dengan mengucapkan hal-hal seperti, "Ok Google, mulai sesi lari 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 cara:
- Menggunakan parameter BII 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 sudah siap untuk pengembangan Action Aplikasi. Lingkungan 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 perangkat 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 (BII) Asisten. Asisten kemudian memetakan intent ke kemampuannya (yang menerapkan 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 kemampuannya.
Dalam codelab ini, Anda menentukan kemampuan yang mendaftarkan dukungan untuk BII GET_EXERCISE_OBSERVATION
. Dalam kemampuan ini, Anda menginstruksikan Asisten untuk menghasilkan intent Android ke class widget FitActions
guna memenuhi permintaan BII ini. Anda memperbarui class ini untuk menghasilkan widget yang dipersonalisasi bagi Asisten agar dapat ditampilkan kepada pengguna, dan pengantar TTS untuk diumumkan oleh 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 mengirim ping ke Penerima Siaran perangkat. Layanan ini mengambil informasi tentang widget dari definisi penerima widget dalam resource AndroidManifest.xml
aplikasi. Informasi ini 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 lebih 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-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
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
.
Memperbarui ID aplikasi Android
Memperbarui ID aplikasi akan mengidentifikasi aplikasi di perangkat pengujian Anda secara unik dan menghindari error "Nama paket duplikat" jika aplikasi diupload ke Konsol Play. Untuk memperbarui ID aplikasi, buka app/build.gradle
:
android {
...
defaultConfig {
applicationId "com.MYUNIQUENAME.android.fitactions"
...
}
}
Ganti "MYUNIQUENAME" di kolom applicationId
menjadi sesuatu yang unik bagi Anda.
Menginstal plugin pengujian
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 > Settings (Android Studio > Preferences di MacOS).
- Di bagian Plugin, buka Marketplace dan telusuri "Google Assistant". 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 Home 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 dapat dilakukannya. Aplikasi mengisi otomatis 10 aktivitas olahraga dan menampilkan informasi ini pada tampilan pertama.
Mencoba widget yang ada
- Ketuk tombol Home untuk membuka layar utama perangkat pengujian.
- Tekan lama ruang kosong di layar utama, lalu pilih Widgets.
- 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 penggantian
Intent penggantian 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 penggantian agar permintaan berhasil, meskipun tidak ada parameter yang disediakan dalam kueri.
- Di
shortcuts.xml
, tambahkan intent penggantian 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
miliknya.
5. Mengaktifkan widget untuk Asisten
Dengan ditetapkannya kemampuan GET_EXERCISE_OBSERVATION
, perbarui class widget untuk mendukung panggilan suara Action Aplikasi.
Menambahkan library Ekstensi Widget
Library Ekstensi Widget Action Aplikasi meningkatkan kualitas widget Anda untuk pengalaman Asisten yang fokus pada suara. Secara khusus, hal ini memungkinkan Anda memberikan pengantar TTS kustom untuk widget.
- Tambahkan dependensi library Ekstensi Widget ke resource
/app/build.gradle
contoh aplikasi: 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 ini menerima permintaan beserta data BII. Layanan menggunakan data ini untuk menghasilkan objek widget RemoteView
untuk dirender dalam Asisten.
Memperbarui class widget
Aplikasi Anda kini dikonfigurasi untuk merutekan permintaan kemampuan GET_EXERCISE_OBSERVATION
ke class widget. Selanjutnya, perbarui class StatsWidget.kt
untuk menghasilkan 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 seharusnya 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 pembaruan ini memungkinkan class StatsWidget.kt
merespons intent Android yang dihasilkan oleh kemampuan GET_EXERCISE_OBSERVATION
:
optionsBundle
= Bundle- Bundle adalah objek yang dimaksudkan untuk digunakan di seluruh batas proses, di antara 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, di antara 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
. Paket tersebut berisi pasangan nilai kunci BII. Dalam hal ini, nilairunning
diekstrak dari contoh kueri, "Ok Google, tampilkan statistik lari saya di ExampleApp".
- Bundle khusus, yang dihasilkan oleh Action Aplikasi, ditempatkan di dalam opsi widget
isFallbackIntent
=false
- Memeriksa keberadaan parameter BII yang diperlukan dalam
Extras
intent.
- Memeriksa keberadaan parameter BII yang diperlukan dalam
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 berfungsi dengan mengekspos objek LiveData saat menjalankan kueri terhadap database. Dalam kode Anda, Anda mengamati LiveData
ini untuk mengambil aktivitas kebugaran terbaru.
Mengaktifkan TTS
Anda dapat memberikan string TTS yang akan diumumkan Asisten saat menampilkan widget. Sebaiknya sertakan fungsi ini untuk memberikan konteks yang dapat didengar dengan widget Anda. Fungsi ini disediakan oleh library Ekstensi Widget Action Aplikasi, yang memungkinkan Anda menetapkan pengantar teks dan TTS yang menyertai widget Anda 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 menetapkan 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 tindakan Anda dalam menangani berbagai cara yang mungkin diminta pengguna untuk dijalankan Asisten.
Membuat pratinjau
Untuk menguji Action Aplikasi Anda dengan plugin:
- Buka Tools > Google Assistant > App Actions Test Tool. Anda mungkin diminta untuk login ke Android Studio menggunakan akun Google Anda.
- Klik Create Preview. Jika diminta, tinjau dan setujui kebijakan dan persyaratan layanan Action Aplikasi.
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, saat alat meminta Anda untuk memilih dan mengonfigurasi BII, pilih
actions.intent.GET_EXERCISE_OBSERVATION
. - Di kotak exerciseObservation, perbarui nama Olahraga default dari
climbing
menjadirun
. - Klik Run App Action.
Menguji jenis olahraga yang tidak terduga
Untuk menguji jenis olahraga yang tidak terduga dalam alat pengujian:
- Di kotak exerciseObservation, perbarui nilai
name
dariRun
menjadiClimbing
. - Klik Run App Action.
Asisten akan menampilkan widget yang menayangkan informasi "No activity found".
Menguji intent penggantian
Kueri yang memicu intent penggantian akan menampilkan widget yang menayangkan informasi tentang aktivitas yang terakhir dicatat dari jenis olahraga apa pun.
Untuk menguji intent penggantian:
- Di kotak exerciseObservation, hapus objek
aboutExercise
. - Klik Run App Action.
Asisten akan menampilkan widget yang menayangkan 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 dibahas
Dalam codelab ini, Anda telah mempelajari cara:
- Menambahkan widget aplikasi ke BII.
- Mengubah widget untuk mengakses parameter dari Tambahan Android.
Langkah berikutnya
Dari sini, Anda dapat terus mencoba mengoptimalkan aplikasi kebugaran. 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:
- Buka referensi intent bawaan Action Aplikasi guna menemukan cara lainnya 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/GoogleAssistantDev: Komunitas Reddit resmi untuk developer yang bekerja dengan Asisten Google.
Ikuti kami di Twitter @ActionsOnGoogle untuk terus memantau pengumuman terbaru kami, dan kirim tweet ke #appactions untuk membagikan karya yang telah Anda buat.
Survei masukan
Terakhir, isi survei ini untuk memberikan masukan tentang pengalaman Anda dengan codelab ini.