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 hata meydana geldiğinde, Google Home Analytics ardışık düzeni bu metrikleri metriklerinize 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ız hakkında 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 özelliğini kullanabilirsiniz. Özellikle kaliteyi izleme ve hata ayıklama için faydalı olan bazı temel grafikler vardır:

  • Başarı Oranı grafiği, projelerinizin güvenilirliğini izlediğiniz ilk aşamada gösterilir. Bu grafikteki düşüşler, kullanıcı tabanınızın bir kısmı veya tamamı için kesinti olduğunu gösterebilir. Projenizde yaptığınız her değişiklik veya güncellemeden sonra anormallik olup olmadığını görmek için bu grafiği yakından izlemenizi öneririz.
  • Entegrasyonlarınızla ilgili sorunları giderme konusunda en çok Hata Dökümü grafiklerinden yararlanabilirsiniz. Başarı yüzde grafiğinde vurgulanan her 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 hata kodlarından bazıları aşağıda verilmiştir. 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 özelliğini 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 özelliğini kullanın.
GAL_BAD_3P_RESPONSE Google, geçersiz bağlantı veya yükteki değerler nedeniyle hesap bağlama hizmetinizden gelen yanıtı ayrıştıramıyor.

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

GCP Logging'de bu hatanı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'da dahili bir hata oluştu.

GCP Logging'de bu hatanı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çersiz kılındığından artık yenilenemez. Hizmetinizi kullanmaya devam etmek için kullanıcının hesabını yeniden bağlaması gerekiyor.

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

GCP Logging'de bu hatanı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 yenilemeye yönelik eş zamanlı başka bir deneme zaten devam ediyor.

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

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

JSON yanıtınızın yapısının geçersiz söz dizimi, örneğin uyumsuz parantezler, eksik virgüller, geçersiz karakterler olup olmadığını kontrol edin.
OPEN_AUTH_FAILURE Kullanıcının erişim jetonunun süresi dolmuş ve Google, sayfayı yenileyemiyor veya hizmetinizden HTTP 401 hata kodu alıyor.

Bu kodun arttığını görürseniz akıllı ev niyetleriyle veya jeton istekleriyle ilgili hata oranlarında da artış olup olmadığını kontrol edin.
PARTNER_RESPONSE_INVALID_ERROR_CODE Yanıtta tanınmayan bir hata kodu var.

İstek yanıtınız bir hata olduğunu gösteriyorsa desteklenen hata kodlarımızda verilen yanıtlardan birini kullandığınızdan 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ında eşleşen köşeli parantezler olup olmadığını ve doğru bir JSON alanı olarak yapılandırılıp yapılandırılmadığını kontrol edin.
PARTNER_RESPONSE_INVALID_STATUS Yanıt bir durumu veya yanlış bir durumu ifade ediyor.

Amaç karşılama isteklerine verilen yanıtlar, SUCCESS, OFFLINE, ERROR, EXCEPTIONS durumunda olan bir durum belirtmelidir. Hataları ve istisnaları yönetme hakkında daha fazla bilgi edinin.
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 tüm intentlerin sonuçlarının yanıtınızda mevcut olduğunu doğrulayın.
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 yanıttaki tüm cihaz kimliklerinin yanıtınızda bulunduğunu doğrulayın.
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. Yanıtınızın JSON nesnesi olarak doğru şekilde yapılandırıldığından da emin olun.
RESPONSE_TIMEOUT Yanıt beklenirken istek zaman aşımına uğradı.

Yanıt gönderme için zaman aşımı süresi, isteğin gönderildiği tarihten itibaren 9 saniyedir. Bu süre içinde yanıt gönderdiğinizden emin olun.
RESPONSE_UNAVAILABLE Yanıt alınmadı veya yanıt, durumu belirtmiyor.

Amaç karşılama isteklerine verilen yanıtlar akıllı ev dokümanlarına göre yapılandırılmalı ve durumu gösterilmelidir.

Arama Günlükleri

Entegrasyonları metrikleri kullanarak rahatça izleyebilmenizin bir sonraki adımı, Cloud Logging aracını kullanarak belirli hataları gidermektir. Hata günlüğü, kaynak akıllı ev niyetiyle ilgili zaman, hata kodu ve ayrıntılar gibi yararlı bilgiler içeren JSON benzeri bir giriştir.

GCP içinde, projenize sürekli olarak günlük gönderen birden fazla sistem vardır. Günlüklerinizi filtrelemek için sorgu yazmanız ve ihtiyacınız olanları bulmanız gerekir. Sorgular Zaman Aralığı'na, Kaynak'a, Önem Derecesi'ne veya özel girişlere dayalı olabilir.

Cloud Günlüklerini Sorgulama

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

Cloud Log 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, 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 menüsünü tıklayın, ardından Google Asistan İşlem Projesi'ni seçin. Bu, sorgunuza projenizden gelen günlükleri gösterecek bir filtre ekler.

Acil Durum, Bilgi, Hata Ayıklama ve diğer önem düzeyi günlük seviyelerine 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ürür:

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 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ı olarak test etmenizi öneririz. Değişikliklerinizi etkili bir şekilde test etme adımlarında size rehberlik edecek bir Test Suite kullanma kılavuzu sunuyoruz.

Öğrenim Kaynakları

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