Google Cloud menyediakan alat untuk memantau keandalan project Anda dengan Google Cloud Monitoring dan men-debug masalah dengan log error Google Cloud Logging. Setiap kali terjadi kegagalan saat memenuhi intent pengguna, pipeline Google Home Analytics mencatat kegagalan tersebut di metrik, dan memublikasikan log error di log project Anda.
Ada dua langkah untuk memecahkan masalah error:
- Memantau status project Anda dengan metrik smart home.
- Selidiki masalah dengan memeriksa deskripsi error mendetail di log error.
Error pemantauan
Anda dapat menggunakan Google Cloud Monitoring dashboard untuk mengakses metrik project. Ada beberapa diagram utama yang sangat berguna untuk memantau kualitas dan proses debug:
- Diagram Tingkat Keberhasilan adalah diagram pertama yang dimulai saat Anda memantau keandalan project. Penurunan dalam diagram ini dapat menunjukkan gangguan untuk sebagian atau semua basis pengguna. Sebaiknya pantau diagram ini dengan cermat untuk menemukan penyimpangan setelah setiap perubahan atau pembaruan pada project Anda.
- Diagram Latensi Persentil ke-95 adalah indikator penting tentang performa Action smart home Anda bagi pengguna. Fluktuasi tiba-tiba dalam diagram ini mungkin menunjukkan bahwa sistem Anda mungkin tidak dapat memenuhi permintaan tersebut. Memeriksa diagram ini secara berkala disarankan untuk melihat perilaku yang tidak diharapkan.
- Diagram Perincian Error paling berguna untuk memecahkan masalah integrasi Anda. Untuk setiap error yang ditandai dalam diagram persentase keberhasilan, kode error akan ditampilkan dalam perincian error Anda. Anda dapat melihat error yang ditandai oleh Google Home platform dan cara memecahkan masalahnya dalam tabel di bawah.
Kode Error Platform
Berikut adalah beberapa kode error umum yang mungkin Anda lihat di log project untuk mengidentifikasi masalah yang ditangkap oleh Google Home platform. Lihat tabel berikut untuk informasi pemecahan masalah.
Kode Error | Deskripsi |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google telah menerima kode error HTTP 4xx selain 401 dari layanan Anda.
Gunakan requestId di Logging GCP untuk memeriksa log layanan smart home Anda.
|
BACKEND_FAILURE_URL_UNREACHABLE |
Google telah menerima kode error HTTP 5xx dari layanan Anda.
Gunakan requestId di Logging GCP untuk memeriksa log layanan smart home Anda.
|
GAL_BAD_3P_RESPONSE |
Google tidak dapat menguraikan respons dari layanan penautan akun Anda karena format atau nilai yang tidak valid di payload.
Gunakan requestId di GCP Logging untuk memeriksa log error
di layanan penautan akun Anda.
|
GAL_INTERNAL |
Terjadi error internal Google saat Google mencoba mengambil token akses.
Jika Anda melihat peningkatan jumlah error ini di GCP Logging, hubungi kami untuk mengetahui informasi selengkapnya. |
GAL_INVALID_ARGUMENT |
Terjadi error internal Google saat Google mencoba mengambil token akses.
Jika Anda melihat peningkatan jumlah error ini di GCP Logging, hubungi kami untuk mengetahui informasi selengkapnya. |
GAL_NOT_FOUND |
Token akses pengguna dan token refresh yang disimpan di Google tidak tervalidasi dan tidak dapat dimuat ulang lagi. Pengguna harus
menautkan ulang akunnya untuk terus menggunakan layanan Anda.
Jika Anda melihat peningkatan jumlah error ini di GCP Logging, hubungi kami untuk mengetahui informasi selengkapnya. |
GAL_PERMISSION_DENIED |
Terjadi error internal Google saat pembagian token tidak diizinkan.
Jika Anda melihat peningkatan jumlah error ini di GCP Logging, hubungi kami untuk mengetahui informasi selengkapnya. |
GAL_REFRESH_IN_PROGRESS |
Masa berlaku token akses pengguna berakhir dan ada upaya serentak lain untuk memperbaruinya.
Hal ini bukan masalah dan Anda tidak perlu melakukan tindakan apa pun. |
INVALID_AUTH_TOKEN |
Google telah menerima kode error HTTP 401 dari layanan Anda.
Masa berlaku token akses belum berakhir, tetapi layanan Anda telah membatalkan validasinya. Gunakan requestId di GCP Logging untuk memeriksa log layanan smart home Anda.
|
INVALID_JSON |
Respons JSON tidak dapat diuraikan atau dipahami.
Periksa struktur respons JSON Anda untuk menemukan sintaksis yang tidak valid, seperti tanda kurung tidak cocok, koma tidak ada, karakter tidak valid. |
OPEN_AUTH_FAILURE |
Masa berlaku token akses pengguna telah berakhir dan Google tidak dapat memperbaruinya, atau Google telah menerima kode error HTTP 401 dari layanan Anda.
Jika Anda melihat peningkatan jumlah kode ini, periksa apakah Anda juga melihat peningkatan jumlah error yang terkait dengan intent smart home atau permintaan token refresh. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
Respons menunjukkan kode error yang tidak dikenal.
Jika respons permintaan Anda menunjukkan error, pastikan untuk menggunakan error yang disediakan dari kode error yang didukung. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
Kolom payload respons tidak dapat diuraikan sebagai Objek JSON.
Periksa apakah kolom payload dalam respons permintaan Anda memiliki tanda kurung yang cocok dan terstruktur dengan benar sebagai kolom JSON. |
PARTNER_RESPONSE_INVALID_STATUS |
Tanggapan tidak menunjukkan status, atau menunjukkan status yang salah.
Respons terhadap permintaan fulfillment intent harus menunjukkan status dengan SUCCESS, OFFLINE, ERROR, EXCEPTIONS . Anda
dapat menemukan informasi selengkapnya tentang
penanganan error dan pengecualian.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
Satu atau beberapa intent yang terdapat dalam permintaan tidak ada pada respons.
Pastikan bahwa respons eksekusi Anda terstruktur dengan benar dan hasil untuk semua intent dari permintaan ada dalam respons Anda. |
PARTNER_RESPONSE_MISSING_DEVICE |
Satu atau beberapa perangkat yang tidak ada dalam permintaan tidak ada dalam respons.
Pastikan respons eksekusi Anda terstruktur dengan benar dan semua ID perangkat dari permintaan ada dalam respons Anda. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
Respons tidak berisi kolom payload .
Pastikan Anda menyertakan kolom payload dalam respons permintaan. Anda dapat mempelajari lebih lanjut cara membuat respons eksekusi dengan benar. |
PARTNER_RESPONSE_NOT_OBJECT |
Respons tidak dapat diuraikan sebagai Objek JSON.
Periksa semua kolom dalam respons permintaan Anda untuk menemukan karakter yang tidak diinginkan, ketidakcocokan tanda kurung, atau error pemformatan. Beberapa karakter unicode mungkin tidak didukung. Pastikan juga respons Anda disusun dengan benar sebagai objek JSON. |
RESPONSE_TIMEOUT |
Waktu tunggu permintaan habis saat menunggu respons.
Periode waktu tunggu untuk mengirim respons adalah 9 detik sejak permintaan dikirim. Pastikan untuk mengirimkan respons dalam jangka waktu ini. |
RESPONSE_UNAVAILABLE |
Tidak ada respons yang diterima, atau respons tidak menunjukkan status.
Respons terhadap permintaan fulfillment intent harus disusun sesuai dengan dokumen smart home dan menunjukkan status. |
Log Penelusuran
Setelah Anda memahami cara memantau integrasi menggunakan metrik, langkah berikutnya adalah memecahkan masalah error tertentu menggunakan Cloud Logging. Log error adalah entri mirip JSON dengan kolom yang berisi informasi berguna seperti waktu, kode error, dan detail terkait intent smart home asal.
Ada beberapa sistem dalam Google Cloud yang mengirim log ke project Anda setiap saat. Anda harus menulis kueri untuk memfilter log dan menemukan kueri yang diperlukan. Kueri dapat didasarkan pada Rentang Waktu, Resource, Tingkat Keseriusan log, atau entri kustom.

Anda dapat menggunakan tombol kueri untuk membantu membuat filter kustom.

Untuk menentukan Rentang Waktu, klik tombol pilihan rentang waktu
dan pilih salah satu opsi yang disediakan. Tindakan ini akan memfilter log dan menampilkan log yang berasal dari rentang waktu yang dipilih.Untuk menentukan Resource, klik dropdown Resource, lalu pilih Google Action Action Project. Tindakan ini akan menambahkan filter dalam kueri untuk menampilkan log yang berasal dari project Anda.
Gunakan tombol Keparahan untuk memfilter menurut tingkat Darurat, Info, Debug, dan tingkat log keparahan lainnya.
Anda juga dapat menggunakan kolom Kueri di Logs Explorer untuk memasukkan entri kustom. Mesin kueri yang digunakan oleh kolom ini mendukung
kueri dasar seperti pencocokan string, dan jenis kueri lanjutan lainnya termasuk
pembanding (<, >=, !=
) dan operator boolean (AND, OR, NOT
).
Misalnya, entri kustom di bawah akan menampilkan error yang
berasal dari jenis perangkat LIGHT
:
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
Buka Library Kueri untuk menemukan contoh lainnya untuk membuat kueri log secara efektif.
Perbaikan Pengujian
Setelah mengidentifikasi error dan menerapkan update untuk memperbaikinya, sebaiknya uji perbaikan Anda secara menyeluruh dengan Google Home Test Suite. Kami menyediakan panduan pengguna tentang cara menggunakan Test Suite, yang memandu Anda dalam menguji perubahan secara efektif.
Materi Pembelajaran
Dokumen ini memberikan langkah-langkah untuk memecahkan masalah error di Action Smart Home. Anda juga dapat memeriksa codelab kami untuk mempelajari proses debug lebih lanjut:
- Men-debug Codelab Smart Home: Panduan memulai cepat untuk men-debug integrasi cloud smart home.
- Men-debug Codelab Beranda Lokal: Panduan memulai cepat untuk men-debug integrasi lokal smart home.