1. Ringkasan
Platform developer Asisten Google memungkinkan Anda membuat software untuk memperluas fungsi Asisten Google, asisten pribadi virtual, di lebih dari 1 miliar perangkat, termasuk smart speaker, ponsel, mobil, TV, headphone, dan lainnya. Pengguna berinteraksi dengan Asisten dalam percakapan untuk menyelesaikan berbagai hal, seperti membeli bahan makanan atau memesan transportasi online. Sebagai developer, Anda dapat menggunakan platform developer Asisten untuk dengan mudah membuat dan mengelola pengalaman percakapan yang menyenangkan dan efektif antara pengguna dan layanan fulfillment pihak ketiga Anda sendiri.
Codelab ini mencakup konsep tingkat menengah untuk pengembangan dengan Asisten Google, Cloud Functions, dan Cloud Firestore. Dalam codelab ini, Anda akan membuat game bernama "Latihan Ejaan" yang menggunakan Asisten Google untuk meminta pengguna mengeja kata.
Hal yang akan Anda build
Dalam codelab ini, Anda akan membangun game canggih dengan fungsi berikut:
- Menerima respons ejaan dari pengguna dan, bergantung pada nilainya, mengubah prompt percakapan
- Merespons dengan petunjuk yang berkaitan dengan ejaan kata, seperti definisinya atau mengulangi kata
- Membuat game loop sehingga pengguna dapat berinteraksi lagi dengan Asisten setelah mengeja kata
Sebelum mulai membuat, Anda dapat berinteraksi dengan Action live di perangkat yang dilengkapi dengan Asisten Google dengan mengucapkan "Ok Google, bicara dengan Latihan Ejaan". Untuk pengguna yang kembali, jalur default melalui Action ini akan terlihat seperti interaksi berikut:
Setelah menyelesaikan codelab ini, Action lengkap Anda akan memiliki alur percakapan berikut:
Yang akan Anda pelajari
- Cara berinteraksi dengan Cloud Firestore
- Cara menggunakan slot untuk mengumpulkan data dari pengguna
- Cara memproses input pengguna dan menampilkan respons
- Cara menggunakan kondisi untuk menambahkan logika ke scene
- Cara menambahkan game loop
Yang Anda butuhkan
Prasyarat untuk codelab ini mencakup hal berikut:
- Browser web, seperti Google Chrome
- IDE untuk menulis Cloud Functions.
- Metode pembayaran. Codelab ini menggunakan Cloud Functions for Firebase yang mengharuskan project Anda menggunakan paket harga Firebase Blaze ( Pelajari lebih lanjut).
- Terminal untuk menjalankan perintah shell
- Node.js 10 atau yang lebih baru
2. Mendapatkan kode fungsi
Clone repositori GitHub dari command line:
$ git clone https://github.com/FirebaseExtended/codelab-actions-firestore
3. Membuat project Firebase dan Menyiapkan aplikasi
Membuat project Firebase
- Login ke Firebase.
- Di Firebase console, klik Tambahkan Project (atau Buat project), lalu beri nama project Firebase Anda
Spelling-Practice
.
- Klik opsi pembuatan project. Setujui persyaratan Firebase jika diminta. Lewati penyiapan Google Analytics, karena Anda tidak akan menggunakan Analytics untuk aplikasi ini.
Untuk mempelajari project Firebase lebih lanjut, lihat Memahami project Firebase.
Upgrade ke paket harga Blaze
Untuk menggunakan Cloud Functions for Firebase, Anda harus mengupgrade project Firebase ke paket harga Blaze. Artinya, Anda harus melampirkan akun Penagihan Google Cloud ke project Anda. Anda harus menyediakan kartu kredit atau metode pembayaran lainnya.
Semua project Firebase, termasuk yang menggunakan paket Blaze, masih memiliki akses ke kuota penggunaan gratis untuk Cloud Functions. Langkah-langkah yang diuraikan dalam codelab ini akan termasuk dalam batas penggunaan tanpa biaya. Namun, Anda akan dikenai sedikit biaya ( sekitar $0,03) dari Cloud Storage, yang digunakan untuk menghosting image build Cloud Functions Anda.
4. Menginstal Firebase CLI
Dengan Firebase CLI (antarmuka command line), Anda dapat men-deploy Cloud Functions.
Ada beberapa opsi untuk menginstal Firebase CLI, bergantung pada sistem operasi dan kasus penggunaan Anda. Langkah-langkah berikut menjelaskan opsi yang paling umum jika Anda juga menggunakan Cloud Functions.
- Pastikan Anda telah menginstal npm yang biasanya disertai dengan Node.js.
- Instal atau upgrade CLI dengan menjalankan perintah npm berikut:
$ npm -g install firebase-tools
- Pastikan CLI telah diinstal dengan benar dengan menjalankan:
$ firebase --version
Pastikan versi Firebase CLI adalah 9.0.0 atau yang lebih baru sehingga memiliki semua fitur terbaru yang diperlukan untuk Cloud Functions. Jika tidak, jalankan npm install -g firebase-tools untuk mengupgrade seperti yang ditunjukkan di atas.
- Izinkan Firebase CLI dengan menjalankan:
$ firebase login
- Dari direktori Ejaan-functions-start, siapkan Firebase CLI untuk menggunakan project Firebase Anda. Jalankan perintah berikut, pilih Project ID Anda, lalu ikuti petunjuknya. Jika diminta, Anda dapat memilih Alias apa pun, seperti
codelab
, misalnya.
$ firebase use --add
5. Direktori fungsi
Sekarang Anda akan menambahkan fungsi menggunakan Firebase SDK untuk Cloud Functions guna membangun backend untuk game, Ejaan Practice.
Cloud Functions memungkinkan Anda memiliki kode yang berjalan di cloud tanpa harus menyiapkan server. Codelab ini akan menunjukkan cara membangun fungsi yang bereaksi terhadap peristiwa Firebase Authentication, Cloud Storage, dan Firebase Realtime Database. Mari kita mulai dengan Authentication.
Saat menggunakan Firebase SDK untuk Cloud Functions, kode fungsi Anda akan berada di direktori functions
(secara default). Untuk memudahkan Anda, kami telah membuat file functions/index.js
yang akan menjadi tujuan penulisan kode Anda. Jangan ragu untuk memeriksa direktori functions
sebelum melanjutkan.
$ cd functions $ ls
Kode fungsi Anda juga merupakan aplikasi Node.js, sehingga memerlukan package.json
yang memberikan beberapa informasi tentang aplikasi Anda dan mencantumkan dependensi.
Jika Anda belum terbiasa dengan Node.js, sebaiknya pelajari lebih lanjut sebelum melanjutkan codelab.
File package.json
sudah mencantumkan dua dependensi yang diperlukan: Firebase SDK untuk Cloud Functions dan Firebase Admin SDK. Untuk menginstalnya secara lokal, jalankan npm install
dari direktori functions
:
$ npm install
Sekarang, mari kita lihat file index.js
:
index.js
/** * Copyright 2021 Google Inc. All Rights Reserved. * ... */ // TODO(DEVELOPER): Import the Cloud Functions for Firebase and Firebase Admin modules here. Also import the Actions SDK here. // TODO(DEVELOPER): Write the getWordDetailsFromDictionaryAPI function here. // TODO(DEVELOPER): Write the createSpellingPracticeWord function here. // TODO(DEVELOPER): Write the app Handle getSpellingWordList function here. // TODO(DEVELOPER): Write the app Handle getSpellingWord function here. // TODO(DEVELOPER): Write the app Handle repeatSpellingWord function here. // TODO(DEVELOPER): Write the app Handle definitionOfSpellingWord function here. // TODO(DEVELOPER): Write the app Handle verifySpellingWord function here.
Anda akan mengimpor modul yang diperlukan terlebih dahulu, lalu menulis empat fungsi sebagai pengganti TODO. Lanjutkan ke langkah berikutnya di codelab untuk mengimpor modul.
6. Mengimpor modul yang diperlukan
Codelab ini memerlukan tiga modul.
- Dengan modul
firebase-functions
, kita dapat menulis pemicu untuk Cloud Functions - Modul
firebase-admin
memungkinkan kita untuk menggunakan platform Firebase di server dengan akses admin, misalnya untuk menulis ke Cloud Firestore. - Library Fulfillment Node.js Actions SDK memenuhi pengendali Action SDK untuk Asisten Google.
- Instal Actions SDK dengan menjalankan perintah npm berikut:
$ npm install @assistant/conversation
- Dalam file
index.js
, ganti TODO pertama dengan yang berikut ini.
Perubahan ini akan mengimpor setiap modul yang diperlukan.
Selain itu, Firebase Admin SDK dapat dikonfigurasi secara otomatis saat di-deploy di lingkungan Cloud Functions atau container Google Cloud lainnya. Inilah yang terjadi saat kita memanggil admin.initializeApp();
pada perubahan di bawah ini.
index.js
/** * Copyright 2021 Google Inc. All Rights Reserved. * ... */ // Import the Actions SDK const {conversation} = require('@assistant/conversation'); const https = require('https'); const app = conversation(); const cors = require('cors')({origin: true}); // Import the Firebase SDK for Cloud Functions. const functions = require('firebase-functions'); // Import and initialize the Firebase Admin SDK. const admin = require('firebase-admin'); admin.initializeApp(); // To access Cloud Firestore const db = admin.firestore(); // TODO(DEVELOPER): Write the getWordDetailsFromDictionaryAPI function here. // TODO(DEVELOPER): Write the createSpellingPracticeWord function here. // TODO(DEVELOPER): Write the shuffleWordList function here. // TODO(DEVELOPER): Write the app Handle getSpellingWordList function here. // TODO(DEVELOPER): Write the app Handle getSpellingWord function here. // TODO(DEVELOPER): Write the app Handle repeatSpellingWord function here. // TODO(DEVELOPER): Write the app Handle definitionOfSpellingWord function here. // TODO(DEVELOPER): Write the app Handle verifySpellingWord function here.
Sekarang, mari tambahkan logika bisnis menggunakan fungsi untuk mendukung Tindakan Asisten.
7. Membuat fungsi
Mendapatkan definisi kata dan menuliskannya ke Cloud Firestore
Anda akan menggunakan API publik dictionaryapi.dev
untuk mendapatkan definisi kata.
Dalam file index.js
, ganti TODO untuk getWordDetailsFromDictionaryAPI
dengan yang berikut:
index.js
// Retrieves word definition and audio pronunciation from api.dictionaryapi.dev service // Function uses service provided by https://dictionaryapi.dev/ async function getWordDetailsFromDictionaryAPI(word) { let responseData=""; let req = https.request({ host: 'api.dictionaryapi.dev', port: 443, path:'/api/v2/entries/en/' + word, method:'GET' }, (res) => { res.setEncoding('utf8'); res.on('data', d => { responseData+=d; }) res.on('end',function(){ let object = JSON.parse(responseData) const wordListRef = db.collection('wordlist'); wordListRef.doc(object[0].word).set( object[0] ); return responseData; }); }); req.end(); }
Menambahkan pemicu Cloud Firestore
Selanjutnya, Anda akan membuat Cloud Function yang terpicu setiap kali dokumen baru dibuat di Cloud Firestore. Fungsi ini akan memanggil dictionaryapi.dev
API untuk mendapatkan definisi kata melalui fungsi getWordDetailsFromDictionaryAPI
yang telah kita tulis tepat di atas.
Dalam file index.js
, ganti TODO untuk createSpellingPracticeWord
dengan yang berikut:
index.js
// Pemicu Firestore yang mengambil definisi kata melalui getWordDetailsFromDictionaryAPI untuk setiap dokumen Firestore baru
exports.createSpellingPracticeWord = functions.firestore .document('wordlist/{word}') .onCreate((snap, context) => { const newValue = snap.data(); const word = newValue.word; getWordDetailsFromDictionaryAPI(word); });
Mendapatkan daftar kata untuk game
Anda dapat menulis Cloud Function yang mengambil daftar kata latihan ejaan dari Cloud Firestore untuk Asisten. Untuk itu, kita menggunakan pengendali aplikasi.
Dalam file index.js
, ganti TODO untuk getSpellingWordList
dengan yang berikut ini.
Menambahkan fungsi ini ke app.handle
khusus adalah cara agar fungsi dapat diakses dari Asisten.
index.js
// Store the list of spelling words in Assistant session app.handle('getSpellingWordList', conv => { const wordListRef = db.collection('wordlist').limit(50); const snapshot = wordListRef; if (snapshot.empty) { console.log('No matching documents.'); return; } VocabularyList = [] return snapshot.get().then(snapshot => { snapshot.forEach(doc => { if (doc.data().word) { let definition = 'unknown'; let audio = 'unknown'; try { if(doc.data().hasOwnProperty('meanings')) { if(doc.data().meanings[0].hasOwnProperty('definitions')) { definition = doc.data().meanings[0].definitions[0].definition; } } if(doc.data().hasOwnProperty('phonetics')) { if(doc.data().phonetics.length > 0) audio = doc.data().phonetics[0].audio; } } catch (error) { console.log(error); } let obj = { word: doc.data().word, answer: doc.data().word.split("").join(" "), definition: definition, audio: audio } VocabularyList.push(obj); } // Shuffle the array let currentIndex = VocabularyList.length, temporaryValue, randomIndex; while (0 !== currentIndex) { randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; temporaryValue = VocabularyList[currentIndex]; VocabularyList[currentIndex] = VocabularyList[randomIndex]; VocabularyList[randomIndex] = temporaryValue; } conv.session.params.vocabWord = VocabularyList; conv.session.params.vocabWordIndex = 0; }); }); })
Dapatkan kata dari sesi Asisten
Anda dapat menulis Cloud Function yang menampilkan kata ejaan berikutnya dari daftar kata.
Dalam file index.js
, ganti TODO untuk getSpellingWord
dengan yang berikut:
index.js
// Returns a spelling practice word to Google Assistant and uses Speech Synthesis Markup Language (SSML) to format the response app.handle('getSpellingWord', conv => { if (!conv.session.params.vocabWord.empty) { conv.session.params.vocabWordIndex+=1; const ssml = '<speak>' + '<audio src="'+ conv.session.params.vocabWord[conv.session.params.vocabWordIndex].audio +'">Use phonetics to spell the word.</audio> ' + '</speak>'; conv.add(ssml); } else conv.add('Great job! You completed the Spelling practice'); });
Aktifkan game untuk mengulangi kata
Anda dapat menulis Cloud Function yang mengulangi kata saat ini untuk game.
Dalam file index.js
, ganti TODO untuk repeatSpellingWord
dengan yang berikut:
index.js
// Returns current spelling word app.handle('repeatSpellingWord', conv => { if (!conv.session.params.vocabWord.empty) { const ssml = '<speak>' + '<audio src="'+ conv.session.params.vocabWord[conv.session.params.vocabWordIndex].audio +'">Use phonetics to spell the word. </audio> ' + '</speak>'; conv.add(ssml); } else conv.add('Great job! You completed the Spelling practice'); });
Temukan definisi kata
Anda dapat menulis Cloud Function yang memberikan definisi kata saat ini untuk game.
Dalam file index.js
, ganti TODO untuk definitionOfSpellingWord
dengan yang berikut:
index.js
// Returns spelling word definition from Assistant session parameter app.handle('definitionOfSpellingWord', conv => { conv.add( 'It means ' + conv.session.params.vocabWord[conv.session.params.vocabWordIndex].definition); });
Periksa respons ejaan pengguna
Anda dapat menulis Cloud Function yang memverifikasi respons pengguna tentang cara mengeja kata saat ini untuk game.
Dalam file index.js
, ganti TODO untuk verifySpellingWord
dengan yang berikut:
index.js
// Verifies user spelling response app.handle('verifySpellingWord', conv => { try { userResponse = conv.intent.params.userresponse.resolved.join(""); if (userResponse.toLowerCase() === conv.session.params.vocabWord[conv.session.params.vocabWordIndex].word.toLowerCase()) { conv.add('You are correct. Say next to continue.'); } else { conv.add('Sorry, wrong answer. The correct answer is ' + conv.session.params.vocabWord[conv.session.params.vocabWordIndex].answer + ' . Say next to continue.'); } } catch (error) { conv.add('Sorry. I did not understand your response' ); } }); exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
Men-deploy semua fungsi
Cloud Functions Anda hanya akan aktif setelah Anda men-deploy-nya ke Firebase.
Dari root direktori spelling-functions-start
, jalankan perintah berikut:
$ firebase deploy --only functions
Ini adalah output konsol yang akan Anda lihat:
i deploying functions i functions: ensuring necessary APIs are enabled... ⚠ functions: missing necessary APIs. Enabling now... i env: ensuring necessary APIs are enabled... ⚠ env: missing necessary APIs. Enabling now... i functions: waiting for APIs to activate... i env: waiting for APIs to activate... ✔ env: all necessary APIs are enabled ✔ functions: all necessary APIs are enabled i functions: preparing functions directory for uploading... i functions: packaged functions (X.XX KB) for uploading ✔ functions: functions folder uploaded successfully i starting release process (may take several minutes)... i functions: creating function createSpellingPracticeWord(us-central1)... ✔ functions[createSpellingPracticeWord(us-central1)]: Successful create operation. i functions: creating function ActionsOnGoogleFulfillment(us-central1)... ✔ functions[ActionsOnGoogleFulfillment(us-central1)]: Successful create operation. ✔ Deploy complete! Project Console: https://console.firebase.google.com/project/spelling-practice-1234/overview
Catat URL endpoint Http fungsi ActionsOnGoogleFulfillment untuk digunakan di lain waktu. Untuk mendapatkan endpoint, buka Firebase Console, lalu klik project spelling- practice. Buka dasbor Functions untuk melihat endpoint fungsi.
Anda telah selesai menambahkan semua fungsi yang diperlukan. Sekarang, mari kita beralih ke penyiapan Cloud Firestore.
8. Aktifkan Cloud Firestore
Anda harus mengaktifkan Cloud Firestore.
Di bagian Build Firebase console, klik Firestore. Lalu klik Buat database.
Akses ke data di Cloud Firestore dikontrol oleh Aturan Keamanan. Pertama, Anda harus menetapkan beberapa aturan dasar pada data untuk memulai. Klik Firestore, lalu di tab Aturan di Firebase console, tambahkan aturan berikut, lalu klik Publikasikan.
Aturan berikut membatasi akses data ke pengguna yang login, sehingga mencegah pengguna yang tidak diautentikasi membaca atau menulis.
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { // // WARNING: These rules are insecure! We will replace them with // more secure rules later in the codelab // allow read, write: if request.auth != null; } } }
9. Menambahkan data kata ejaan ke Cloud Firestore
Pada langkah ini, Anda akan menulis data kata ejaan ke Cloud Firestore sehingga Anda dapat membuat daftar kata untuk Asisten (dan game).
Data Cloud Firestore disusun menjadi koleksi, dokumen, kolom, dan subkoleksi. Setiap kata untuk game akan disimpan sebagai dokumennya sendiri dalam koleksi level teratas yang disebut wordlist
. Untuk setiap dokumen baru dalam koleksi Firestore, fungsi createejaingPracticeWord akan dipicu untuk mendapatkan detail kata dari layanan Dictionary API.
Membuat koleksi Cloud Firestore
- Di Firebase console, buka bagian Cloud Firestore.
- Klik + Mulai koleksi.
- Di kotak teks ID Koleksi, masukkan
wordlist
, lalu klik Berikutnya.
Selanjutnya, kita akan membuat dokumen untuk kata: agreement
- Di kotak teks ID Dokumen, masukkan
agreement
. - Di kotak teks Kolom, masukkan
word
lalu di kotak teks Nilai, masukkanagreement
. - Klik Save.
Saat Anda menambahkan dokumen ini ke Cloud Firestore, fungsi createejaingPracticeWord akan terpicu untuk mengambil detail definisi kata. Tambahkan lebih banyak kata (misalnya: kagum, mobil, benar, beri tahu, lebih baik, perjalanan, ...) dengan membuat dokumen baru untuk setiap kata.
10. Menyiapkan Google Assistant
Bagian berikut menjelaskan cara menyiapkan lingkungan pengembangan Asisten Google dan membuat project Action Anda.
Memeriksa setelan izin Google
Untuk menguji Action yang Anda build di codelab ini, Anda harus mengaktifkan izin yang diperlukan sehingga simulator dapat mengakses Action Anda. Untuk mengaktifkan izin, ikuti langkah-langkah berikut:
- Buka halaman Kontrol aktivitas.
- Login dengan Akun Google Anda, jika Anda belum melakukannya.
- Aktifkan izin berikut:
- Aktivitas Web & Aplikasi
- Di bagian Aktivitas Web & Aplikasi, centang kotak di samping Sertakan histori Chrome dan aktivitas dari situs, aplikasi, dan perangkat yang menggunakan layanan Google.
Buat project Actions
Project Action Anda adalah container untuk Action Anda. Untuk membuat project Action di codelab ini, ikuti langkah-langkah berikut:
- Buka konsol Actions.
- Klik New project.
- Setujui persyaratan layanan
- Ketik atau pilih
spelling-practice-codelab
yang Anda buat menggunakan Firebase Console. (Nama ini untuk referensi internal Anda. Kemudian, Anda dapat menetapkan nama eksternal untuk project.)
- Klik Import project.
- Di layar What type of Action do you want to build?, pilih kartu Custom.
- Klik Berikutnya.
- Pilih kartu Blank project.
- Klik Start building.
- Masukkan Ejaan Practice untuk nama tampilan, lalu klik simpan.
Pengguna memulai percakapan dengan Action Anda melalui pemanggilan. Misalnya, pengguna dapat memanggil Action Anda dengan mengucapkan frasa seperti "Ok Google, bicara dengan Latihan Ejaan", dengan Latihan Ejaan sebagai nama tampilan.
Action Anda harus memiliki nama tampilan jika ingin men-deploy-nya ke produksi. Namun, untuk menguji Action, Anda tidak perlu menentukan nama tampilan. Sebagai gantinya, Anda dapat menggunakan frasa "Bicara dengan aplikasi pengujian saya" di simulator untuk memanggil Action Anda.
Mengonfigurasi fulfillment
Anda perlu terhubung ke Asisten pengendali peristiwa untuk Cloud Functions yang telah Anda tulis dan deploy sebelumnya dalam codelab ini.
Untuk mengonfigurasi fulfillment Anda, ikuti langkah-langkah berikut:
- Klik Webhook di navigasi samping.
- Pilih Endpoint Https sebagai opsi fulfillment:
- Masukkan URL endpoint fungsi Anda di kotak teks HTTPs endpoint, lalu klik Save.
Pada bagian berikutnya, Anda akan menyesuaikan prompt untuk pemanggilan utama di Konsol Actions.
Menyiapkan pemanggilan utama
Anda harus mengedit pemanggilan utama untuk menentukan apa yang terjadi setelah pengguna memanggil Action Anda.
Secara default, Action Builder menyediakan perintah generik saat pemanggilan Anda dipicu ("Start build your Action by Define main invocation.").
Untuk mengubah pesan yang dikirimkan Action kepada pengguna saat mereka memanggil Action Anda, ikuti langkah-langkah berikut:
- Klik Main invocation di navigasi.
- Centang
Call your webhook
dan tambahkan nama pengendali peristiwagetSpellingWordList
di kotak teks. - Di editor kode, ganti teks di kolom
speech
dengan pesan selamat datang berikut:Welcome to Spelling Practice
Catatan: Anda dapat menggunakan format YAML atau JSON untuk mengedit perintah Anda.
- Klik Save.
Menguji pemanggilan utama di simulator
Konsol Actions menyediakan alat web untuk menguji Action Anda yang disebut simulator. Antarmuka ini menyimulasikan perangkat hardware dan setelannya, sehingga Anda dapat berkomunikasi dengan Action Anda seolah-olah sedang berjalan di Layar Smart, ponsel, speaker, atau KaiOS.
Untuk menguji pemanggilan utama Action Anda di simulator, ikuti langkah-langkah berikut:
- Di menu navigasi atas, klik Test untuk membuka simulator.
- Untuk memanggil Action di simulator, ketik
Talk to Spelling Practice
di kolom input di kiri atas, lalu tekan Enter pada keyboard.
Saat Anda memicu pemanggilan utama Action, Asisten akan merespons dengan pesan selamat datang yang disesuaikan. Pada tahap ini, percakapan akan berakhir setelah Asisten merespons dengan salam.
Lihat log aktivitas
Saat Anda berada di tab Test, panel di sebelah kanan menampilkan log aktivitas, yang menampilkan histori percakapan sebagai log aktivitas. Setiap log aktivitas menampilkan peristiwa yang terjadi selama percakapan tersebut. Untuk melihat log aktivitas, klik ikon abu-abu sebelum peristiwa tersebut.
Action Anda saat ini memiliki satu log aktivitas, yang menampilkan input pengguna ("Bicara dengan Latihan Ejaan") dan respons Action Anda. Screenshot berikut menampilkan log aktivitas Action Anda:
11. Buat percakapan untuk Latihan Ejaan
Setelah menentukan apa yang terjadi setelah pengguna memanggil Action, Anda dapat membuat percakapan Action lainnya. Latihan Ejaan memiliki empat scene, dan Anda harus mengaktifkan setiap scene sebelum bisa dijalankan. Cara paling umum untuk mengaktifkan scene adalah dengan mengonfigurasi Action Anda sehingga, saat pengguna cocok dengan intent pengguna dalam scene, intent tersebut akan memicu transisi ke scene lain dan mengaktifkannya.
Melakukan transisi dari pemanggilan utama ke scene awal
Di bagian ini, Anda akan membuat scene baru bernama Start
, yang mengirimkan perintah kepada pengguna untuk menanyakan apakah mereka ingin mulai memutar Latihan Ejaan. Anda juga akan menambahkan transisi dari pemanggilan utama ke scene Start
yang baru.
Untuk membuat scene ini dan menambahkan transisi ke scene tersebut, ikuti langkah-langkah berikut:
- Klik Develop di navigasi atas. Kemudian, klik Main invocation di navigasi sebelah kiri.
- Di bagian Transition di sebelah kanan, klik menu drop-down, lalu ketik
Start
di kolom teks.
- Klik Tambahkan. Tindakan ini akan membuat scene yang disebut
Start
, dan memberi tahu Action untuk bertransisi ke sceneStart
setelah Action mengirimkan pesan selamat datang kepada pengguna. - Klik Scenes di navigasi kiri untuk menampilkan daftar scene.
- Di bagian Scenes, klik Start untuk melihat scene
Start
. - Klik + di bagian On enter pada scene
Start
. - Pilih Send prompt.
- Ganti kalimat di kolom
speech
(Enter the response that users will see or hear...
) dengan pertanyaan untuk diajukan kepada pengguna:Use phonetic alphabet to spell the word. For example alpha for a, bravo for b, charlie for c etc. Do you want to continue?
Chip saran menawarkan saran yang dapat diklik kepada pengguna yang akan diproses Action sebagai input pengguna. Di bagian ini, Anda akan menambahkan chip saran yang muncul di bawah perintah yang baru saja Anda konfigurasi (Do you want to play
Spelling Practice
?
) untuk mendukung pengguna di perangkat dengan layar.
Untuk menambahkan chip saran ke perintah scene Start
, ikuti langkah-langkah berikut:
- Di scene
Start
, klik saran di bawah editor kode. Tindakan ini akan menambahkan satu chip saran. - Di kolom
title
, gantiSuggested Response
dengan'Yes'
. - Dengan menggunakan format yang sama, tambahkan chip saran berjudul
'No'
dan'Help with Phonetics'
secara manual. Kode akan terlihat seperti cuplikan berikut: - Klik Save.
Menguji Action Anda di simulator
Pada tahap ini, Action Anda seharusnya bertransisi dari pemanggilan utama ke scene Start dan bertanya kepada pengguna apakah mereka ingin melanjutkan. Chip saran juga akan muncul di tampilan simulasi.
Untuk menguji Action Anda di simulator, ikuti langkah-langkah berikut:
- Di menu navigasi, klik Test untuk membuka simulator.
- Untuk menguji Action Anda di simulator, ketik
Talk to Spelling Practice
di kolom Input. - Tekan Enter. Action Anda akan merespons dengan perintah
Main invocation
dan perintah sceneStart
yang ditambahkan, "Selamat Datang di Latihan Ejaan. Gunakan alfabet fonetik untuk mengeja kata tersebut. Misalnya alfa untuk a, bravo untuk b, charlie untuk c, dll. Ingin melanjutkan?".
Screenshot berikut menunjukkan interaksi ini:
- Klik chip saran
Yes
atauNo
atauHelp with Phonetics
untuk merespons perintah. (Anda juga dapat mengucapkan "Yes" atau "No" atau "Help with Phonetics" atau masukkanYes
atauNo
atauHelp with Phonetics
di kolom Input.)
Saat Anda merespons perintah, Action Anda akan merespons dengan pesan yang menunjukkan bahwa Action tersebut tidak dapat memahami input Anda: "Maaf, saya tidak mengerti. Bisakah Anda mencobanya lagi?" Karena Anda belum mengonfigurasi Action untuk memahami dan merespons input "Yes" atau "No", Action Anda akan mencocokkan input Anda dengan intent NO_MATCH
.
Secara default, intent sistem NO_MATCH
memberikan respons umum, tetapi Anda dapat menyesuaikan respons ini untuk menunjukkan kepada pengguna bahwa Anda tidak memahami input mereka. Asisten mengakhiri percakapan pengguna dengan Action Anda setelah tidak bisa mencocokkan input pengguna tiga kali.
Menambahkan intent no dan fonetik
Setelah pengguna dapat merespons pertanyaan yang ada di Action, Anda dapat mengonfigurasi Action untuk memahami respons pengguna ("Ya" atau "Tidak" atau "Bantuan terkait Fonetik"). Di bagian berikut, Anda akan membuat intent pengguna yang dicocokkan saat pengguna mengucapkan "Yes" atau "No" atau "Bantuan terkait Fonetik" dan menambahkan intent ini ke scene Start
. Kita akan menggunakan intent sistem yes
dan akan membuat intent lainnya.
Membuat intent no
Sekarang, Anda perlu membuat intent no
untuk memahami dan merespons pengguna saat mereka tidak ingin memainkan game. Untuk membuat intent ini, ikuti langkah-langkah berikut:
- Klik Develop di navigasi.
- Klik Intent Kustom di navigasi untuk membuka daftar intent.
- Klik + (tanda plus) di akhir daftar intent. Beri nama intent baru
no
lalu tekan Enter. - Klik no untuk membuka halaman intent
no
. - Di bagian Add trainingPhrase, klik kotak teks Enter Phrase dan masukkan frasa berikut:
No
N
I don't want
nope
- Klik Save.
Tambahkan intent no
ke scene Start
Sekarang, Action dapat memahami kapan pengguna menyatakan "no" atau sesuatu yang mirip dengan "no", seperti "nope". Anda harus menambahkan intent pengguna no
ke scene Start
karena pengguna merespons perintah Start
("Welcome to Ejaan Practice. Gunakan alfabet fonetik untuk mengeja kata tersebut. Misalnya alfa untuk a, bravo untuk b, charlie untuk c, dll. Ingin melanjutkan?").
Untuk menambahkan intent ini ke scene Start
, ikuti langkah-langkah berikut:
- Klik scene Start di navigasi.
- Klik + (tanda plus) di scene
Start
di samping Penanganan intent pengguna. - Di bagian Intent, pilih no di drop-down.
- Klik Send prompt, lalu perbarui kolom
speech
dengan teks berikut:Good Bye
.
Kode di editor Anda akan terlihat seperti cuplikan berikut:
candidates: - first_simple: variants: - speech: >- Goodbye.
- Di bagian Transition, pilih End conversation dari dropdown.
- Klik Save.
Menguji intent no
di simulator
Pada tahap ini, Action Anda memahami kapan pengguna tidak ingin memainkan game dan menampilkan respons yang sesuai.
Untuk menguji intent ini dalam simulator, ikuti langkah-langkah berikut:
- Di menu navigasi, klik Test.
- Ketik
Talk to Spelling Practice
di kolom Input lalu tekanEnter
. - Ketik
No
di kolom Input, lalu tekan Enter. Atau, klik Tidak ada chip saran.
Menambahkan intent YES
sistem ke scene Start
Sekarang, kita akan menambahkan intent SYSTEM "YES" ke scene Start
, karena pengguna merespons ya untuk perintah Start
("Welcome to ejaing Practice. Gunakan alfabet fonetik untuk mengeja kata tersebut. Misalnya alfa untuk a, bravo untuk b, charlie untuk c, dll. Ingin melanjutkan?").
Untuk menambahkan intent pengguna ini ke scene Start
, ikuti langkah-langkah berikut:
- Klik scene Start di navigasi.
- Klik + (tanda plus) di scene
Start
di samping User intent handler. - Di bagian Semua Intent Sistem, pilih YA di drop-down intent.
- Klik Call your webhook dan perbarui kotak teks
event handler
dengan fungsi yang telah Anda buat sebelumnya:getSpellingWordList
- Di bagian Transition, klik drop-down dan pilih End conversation.
- Klik Save.
Menguji intent YES
di simulator
Pada tahap ini, Action Anda memahami kapan pengguna ingin memainkan game dan menampilkan respons yang sesuai.
Untuk menguji intent ini dalam simulator, ikuti langkah-langkah berikut:
- Di menu navigasi, klik Test.
- Untuk menguji Action di simulator, ketik
Talk to Spelling Practice
di kolom Input, lalu tekan Enter. - Ketik
Yes
di kolom Input, lalu tekan Enter. Atau, klik chip saranYes
.
Action Anda mengambil daftar semua kata latihan ejaan dan menyimpannya dalam sesi. Action Anda kemudian mengakhiri sesi karena Anda memilih transisi End conversation
untuk intent YES
.
Membuat intent Phonetics
Untuk membuat intent Phonetics
, ikuti langkah-langkah berikut:
- Klik Develop di navigasi.
- Klik Intent Kustom di navigasi untuk membuka daftar intent.
- Klik + (tanda plus) di akhir daftar intent. Beri nama intent baru
phonetics
lalu tekanEnter
. - Klik intent
phonetics
untuk membuka halaman intentphonetics
. - Di bagian Tambahkan frasa pelatihan, klik kotak teks Enter Phrase dan masukkan frasa berikut:
how do I spell words
phonetics
help me with phonetics
phonetic alphabet
- Klik Save.
Tambahkan intent phonetics
ke scene Start
Sekarang, Action dapat memahami kapan pengguna menyatakan intent "fonetik". Anda dapat menambahkan intent pengguna phonetics
ke scene Start
, karena pengguna merespons perintah Start
("Selamat Datang di Latihan Ejaan. Gunakan alfabet fonetik untuk mengeja kata tersebut. Misalnya alfa untuk a, bravo untuk b, charlie untuk c, dll. Ingin melanjutkan?").
Untuk menambahkan intent pengguna ini ke scene Start
, ikuti langkah-langkah berikut:
- Klik scene Start di navigasi.
- Klik + (tanda plus) di scene
Start
di samping Penanganan intent pengguna. - Pilih fonetik di drop-down intent.
- Di bagian Transition, klik drop-down dan pilih End conversation.
- Klik Save.
Transisi dari scene Start ke scene Ejaan
Di bagian ini, Anda akan membuat suasana baru bernama Ejaan, yang mengirimkan perintah kepada pengguna untuk mengeja kata menggunakan alfabet fonetik.
Untuk membuat scene ini dan menambahkan transisi ke scene tersebut, ikuti langkah-langkah berikut:
- Klik Develop di navigasi atas. Kemudian, klik scene Start di navigasi kiri.
- Di bagian Penanganan intent pengguna, klik
when actions.intent.YES is matched
lalu di sebelah kanan di bagian transisi, klik menu drop-down, lalu ketikSpelling
di kolom teks. - Klik Tambahkan. Tindakan ini akan membuat scene yang disebut
Spelling
, dan memberi tahu Action untuk bertransisi ke sceneSpelling
setelah pencocokan dengan intent YES. - Luaskan Scenes di navigasi kiri untuk menampilkan daftar scene.
- Di bagian Scenes, klik Ejaan untuk melihat scene
Spelling
. - Klik + di bagian On enter pada scene
Spelling
. - Klik Call your webhook, lalu masukkan getejaingWord di kotak teks pengendali peristiwa.
- Pilih Send prompt.
- Ganti kalimat di kolom
speech
(Enter the response that users will see or hear...
) dengan {}. Prompt sebenarnya akan diisi oleh webhook.
Chip saran menawarkan saran yang dapat diklik kepada pengguna yang akan diproses Action sebagai input pengguna.
Untuk menambahkan chip saran ke perintah scene Spelling
, ikuti langkah-langkah berikut:
- Di scene
Spelling
, klik saran di bawah editor kode. Tindakan ini akan menambahkan tiga chip saran. - Di kolom
title
, gantiSuggested Response
dengan'Repeat'
. - Dengan menggunakan format yang sama, tambahkan chip saran berjudul
'Skip'
secara manual. - Dengan menggunakan format yang sama, tambahkan chip saran berjudul
'Quit'
secara manual. Kode akan terlihat seperti cuplikan berikut: - Klik Save.
suggestions: - title: 'Repeat' - title: 'Skip' - title: 'Quit'
Membuat intent Repeat
Untuk membuat intent repeat
, ikuti langkah-langkah berikut:
- Klik Develop di navigasi.
- Klik Intent Kustom di navigasi untuk membuka daftar intent.
- Klik + (tanda plus) di akhir daftar intent. Beri nama intent baru
repeat
lalu tekanEnter
. - Klik intent
repeat
untuk membuka halaman intentdefinition
. - Di bagian Add trainingPhrase, klik kotak teks Enter Phrase dan masukkan frasa berikut:
one more time please
say the word again
repeat the word
tell me again
repeat
- Klik Save.
Tambahkan intent repeat
ke scene Spelling
Sekarang, Action dapat memahami kapan pengguna menyatakan intent "repeat". Anda dapat menambahkan intent pengguna repeat
ke scene Spelling
, karena pengguna merespons perintah Spelling
("Eja kata menggunakan alfabet fonetik").
Untuk menambahkan intent pengguna ini ke scene Spelling
, ikuti langkah-langkah berikut:
- Klik scene Ejaan di navigasi.
- Klik + (tanda plus) di scene
Spelling
di samping User intent handler. - Pilih repeat di drop-down intent.
- Centang kotak Call your webhook, lalu masukkan repeatejaingWord di kotak teks pengendali peristiwa untuk mendapatkan definisi kata.
- Centang Send prompt.
- Ganti kalimat di kolom
speech
(Enter the response that users will see or hear...
) dengan ''. Dialog sebenarnya akan diisi oleh webhook.
Menambahkan chip saran ke "Kapan Pengulangan cocok"
- Di bagian "When Repeat is matching" di bagian penanganan Intent Pengguna, klik suggestions di bawah editor kode. Tindakan ini akan menambahkan tiga chip saran.
- Di kolom
title
, gantiSuggested Response
dengan'Skip'
. - Dengan menggunakan format yang sama, tambahkan chip saran secara manual berjudul
'Quit'
.Kode Anda akan terlihat seperti cuplikan berikut:
suggestions: - title: 'Skip' - title: 'Quit'
- Klik Simpan.
Membuat intent definition
Untuk membuat intent definition
, ikuti langkah-langkah berikut:
- Klik Develop di navigasi.
- Klik Intent Kustom di navigasi untuk membuka daftar intent.
- Klik + (tanda plus) di akhir daftar intent. Beri nama intent baru
definition
lalu tekanEnter
. - Klik intent
definition
untuk membuka halaman intentdefinition
. - Di bagian Add trainingPhrase, klik kotak teks Enter Phrase dan masukkan frasa berikut:
I would like to know the definition
tell me the definition
what does it mean
meaning
definition
what is the definition?
- Klik Save.
Tambahkan intent definition
ke scene Spelling
Sekarang, Action dapat memahami kapan pengguna menyatakan intent "definisi". Anda dapat menambahkan intent pengguna definition
ke scene Spelling
, karena pengguna merespons perintah Spelling
("Eja kata menggunakan alfabet fonetik").
Untuk menambahkan intent pengguna ini ke scene Spelling
, ikuti langkah-langkah berikut:
- Klik scene Ejaan di navigasi.
- Klik + (tanda plus) di scene
Spelling
di samping User intent handler. - Pilih definition di drop-down intent.
- Centang Call your webhook, lalu masukkan definitionOfejaingWord di kotak teks pengendali peristiwa untuk mendapatkan definisi kata.
- Centang Sendprompt.
- Ganti kalimat di kolom
speech
(Enter the response that users will see or hear...
) dengan ‘‘`. Perintah sebenarnya akan diisi oleh webhook.
Menambahkan chip saran ke respons webhook
- Di scene
Start
, klik suggestions di bawah editor kode. Tindakan ini akan menambahkan tiga chip saran. - Di kolom
title
, gantiSuggested Response
dengan'Skip'
. - Dengan menggunakan format yang sama, tambahkan chip saran secara manual berjudul
'Quit'
.Kode Anda akan terlihat seperti cuplikan berikut:
suggestions: - title: 'Skip' - title: 'Quit'
- Klik Save.
Membuat intent skip
Untuk membuat intent skip
, ikuti langkah-langkah berikut:
- Klik Develop di navigasi.
- Klik Intent di navigasi untuk membuka daftar intent.
- Klik + (tanda plus) di akhir daftar intent. Beri nama intent baru
skip
lalu tekanEnter
. - Klik intent
skip
untuk membuka halaman intentskip
. - Di bagian Add trainingPhrase, klik kotak teks Enter Phrase dan masukkan frasa berikut:
next word
go next
next
skip
skip word
- Klik Save.
Tambahkan intent Skip
ke scene Spelling
Sekarang, Action dapat memahami kapan pengguna menyatakan intent "skip". Anda dapat menambahkan intent pengguna skip
ke scene Spelling
, karena pengguna merespons perintah Spelling
("Eja kata menggunakan alfabet fonetik").
Untuk menambahkan intent pengguna ini ke scene Spelling
, ikuti langkah-langkah berikut:
- Klik scene Ejaan di navigasi.
- Klik + (tanda plus) di scene
Spelling
di samping User intent handlin. - Pilih lewati di drop-down intent.
- Di bagian Transition di sebelah kanan, klik menu drop-down lalu pilih
Spelling
.
- Klik Save.
Membuat intent quit
Untuk membuat intent Quit
, ikuti langkah-langkah berikut:
- Klik Develop di navigasi.
- Klik Intent di navigasi untuk membuka daftar intent.
- Klik + (tanda plus) di akhir daftar intent. Beri nama intent baru
Quit
lalu tekanEnter
. - Klik intent
Quit
untuk membuka halaman intent definisi. - Di bagian Add trainingPhrase, klik kotak teks Enter Phrase dan masukkan frasa berikut:
I quit
Goodbye
Cancel
Exit
Quit
- Klik Simpan.
Tambahkan intent Quit
ke scene Spelling
Sekarang, Action dapat memahami kapan pengguna menyatakan intent "quit". Anda dapat menambahkan intent pengguna quit
ke scene Spelling
, karena pengguna merespons perintah Spelling
("Eja kata menggunakan alfabet fonetik").
Untuk menambahkan intent pengguna ini ke scene Spelling
, ikuti langkah-langkah berikut:
- Klik scene Ejaan di navigasi.
- Klik + (tanda plus) di scene
Spelling
di samping User intent handler. - Pilih quit di drop-down intent.
- Di bagian Transition di sebelah kanan, klik menu drop-down lalu pilih
End conversation
. - Klik Save.
Buat jenis phonetic_alphabet
Di bagian ini, Anda akan membuat jenis baru bernama phonetic_alphabet
, yang menentukan opsi alfabet fonetik yang dapat dipilih pengguna untuk mengeja kata. Anda juga dapat menentukan beberapa sinonim untuk opsi ini jika pengguna mengatakan sesuatu yang serupa. Di bagian selanjutnya, Anda akan menambahkan jenis phonetic_alphabet
ke slot untuk menentukan bahwa Anda ingin mendapatkan respons pengguna.
Untuk membuat jenis phonetic_alphabet
, ikuti langkah-langkah berikut:
- Klik Develop di navigasi.
- Klik + (tanda plus) di bagian Types.
- Ketik
phonetic_alphabet
, lalu tekanEnter
. - Klik
phonetic_alphabet
untuk membuka opsi. - Di bagian Apa jenis nilai yang akan didukung Jenis ini?, pilih opsi Kata dan sinonim
- Masukkan entri berikut dan nilai yang sesuai di bagian Add entries:
a | alfa, apel, amsterdam |
b | bravo, mentega, baltimore |
C | charlie, kucing, casablanca |
h | delta, anjing, denmark |
m | echo, edward, edison |
f | foxtrot, fox, florida |
g | golf, george, gallipoli |
j | hotel, harry, havana |
i | india, tinta, italia |
j | juliette, johnny, jerusalem |
r | kilo, raja, kilogram |
l | lima, cinta, london |
mnt | mike, uang, madagaskar |
t | november, new york, nancy |
o | oscar, oranye, oslo |
p | papa, paris, peter |
j | quebec, ratu |
| romeo, roma, robert |
dtk | sierra, gula, santiago |
p | tango, tommy, tripoli |
u | seragam, payung, paman |
v | pemenang, cuka, Valencia |
mg | wiski, william, washington |
x | x-ray |
t | yankee, kuning, yorker |
z | zulu, zebra, zurich |
Tabel nilai kunci Anda akan terlihat seperti berikut:
- Klik Save.
Mengonfigurasi pengisian slot
Berikutnya, Anda perlu mengonfigurasi pengisian slot di scene Ejaan. Untuk mengonfigurasi logika pengisian slot, ikuti langkah-langkah berikut:
- Klik scene Ejaan di navigasi.
- Klik + (tanda plus) di scene
Spelling
untuk Slot fill. - Di kolom Masukkan nama slot, tambahkan
userresponse
sebagai nama slot. - Di drop-down Pilih jenis, pilih phonetic_alphabet sebagai jenis slot.
- Centang This slot received a list of values
- Centang This slot is required.
- Pilih opsi Customize slot value writeback dan masukkan respons pengguna di kotak teks parameter sesi.
- Klik Save.
Tambahkan Kondisi ke layar Spelling
Untuk menambahkan Kondisi ke scene Spelling
, ikuti langkah-langkah berikut:
- Klik scene Ejaan di navigasi.
- Klik + (tanda plus) di scene
Spelling
di samping Condition. - Masukkan
scene.slots.status == "FINAL"
sebagai ketentuan - Centang Call your webhook, lalu masukkan verifyejaingWord di kotak teks pengendali peristiwa untuk memverifikasi respons pengguna.
- Centang Send prompt.
- Ganti kalimat di kolom
speech
(Enter the response that users will see or hear...
) dengan {}. Prompt sebenarnya akan diisi oleh webhook.
Menambahkan chip saran ke respons webhook
- Di scene
Start
, klik suggestions di bawah editor kode. Tindakan ini akan menambahkan tiga chip saran. - Di kolom
title
, gantiSuggested Response
dengan'Next'
. - Dengan menggunakan format yang sama, tambahkan chip saran secara manual berjudul
'Quit'
.Kode Anda akan terlihat seperti cuplikan berikut:
suggestions: - title: 'Next' - title: 'Quit'
- Klik Save.
12. Menguji Latihan Ejaan di simulator
Untuk menguji Action Anda di simulator, ikuti langkah-langkah berikut:
- Di menu navigasi, klik Test untuk membuka simulator.
- Untuk menguji Action Anda di simulator, ketik
Talk to Spelling Practice
di kolom Input. - Tekan Enter. Action Anda akan merespons dengan perintah
Main invocation
dan perintah sceneStart
yang ditambahkan, "Selamat Datang di Latihan Ejaan. Gunakan alfabet fonetik untuk mengeja kata tersebut. Misalnya alfa untuk a, bravo untuk b, charlie untuk c, dll. Ingin melanjutkan?". - Ucapkan Ya untuk melanjutkan
- Simulator akan memutar suara kata untuk mengeja
- Anda dapat mengeja kata menggunakan alfabet fonetik. Misalnya, untuk lebih baik ucapkan atau ketik "bravo echo tango tango echo romeo"
- Simulator akan merespons dengan jawaban yang benar atau salah.
- Ucapkan berikutnya untuk melanjutkan ke kata berikutnya atau ucapkan berhenti untuk keluar dari game loop.
13. Selamat
Selamat, Anda telah berhasil membangun game, Latihan Ejaan!
Anda sekarang sudah mengetahui langkah-langkah utama yang diperlukan untuk mem-build game menggunakan Cloud Firestore, Cloud Functions, dan Google Assistant Action Builder.
Yang telah Anda bahas
- Cara berinteraksi dengan Cloud Firestore
- Cara menggunakan slot untuk mengumpulkan data dari pengguna
- Cara memproses input pengguna dan menampilkan respons
- Cara menggunakan kondisi untuk menambahkan logika ke scene
- Cara menambahkan game loop
Referensi pembelajaran tambahan
Anda dapat menjelajahi referensi berikut untuk mempelajari cara membuat Action untuk Asisten Google:
- Dokumentasi untuk mengembangkan Action untuk Asisten Google
- Halaman GitHub Actions on Google untuk kode contoh dan library
- Komunitas Reddit resmi untuk developer yang bekerja dengan Asisten Google
- Pedoman desain percakapan untuk praktik terbaik dan panduan terkait Action Percakapan
- Pengantar Cloud Firestore
Membersihkan project [direkomendasikan]
Untuk menghindari biaya yang mungkin dikenakan, sebaiknya hapus project yang tidak ingin Anda gunakan. Untuk menghapus project yang Anda buat di codelab ini, ikuti langkah-langkah berikut:
- Untuk menghapus project dan resource Firebase Anda, selesaikan langkah-langkah yang tercantum di bagian Shutting down (penghapusan) projects.
Perhatian: Pastikan Anda memilih project yang benar untuk dihapus di halaman Settings Google Cloud Console.
- Opsional: Untuk segera menghapus project Anda dari Konsol Actions, selesaikan langkah-langkah yang tercantum di bagian Menghapus project. Jika Anda tidak menyelesaikan langkah ini, project Anda akan otomatis dihapus setelah sekitar 30 hari.
Ikuti @ActionsOnGoogle & @Firebase di Twitter untuk terus memantau pengumuman terbaru kami dan kirim tweet ke #GoogleIO untuk membagikan karya yang telah Anda buat.