Akıllı ev işlemlerinin nasıl geliştirileceğini öğrenmek için yeni adres olan Google Home Geliştirici Merkezi'ne hoş geldiniz. Not: Actions Console'da işlem oluşturmaya devam edersiniz.

Entegrasyon hatalarını giderme

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Google Cloud Platform (GCP), Google Cloud Monitoring ile projelerinizin güvenilirliğini izlemenizi ve Google Cloud Logging hata günlükleriyle ilgili hataları ayıklamanızı sağlayan araçlar sunar. Kullanıcı amaçları karşılanırken bir hata oluştuğunda Google Home Analytics ardışık düzeni, metriklerinizdeki bu hatayı kaydeder ve proje günlüklerinizde bir hata günlüğü yayınlar.

Hatalarınızı gidermenin iki adımı vardır:

  1. Akıllı ev metrikleriyle projelerinizin durumunu izleyin.
  2. Hata günlüklerindeki ayrıntılı hata açıklamalarını kontrol ederek sorunları inceleyin.

Bu süreç, yerel entegrasyon için de benzerdir. Sorun giderme akışında uzmanlaştıktan sonra hatalarınızla ilgili bilgi edinmek için metrikler ve günlükler arasında kolayca geçiş yapabilirsiniz.

İzleme hataları

Proje metriklerinize erişmek için Google Cloud Monitoring dashboard aracını kullanabilirsiniz. Kaliteyi izleme ve hata ayıklama için özellikle yararlı olan bazı temel grafikler vardır:

  • Başarı Oranı grafiği, projelerinizin güvenilirliğini izlediğinizde başlayabileceğiniz ilk grafiktir. Bu grafikteki düşüşler, kullanıcı tabanınızın bir kısmı veya tamamı için bir kesinti olduğunu gösterebilir. Projenizde yaptığınız her değişiklik veya güncellemeden sonra düzensizlikler olup olmadığını görmek için bu grafiği yakından izlemenizi öneririz.
  • Hata Dökümü grafikleri, en çok entegrasyonlarınızla ilgili sorunların giderilmesi söz konusu olduğunda yararlıdır. Başarı yüzde grafiğinizde vurgulanan her bir hata için hata dökümünüzde bir hata kodu gösterilir. Google Home platform tarafından işaretlenen hataları ve bunları nasıl gidereceğinizi aşağıdaki tabloda görebilirsiniz.

Platform Hata Kodları

Google Home platform tarafından yakalanan sorunları belirlemek için proje günlüklerinizde görebileceğiniz yaygın olarak karşılaşılan bazı hata kodlarını burada bulabilirsiniz. Sorun giderme bilgileri için lütfen aşağıdaki tabloya bakın.

Hata Kodu Açıklama
BACKEND_FAILURE_URL_ERROR Google, hizmetinizden 401 dışında bir HTTP 4xx hata kodu aldı.

Akıllı ev hizmeti günlüklerinizi kontrol etmek için GCP Logging'deki requestId aracını kullanın.
BACKEND_FAILURE_URL_UNREACHABLE Google, hizmetinizden bir HTTP 5xx hata kodu aldı.

Akıllı ev hizmeti günlüklerinizi kontrol etmek için GCP Logging'deki requestId aracını kullanın.
GAL_BAD_3P_RESPONSE Google, geçersiz biçim veya yükteki değerler nedeniyle hesap bağlama hizmetinizden yanıtı ayrıştıramıyor.

Hesap bağlama hizmetinizle ilgili hata günlüklerini kontrol etmek için GCP Logging'deki requestId özelliğini kullanın.
GAL_INTERNAL Google bir erişim jetonu almaya çalıştığında Google dahili hatası oluştu.

GCP Logging'de bu hatanın oranının arttığını görürseniz daha fazla bilgi için bize ulaşın.
GAL_INVALID_ARGUMENT Google bir erişim jetonu almaya çalıştığında Google dahili hatası oluştu.

GCP Logging'de bu hatanın oranının arttığını görürseniz daha fazla bilgi için bize ulaşın.
GAL_NOT_FOUND Kullanıcının Google'da depolanan erişim jetonları ve yenileme jetonları geçersizdir ve artık yenilenemez. Hizmetinizi kullanmaya devam edebilmesi için kullanıcının hesabını yeniden bağlaması gerekiyor.

GCP Logging'de bu hatanın oranının arttığını görürseniz daha fazla bilgi için bize ulaşın.
GAL_PERMISSION_DENIED Jeton paylaşımına izin verilmediğinde Google dahili bir hata oluştu.

GCP Logging'de bu hatanın oranının arttığını görürseniz daha fazla bilgi için bize ulaşın.
GAL_REFRESH_IN_PROGRESS Kullanıcının erişim jetonunun süresi doldu ve jetonun yenilenmesi için eşzamanlı bir girişim zaten devam ediyor.

Bu bir sorun değildir ve herhangi bir işlem yapmanıza gerek yoktur.
INVALID_AUTH_TOKEN Google, hizmetinizden bir HTTP 401 hata kodu aldı.

Erişim jetonunun süresi dolmamış ancak hizmetiniz bu jetonu geçersiz kılmış. Akıllı ev hizmeti günlüklerinizi kontrol etmek için GCP Logging'deki requestId aracını kullanın.
INVALID_JSON JSON yanıtı ayrıştırılamıyor veya anlaşılamıyor.

Uyumsuz parantezler, eksik virgüller, geçersiz karakterler gibi geçersiz söz dizimi için JSON yanıtınızın yapısını kontrol edin.
OPEN_AUTH_FAILURE Kullanıcının erişim jetonunun süresi doldu. Google tarafından yenilenemiyor veya Google, hizmetinizden HTTP 401 hata kodu aldı.

Bu kodda artış oranı görüyorsanız akıllı ev amaçlarıyla ilgili hata oranının veya jeton yenileme isteklerinin artış oranının da artıp artmadığını kontrol edin.
PARTNER_RESPONSE_INVALID_ERROR_CODE Yanıt, tanınmayan bir hata kodu olduğunu gösterir.

İstek yanıtınız bir hata olduğunu gösteriyorsa desteklenen hata kodlarımızda belirtilenden emin olun.
PARTNER_RESPONSE_INVALID_PAYLOAD Yanıt payload alanı, JSON Nesnesi olarak ayrıştırılamıyor.

İstek yanıtınızdaki yük alanının eşleşen köşeli parantezler içerip içermediğini ve JSON alanı olarak doğru yapılandırılıp yapılandırılmadığını kontrol edin.
PARTNER_RESPONSE_INVALID_STATUS Yanıt bir durumu veya yanlış bir durumu belirtmiyor.

Amaç yerine getirme isteklerine verilen yanıtlar, SUCCESS, OFFLINE, ERROR, EXCEPTIONS durumunu ifade etmelidir. Hataları ve istisnaları yönetme hakkında daha fazla bilgi edinebilirsiniz.
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES İstekte bulunan bir veya daha fazla niyet, yanıtta yok.

Yürütme yanıtınızın doğru şekilde yapılandırıldığını ve istekten gelen tüm niyetlere ait sonuçların yanıtınızda yer aldığından emin olun.
PARTNER_RESPONSE_MISSING_DEVICE İstekte bulunan bir veya daha fazla cihaz yanıtta yok.

Yürütme yanıtınızın doğru şekilde yapılandırıldığını ve istekten gelen tüm cihaz kimliklerinin yanıtınızda yer aldığından emin olun.
PARTNER_RESPONSE_MISSING_PAYLOAD Yanıtta payload alanı yok.

İstek yanıtınıza bir yük alanı eklediğinizden emin olun. Yürütme yanıtının doğru şekilde nasıl oluşturulacağı hakkında daha fazla bilgi edinebilirsiniz.
PARTNER_RESPONSE_NOT_OBJECT Yanıt, JSON Nesnesi olarak ayrıştırılamıyor.

İstek yanıtınızdaki tüm alanlarda istenmeyen karakterler, uyumsuz parantezler veya biçimlendirme hataları olup olmadığını kontrol edin. Bazı unicode karakterleri desteklenmeyebilir. Ayrıca, yanıtınızın JSON nesnesi olarak doğru yapılandırıldığından emin olun.
RESPONSE_TIMEOUT Yanıt beklenirken istek zaman aşımına uğradı.

Yanıt gönderme için süre, isteğin gönderilmesinden sonraki 9 saniyedir. Bu süre içinde yanıt gönderdiğinizden emin olun.
RESPONSE_UNAVAILABLE Yanıt alınmaz veya yanıt, durumu belirtmez.

Amaç yerine getirme isteklerine verilen yanıtlar akıllı ev dokümanlarına göre yapılandırılmalı ve durumun göstergesi olmalıdır.

Arama Günlükleri

Metrik kullanarak entegrasyonlarınızı izleme konusunda kendinizi rahat hissettikten sonra sıradaki adım, Cloud Logging aracını kullanarak belirli hataları gidermektir. Hata günlüğü; zaman, hata kodu ve kaynak akıllı ev amacına dair ayrıntıları içeren alanların yer aldığı, JSON benzeri bir giriştir.

GCP içinde, projenize her zaman günlük gönderen birden çok sistem vardır. Günlüklerinizi filtrelemek için sorgu yazmanız ve ihtiyacınız olanları bulmanız gerekir. Sorgular bir Zaman Aralığı, Kaynak, Önem derecesi veya özel girişler temel alınabilir.

Sorgu Bulut Günlükleri

Özel filtrelerinizi oluşturmanıza yardımcı olması için sorgu düğmelerini kullanabilirsiniz.

Cloud Günlük Sorguları Oluşturma

Zaman Aralığı belirtmek için zaman aralığı seçim düğmesini tıklayın ve sağlanan seçeneklerden birini belirleyin. Bu işlem, günlükleri filtreler ve seçilen zaman aralığından başlayan günlükleri gösterir.

Bir Kaynak belirtmek için Kaynak açılır listesini tıklayın, ardından Google Asistan İşlem Projesi'ni seçin. Bu işlem, sorgunuza projenizden gelen günlükleri gösterecek bir filtre ekler.

Acil Durum, Bilgi, Hata Ayıklama ve diğer önem derecesi günlük düzeylerine göre filtrelemek için Önem derecesi düğmesini kullanın.

Özel girişler girmek için Logs Explorer içindeki Sorgu alanını da kullanabilirsiniz. Bu alan tarafından kullanılan sorgu motoru, hem dize eşleştirme gibi temel sorguları hem de karşılaştırıcılar (<, >=, !=) ve boole operatörleri (AND, OR, NOT) dahil olmak üzere daha gelişmiş sorgu türlerini destekler.

Örneğin, aşağıdaki özel giriş LIGHT cihaz türünden kaynaklanan hatalar döndürecek:

resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"

Günlükleri etkili bir şekilde sorgulamayla ilgili daha fazla örnek görmek için Sorgu Kitaplığı'nı ziyaret edin.

Test Düzeltmeleri

Hataları tanımlayıp düzeltmek için güncellemeleri uyguladıktan sonra düzeltmelerinizi Google Home Test Suite ile ayrıntılı şekilde test etmenizi öneririz. Değişikliklerinizi etkili bir şekilde test etmenize yardımcı olan Test Suite öğesinin nasıl kullanılacağıyla ilgili bir kullanıcı rehberi sunuyoruz.

Öğrenme Kaynakları

Bu dokümanda, Akıllı Ev İşleminizdeki hataları giderme adımları açıklanmaktadır. Hata ayıklama hakkında daha fazla bilgi için codelab'lerimizi de inceleyebilirsiniz: