Pemecahan masalah

Aplikasi contoh

Jika Anda mengalami masalah saat menggunakan Home API, Anda dapat mengumpulkan log untuk proses debug lebih lanjut. Pengumpulan log dari perangkat seluler memerlukan Xcode. Jika Anda memerlukan bantuan dari Google, kumpulkan log dari perangkat iOS dan hub, lalu buka tiket di pelacak masalah dengan informasi dan log yang relevan terkait masalah tersebut.

Mengumpulkan log iOS

Perangkat seluler Anda harus terhubung ke komputer lokal untuk semua langkah yang melibatkan Xcode.

Log aplikasi dan log SDK ditampilkan dan dapat dikumpulkan langsung dalam konsol Xcode. Saat perangkat seluler Anda terhubung ke komputer lokal dan Anda menjalankan aplikasi melalui Xcode, konsol akan otomatis mengambil dan menstreaming log output standar (stdout) dan error standar (stderr) dari lapisan aplikasi dan Home SDK terintegrasi. Hal ini memberikan cara mudah untuk memantau proses inisialisasi real-time, interaksi API, dan peristiwa SDK selama pengembangan dan proses debug.

Mengumpulkan log ekstensi dari Xcode

Jika Anda mengalami masalah saat menggunakan Home API, Anda dapat mengumpulkan log untuk proses debug lebih lanjut.

  1. Di Xcode, buka Debug di menu bar atas, lalu klik Attach to Process by PID or Name.

    Debugging aplikasi contoh

  2. Di bagian PID or Process Name, pilih MatterExtension , lalu klik Attach.

    Contoh ekstensi penyertaan aplikasi

  3. Anda akan melihat Waiting to attach to MatterAddDeviceExtension on iPhone jika mengklik kanan atas.

    Status menunggu aplikasi contoh

  4. Klik tab, lalu pilih MatterAddExtension.

    Contoh aplikasi yang menambahkan ekstensi Matter

  5. Konsol akan mencatat log Ekstensi.

Sherlog: Pelacakan Peristiwa Lintas Stack

Sherlog adalah layanan pelacakan real-time yang memberikan tampilan menyeluruh tentang interaksi antara infrastruktur Google dan layanan cloud partner.

Prasyarat: Pelacakan memerlukan penggunaan akun bersama yang dikoordinasikan Google (misalnya, akun demo atau yang terdaftar di GReg).

Tujuan Utama: Men-debug kerusakan fungsional dan masalah integrasi cloud-ke-cloud (C2C) (misalnya, kegagalan penautan akun atau status perangkat yang salah) tanpa memerlukan perubahan kode produksi.

Kemampuan: Menyediakan grafik panggilan RPC lengkap, payload permintaan/respons, dan metadata untuk intent SYNC, EXECUTE, QUERY, dan Penautan Akun.

Log perangkat hub Fuchsia

Anda dapat mengumpulkan log dari hub Fuchsia berikut menggunakan metode ini: * Google Nest Hub (generasi ke-2) * Google Nest Hub Max

Untuk mengaktifkan hub untuk pengambilan log lokal:

  1. Kirim email yang berisi Nomor Seri dan Model perangkat Anda ke Manajer Akun Teknis (TAM) Google. Nomor seri dan model dapat ditemukan dalam huruf kecil di bagian bawah perangkat.
  2. Setelah diizinkan, Anda harus mengaktifkan fitur ini dengan mengikuti langkah-langkah berikut:
    • Dari hub:
      1. Geserkan jari pada layar dari atas ke bawah
      2. Ketuk ikon Setelan
      3. Temukan Versi Fuchsia: Di Nest Hub (generasi ke-2), buka Informasi perangkat > Informasi teknis > Versi Fuchsia
      4. Ketuk "Versi Fuchsia" 7 kali. Tindakan ini akan mengaktifkan opsi developer
      5. Kembali ke menu tingkat teratas
      6. Ketuk "Opsi developer"
      7. Ketuk "Logging Partner"
    • Fitur ini akan diaktifkan selama 24 jam. Setelah itu, aktifkan kembali fitur logging dari langkah 5 dan seterusnya.
  3. Dapatkan alamat IP hub Anda:
    • Dari hub, jika memiliki layar:
      1. Geserkan jari pada layar dari atas ke bawah
      2. Ketuk ikon Setelan
      3. Temukan alamat IP perangkat: Di Nest Hub (generasi ke-2), buka Informasi perangkat > Informasi teknis > Alamat IP
    • Dari aplikasi Google Home (GHA) di ponsel Anda:
    • Ketuk perangkat untuk membuka halaman detail perangkat
    • Ketuk ikon Setelan untuk membuka halaman setelan
    • Temukan alamat IP perangkat: buka Informasi perangkat > Informasi teknis > Alamat IP
  4. Untuk mengambil log dari hub, Anda akan membuat permintaan GET HTTP ke hub dari komputer di jaringan Wi-Fi yang sama.
    • Perhatikan port dan jalur endpoint:
      curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file
      
    • Koneksi hanya dapat tetap terbuka selama satu menit, tetapi data yang diambil dari buffer biasanya memiliki peristiwa sebelumnya selama 20-30 menit.
      • Idealnya, log diekstrak menggunakan metode ini segera setelah menyelesaikan prosedur pengujian untuk memastikan buffer berisi konten yang relevan dengan pengujian (mirip dengan laporan bug Android).

Otomatisasi

Deteksi edge

Otomatisasi dalam ekosistem Google Home memiliki fitur deteksi edge, yaitu logika yang memverifikasi bahwa pemicu hanya diaktifkan saat ada perubahan status sebenarnya, bukan update status yang hanya mengulangi status perangkat sebelumnya.

Misalnya, jika menyalakan lampu adalah pemicu, deteksi edge akan memverifikasi bahwa pemicu hanya diaktifkan jika perangkat lampu tersebut berubah dari mati menjadi menyala, bukan dari menyala menjadi menyala (tidak ada perubahan).

Otomatisasi tidak berfungsi seperti yang diharapkan

Setelah mempertimbangkan deteksi edge, jika otomatisasi tidak berfungsi seperti yang diharapkan:

  1. Periksa setiap perangkat untuk memastikan perangkat berfungsi dengan baik dan independen dari otomatisasi Anda.

  2. Lihat grafik otomatisasi untuk otomatisasi Anda, bandingkan dengan DSL otomatisasi Anda, untuk mengungkapkan asumsi yang mungkin salah di pihak Anda.

  3. Amati status perangkat di aplikasi Google Home selama eksekusi otomatisasi Anda.

  4. Pastikan semua perangkat yang direferensikan oleh otomatisasi ada dalam struktur yang Anda harapkan. Menghapus perangkat yang bergantung pada otomatisasi dapat menimbulkan konsekuensi yang tidak diinginkan. Lihat Dampak penghapusan perangkat pada otomatisasi.

Otomatisasi berjalan saat seharusnya tidak

Jika otomatisasi Anda berjalan saat seharusnya tidak, periksa kriteria pemicu. Anda mungkin perlu menambahkan logika tambahan untuk memastikan perubahan status hanya diambil satu kali dan memicu otomatisasi hanya satu kali.

Otomatisasi tidak dikompilasi

Pastikan aplikasi Anda berisi semua impor yang diperlukan, termasuk setiap class yang sesuai dengan berbagai jenis node serta karakteristik yang Anda referensikan.

Pembuatan otomatisasi gagal validasi

Jika pembuatan otomatisasi tidak lulus validasi, pesan peringatan atau error akan memberikan informasi tentang masalah tersebut. Untuk mengetahui informasi selengkapnya, lihat referensi ValidationIssueType.

OAuth

Jika Anda memiliki klien OAuth yang sudah ada

Jika sudah memiliki klien OAuth terverifikasi untuk aplikasi yang dipublikasikan, Anda dapat menggunakan klien OAuth yang sudah ada untuk menguji Home API.

Pendaftaran Google Home Developer Console tidak diperlukan untuk menguji dan menggunakan Home API. Namun, Anda tetap memerlukan pendaftaran Developer Console yang disetujui untuk memublikasikan aplikasi, meskipun Anda memiliki klien OAuth terverifikasi dari integrasi lain.

Pertimbangan berikut berlaku:

  • Ada batas 100 pengguna saat menggunakan klien OAuth yang sudah ada. Untuk informasi tentang cara menambahkan pengguna pengujian, lihat Membuat client ID OAuth. Terlepas dari verifikasi OAuth, ada batas 100 pengguna yang dapat memberikan izin ke aplikasi Anda yang ditetapkan oleh Home API. Batasan ini akan dihapus setelah pendaftaran Developer Console selesai.

  • Developer Console pendaftaran harus dikirim untuk disetujui saat Anda siap membatasi pemberian jenis perangkat melalui OAuth sebagai persiapan untuk memperbarui aplikasi dengan Home API.

Untuk aplikasi Google Cloud yang masih menunggu verifikasi OAuth, pengguna tidak dapat menyelesaikan alur OAuth hingga verifikasi selesai. Upaya untuk memberikan izin akan gagal dengan error berikut:

Access blocked: <Project Name> has not completed the Google verification process.