Google Cloud, Google Cloud Monitoring ile projelerinizin güvenilirliğini izlemenize ve Google Cloud Logging hata günlükleriyle sorunların hata ayıklamasını yapmanıza olanak tanıyan araçlar sunar. Kullanıcı amaçları yerine getirilirken bir hata oluştuğunda Google Home Analytics işlem hattı, bu hatayı metriklerinize kaydeder ve proje günlüklerinize bir hata günlüğü yayınlar.
Hatalarınızı gidermek için iki adım vardır:
- Akıllı ev metrikleriyle projelerinizin durumunu izleyin.
- Hata günlüklerindeki ayrıntılı hata açıklamalarını kontrol ederek sorunları inceleyin.

İsteğe bağlı olarak, diğer kullanıcılarla paylaşarak işleminizi test edebilirsiniz. Hata ve istisnaları uygun şekilde işlediğinizden emin olun.
Hataları izleme
Proje metriklerinize erişmek için Google Cloud Monitoring dashboards simgesini kullanabilirsiniz. Kaliteyi izlemek ve hataları ayıklamak için özellikle yararlı olan bazı önemli grafikler vardır:
- Başarı oranı grafiği, projelerinizin güvenilirliğini izlerken başlangıç noktası olarak kullanacağınız ilk grafiktir. Bu grafikteki düşüşler, kullanıcı tabanınızın bir kısmında veya tamamında kesinti olduğunu gösterebilir. Projenizde her değişiklik veya güncelleme yapıldıktan sonra bu grafikteki düzensizlikleri yakından izlemenizi öneririz.
- %95'lik dilim gecikmesi grafiği, Cloud-to-cloud entegrasyonunuzun kullanıcılarınız için nasıl performans gösterdiğini belirten önemli bir göstergedir. Bu grafikteki ani dalgalanmalar, sistemlerinizin isteklere yetişemediğini gösterebilir. Beklenmedik davranışları görmek için bu grafiği düzenli olarak kontrol etmeniz önerilir.
- Hata Dökümü grafikleri, entegrasyonlarınızdaki sorunları giderme konusunda en faydalı olanlardır. Başarı yüzdesi grafiğinizde 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 bu hatalarla ilgili sorunları nasıl gidereceğinizi aşağıdaki tabloda görebilirsiniz.
Sık karşılaşılan platform hata kodları
Google Home platform tarafından yakalanan sorunları belirlemek için proje günlüklerinizde görebileceğiniz bazı yaygın hata kodları aşağıda verilmiştir. Sorun giderme bilgileri için aşağıdaki tabloya bakın. Hata kodlarının tam listesi için Hatalar ve istisnalar bölümüne bakın.
| Hata Kodu | Açıklama | İş Ortağının Yapılacaklar Listesi |
|---|---|---|
ACTION_NOT_AVAILABLE |
Komut, cihazın mevcut durumu için geçersiz (örneğin, cihaz kapalıyken "Sıcaklığı ayarla").
Karşılama işleminizde cihaz özelliklerini ve mevcut durum mantığını doğrulayın. |
Evet |
AGENT_ISSUE |
İş ortağının bulut aracısında genel bir sorun oluştu.
Karşılama günlüklerinizde işlenmemiş istisnalar veya kilitlenmeler olup olmadığını kontrol edin. |
Evet |
AGENT_UNAVAILABLE_ERROR |
Google, iş ortağının istek karşılama URL'sine ulaşamadı.
Sunucunuzun çevrimiçi olduğundan, güvenlik duvarının Google'ı engellemediğinden ve URL'nin doğru olduğundan emin olun. |
Evet |
APP_LAUNCH_FAILED |
Hedef cihazda üçüncü taraf uygulaması başlatılamadı.
appId'yi ve uygulamanın hedef donanımda desteklendiğini doğrulayın. |
Evet |
AUTH_EXPIRED |
OAuth erişim jetonunun süresi dolmuş ve yenilenemiyor.
Yenileme jetonu rotasyonunu kontrol edin ve kullanıcının erişimi iptal etmediğinden emin olun. |
Evet |
BACKEND_FAILURE_URL_TIMEOUT |
Google'ın hizmetinize ulaşma isteği zaman aşımına uğradı.
Hizmetinizin çevrimiçi olduğunu, bağlantı kabul ettiğini ve kapasiteyi aşmadığını doğrulayın. Ayrıca, hedef cihazın açık, internete bağlı ve senkronize edilmiş olduğunu doğrulayın. |
|
BACKEND_FAILURE_URL_UNREACHABLE |
Google, hizmetinizden bir HTTP 5xx hata kodu aldı.
Akıllı ev hizmeti günlüklerinizi kontrol etmek için Google Cloud Logging'de requestId simgesini kullanın. Sunucu kilitlenmelerini, zaman aşımlarını veya 502/503 ağ geçidi hatalarını araştırın.
|
|
CHANNEL_SWITCH_FAILED |
Cihaz, istenen medya kanalına geçemedi.
Kullanıcının kanal adlarını/numaralarını ve abonelik durumunu doğrulayın. |
Evet |
CHARGER_ISSUE |
Cihaz, şarj sistemiyle ilgili bir donanım sorunu olduğunu bildiriyor.
İş ortağı, donanım düzeyindeki telemetri ve pil sağlığını araştırmalıdır. |
Evet |
CHECK_PARTNER_APP |
Hatayı düzeltmek için kullanıcının iş ortağının uygulamasını açması gerekir.
Bu kodu, karmaşık kullanıcı arayüzü etkileşimi gerektiren hatalar (örneğin, donanım yazılımı güncellemeleri) için kullanın. |
Evet |
COMMAND_FAILED |
Bir komutun yürütülmesi sırasında genel bir hata oluştu.
Temel nedeni bulmak için requestId ile ilgili yerine getirme günlüklerinizi kontrol edin.
|
Evet |
COMMAND_INSERT_FAILED |
Google, cihaz için komutu sıraya alamadı veya işleyemedi.
Veritabanı yazma performansını veya dahili komut sıraya alma mantığını inceleyin. |
Evet |
DEVICE_NOT_FOUND |
İstekteki cihaz kimliği, iş ortağı tarafında mevcut değil.
Arka uçunuzun Home Graph'i her zaman senkronize tuttuğundan emin olun. Cihazlar eklendiğinde veya kaldırıldığında requestSync numaralı telefonu arayın.
|
Evet |
ERROR_STATUS |
Yanıtta, kod içermeyen genel bir "HATA" durumu belirtildi.
Kullanıcı TTS'sini ve kontrol paneli verilerini iyileştirmek için her zaman belirli bir errorCode dizesi ekleyin.
|
Evet |
EXECUTION_BACKEND_FAILURE_URL_ERROR |
Google, karşılamanızdan bir HTTP 4xx hatası (401 dışında) aldı.
403, 404 veya 400 yanıtları için web sunucusu günlüklerinizi kontrol edin. |
Evet |
EXECUTION_BACKEND_FAILURE_URL_ROBOTED |
Karşılama URL'si, robots.txt veya güvenlik filtreleri tarafından engelleniyor.
Yerleştirme uç noktanıza Google'ın tarayıcıları/hizmetleri tarafından erişilebildiğinden emin olun. |
Evet |
EXECUTION_BACKEND_FAILURE_URL_UNREACHABLE |
Google, karşılama hizmetinizden bir HTTP 5xx hatası aldı.
Uç nokta URL hizmetinin kararlı, doğru ve herkese açık olarak erişilebilir olduğundan ve hizmetin çalıştığından emin olun. Durum denetimleri ve yeniden deneme işleme ekleyin. Sunucu kilitlenmelerini, zaman aşımlarını veya 502/503 Gateway hatalarını araştırın. |
Evet |
EXECUTION_BAILOUT_INVALID_RESPONSE |
JSON yanıtı o kadar hatalıydı ki işleme sonlandırıldı.
Yanıtınızın, Amaç şemalarına tamamen uygun olduğundan emin olmak için bir JSON doğrulayıcı kullanın. |
Evet |
EXECUTION_GAL_BAD_3P_RESPONSE |
Jeton yanıtındaki geçersiz biçim nedeniyle hesap bağlama işlemi başarısız oldu.
OAuth sunucunuzun yanıt biçiminin Google'ın koşullarıyla eşleştiğini doğrulayın. |
Evet |
EXECUTION_GAL_INSUFFICIENT_CAPABILITIES |
Kullanıcının hesabında bu işlem için gerekli izinler yok.
OAuth sırasında istenen kapsamları kontrol edin ve gerekli özelliklerle eşleştiğinden emin olun. |
Evet |
EXECUTION_GAL_MAYBE_UNLINKED_BY_3P |
İş ortağı bulutu, kullanıcının hesabının bağlantısını kaldırdığını belirtir.
agentUserId eşlemenizin kararlı olduğundan ve temizlenmediğinden emin olun.
|
Evet |
EXECUTION_GAL_READ_ONLY_MODE_FOR_3P |
Entegrasyon, iş ortağı tarafında salt okunur durumdadır.
Kullanıcının hesabının askıya alınmış veya "yalnızca görüntüleme" bakım modunda olup olmadığını kontrol edin. |
Evet |
EXECUTION_GAL_UNLINKED_BY_3P |
Hesabın bağlantısı, üçüncü taraf hizmeti tarafından proaktif olarak kaldırılmıştır.
Kullanıcının bağlantısının neden kesildiğini araştırın (örneğin, güvenlik sıfırlaması). İş ortağının OAuth sunucusunun, yeni erişim jetonlarının sorunsuz bir şekilde verilmesi için Google'ın refresh_token isteklerine doğru şekilde yanıt verdiğinden emin olun.
|
Evet |
EXECUTION_INVALID_JSON |
JSON yanıt yükü Google tarafından ayrıştırılamadı.
Yanıtınızda söz dizimi hatası, eksik parantez veya geçersiz karakter olup olmadığını kontrol edin. |
Evet |
FAULTY_BATTERY |
Cihaz donanımı, pilin arızalı olduğunu veya bittiğini bildiriyor.
TTS veya uygulamayı kullanarak kullanıcıya fiziksel pili değiştirmesini söyleyin. |
Evet |
FUNCTION_NOT_SUPPORTED |
İstenen mod veya işlev cihaz tarafından desteklenmiyor.
SYNC yanıtınızın, cihazın özelliklerini doğru yansıttığından emin olun.
|
|
HARD_ERROR |
Manuel müdahale olmadan çözülemeyen geçici olmayan bir hata.
Bunu kalıcı donanım arızaları veya kurtarılamayan hesap durumları için kullanın. |
Evet |
INVALID_AUTH_TOKEN |
Google, hizmetinizden bir HTTP 401 hata kodu aldı.
Erişim jetonunun süresi dolmamış ancak hizmetiniz jetonu geçersiz kılmış. Google Cloud Logging'deki requestId özelliğini kullanarak akıllı ev hizmeti günlüklerinizi kontrol edin.
|
|
INVALID_JSON |
Yanıt yapısı geçersiz (örneğin, zorunlu alanlar eksik).
Yanıtınızı Amaç JSON Şemaları'na göre doğrulayın. |
Evet |
LOCK_FAILURE |
Akıllı kilit, istenen duruma geçemedi.
Kilit donanımında fiziksel sıkışmaları, düşük gücü veya motor arızalarını araştırın. |
Evet |
MALFORMED_JSON |
JSON yapısı bozuk (örneğin, kapatılmamış dizeler veya nesneler).
Yanıtları serileştirmek için yerine getirme işleminizde standart bir JSON kitaplığı kullanıldığından emin olun. |
Evet |
MISSING_STATE |
QUERY yanıtı, istenen cihaz durumunu içermiyordu.
SYNC içinde tanımlanan tüm özelliklerin her QUERY veya EXECUTE yanıtında dikkate alındığından ve değişmemiş olsa bile gerekli tüm özellik durumlarının döndürüldüğünden emin olun.
|
Evet |
NETWORK_PROFILE_NOT_RECOGNIZED |
İstenen ağ profili cihaz tarafından bilinmiyor.
Profil adı dizesinin, SYNC yanıtındaki desteklenen profillerle eşleştiğini doğrulayın.
|
Evet |
NOT_IMPLEMENTED |
İstenen amaç veya özellik iş ortağı tarafından uygulanmamıştır.
SYNC yanıtınıza yalnızca tam olarak uyguladığınız özellikleri ekleyin.
|
Evet |
OAUTH_RECONNECT_CALL_TO_ACTION |
Kullanıcının hesabını yeniden bağlaması için bir bildirim tetikler.
Kullanıcının oturumu geçersiz kılındığında ve manuel OAuth yeniden kimlik doğrulaması gerektiğinde bu hatayı kullanın. |
Evet |
OPEN_AUTH_FAILURE |
Kullanıcının erişim jetonunun süresi dolmuş ve Google bu jetonu yenileyemiyor ya da Google, hizmetinizden bir HTTP 401 hata kodu almış.
Bu kodun oranında artış görürseniz akıllı ev amaçları veya yenileme jetonu istekleriyle ilgili hataların oranında da artış olup olmadığını kontrol edin. |
|
PARTNER_RESPONSE_INVALID_ERROR_CODE |
Döndürülen errorCode dizesi, Google'ın desteklenen listesinde yer almıyor.
Dahili hatalarınızı Resmi Hata Listesi ile eşleyin. |
Evet |
PARTNER_RESPONSE_INVALID_PAYLOAD |
Yanıtın payload alanı geçerli bir JSON nesnesi değil.
Karşılama yanıtınızın kök yapısını doğrulayın. |
Evet |
PARTNER_RESPONSE_INVALID_STATUS |
Yanıt status SUCCESS, ERROR veya OFFLINE değildi.
Yanıtınızdaki her cihaz sonucunun geçerli bir durum dizesi içerdiğinden emin olun. |
Evet |
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
Yanıt, istenen tüm komutlar/cihazlar için sonuç içermiyordu.
Yanıt yapınızı Google Home geliştirici dokümanlarına göre doğrulayın. Yanıtın kesilmediğinden veya dahili sunucu hatası nedeniyle boş bir gövde döndürmediğinden emin olun. İsteğin commands dizisindeki her öğenin karşılık gelen bir yanıt girişi olmalıdır.
|
Evet |
PARTNER_RESPONSE_MISSING_DEVICE |
Google'ın istediği belirli bir cihaz yanıttan çıkarıldı.
Yanıtınızın, istek yükünde sağlanan her ID öğesini içerdiğinden emin olun.
|
Evet |
PARTNER_RESPONSE_MISSING_PAYLOAD |
Yanıtta zorunlu payload alanı eksik.
Üst düzey JSON nesnenizin bir payload anahtarı içerdiğinden emin olun.
|
Evet |
PARTNER_RESPONSE_NOT_OBJECT |
Yanıtın tamamı JSON nesnesi olarak ayrıştırılamadı.
HTTP yanıt gövdenizde sondaki karakterleri veya JSON olmayan içeriği kontrol edin. payload.commands[] öğesinin; kimlikler, durum ve isteğe bağlı durumlar içeren uygun bir JSON nesnesi olduğundan emin olun.
|
Evet |
PROTOCOL_ERROR |
Temel iletişim protokolünde bir hata oluştu.
HTTP üstbilgisi sorunlarını veya SSL/TLS el sıkışma hatalarını araştırın. |
Evet |
RELINK_REQUIRED |
Kullanıcının entegrasyonu kullanmaya devam etmek için hesabını yeniden bağlaması gerekir.
Yenileme jetonu kalıcı olarak geçersiz olduğunda sunucunuzun bu kodu döndürdüğünden emin olun. |
Evet |
REQUEST_ID_NOT_FOUND |
Google, istek için dahili izleme kimliğini bulamadı.
Genellikle dahili bir platform hatasıdır. Ani artışları izleyin ve destek ekibiyle iletişime geçin. |
Evet |
RESOURCE_UNAVAILABLE |
İstenen kaynak (cihaz veya özellik) kullanılamıyor.
Cihazın "Meşgul" olup olmadığını veya geçici olarak devre dışı bırakılıp bırakılmadığını kontrol edin. |
Evet |
RESPONSE_TIMEOUT |
Yerine getirme hizmeti 9 saniye içinde yanıt vermedi.
Arka uç gecikmesini optimize edin; yavaş veritabanı sorgularını veya bölgesel ağ gecikmesini kontrol edin. |
Evet |
RESPONSE_UNAVAILABLE |
İş ortağı karşılama URL'sinden yanıt alınmadı.
Hizmetinizin çalıştığını ve uç noktanın kilitlenmediğini doğrulayın. |
Evet |
SCENE_CANNOT_BE_APPLIED |
İstenen sahne etkinleştirilemedi (ör. eksik cihazlar).
Kullanıcının iş ortağı bulutundaki sahnelerinin dahili durumunu kontrol edin. |
Evet |
STREAM_UNPLAYABLE |
Kamera akışı başlatılamadı veya başarısız oldu.
WebRTC/HLS sinyalini doğrulayın ve akış URL'sinin geçerli olduğundan emin olun. |
Evet |
TIMEOUT |
Intent işlenirken genel bir zaman aşımı oluştu.
Bulutunuz ve cihaz hub'larınız arasındaki dahili hizmet zaman aşımlarıyla ilgili günlükleri kontrol edin. |
Evet |
TRANSIENT_ERROR |
Geçici hatalar, kendi kendine çözülen hatalardır.
Bu hatalar genellikle bir cihaza veya hizmete yapılan bağlantının kesilmesi şeklinde ortaya çıkar. Ayrıca, sunucuyla yeni bağlantılar açılamıyorsa. |
|
UNABLE_TO_LOCATE_DEVICE |
Cihaz, Bulucu özelliği kullanılarak bulunamadı (örneğin, ping işlemi başarısız oldu).
Cihazın yerel bağlantısını (kablosuz/Bluetooth) kontrol edin. |
Evet |
UNABLE_TO_RING_DEVICE |
Cihaza ulaşıldı ancak zil çalma/uyarı işlevi tetiklenemedi.
Donanımın uyarı/hoparlör durumunu ve ses seviyelerini doğrulayın. |
Evet |
UNABLE_TO_SILENCE_DEVICE |
Cihaz, etkin alarmını/zil sesini durduramadı.
Bulut ile fiziksel cihaz arasındaki iletişim hatalarını araştırın. |
Evet |
UNEXPECTED_ERROR_CHECK_DEVICE_APP |
Öngörülemeyen bir hata oluştu. Kullanıcı, iş ortağı uygulamasını kontrol etmelidir.
Google tarafından desteklenen belirli bir eşdeğeri olmayan hatalar için genel bir çözüm olarak kullanılır. |
Evet |
UNKNOWN_ERROR |
Ek ayrıntı verilmeden genel bir hata oluştu.
Bilinen hataların genel hata kodları yerine belirli hata kodları döndürmesi için uygun hata eşlemesi, savunma amaçlı kontroller ve günlük kaydı ekleyin. |
Evet |
UNLOCK_FAILURE |
Akıllı kilit, "Kilidi Açık" durumuna geçemedi.
Donanım sıkışmalarını, düşük pil seviyesini veya geçersiz PIN girişlerini inceleyin. |
Evet |
Arama Günlükleri
Metrikleri kullanarak entegrasyonlarınızı izleme konusunda rahat hissetmeye başladığınızda bir sonraki adım, Cloud Logging kullanarak belirli hataları gidermektir. Hata günlüğü, JSON benzeri bir giriş olup alanlarında saat, hata kodu ve kaynak akıllı ev niyetiyle ilgili ayrıntılar gibi faydalı bilgiler yer alır.
Google Cloud içinde, projenize her zaman günlük gönderen birden fazla sistem vardır. Günlüklerinizi filtrelemek ve ihtiyacınız olanları bulmak için sorgular yazmanız gerekir. Sorgular Zaman Aralığı, Kaynak, günlük Önem Derecesi veya özel girişlere göre yapılabilir.
Özel filtrelerinizi oluşturmanıza yardımcı olması için sorgu düğmelerini kullanabilirsiniz.
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 filtreleyerek seçilen zaman aralığında oluşturulanları gösterir.
Kaynak belirtmek için Kaynak açılır listesini tıklayın, ardından Google Asistan İşlemi Projesi'ni seçin. Bu işlem, sorgunuza projenizden gelen günlükleri göstermek için bir filtre ekler.
Önem derecesi düğmesini kullanarak Acil, Bilgi, Hata ayıklama ve diğer önem derecesi günlük düzeylerine göre filtreleme yapın.
Ayrıca, Logs Explorer bölümündeki Sorgu alanını kullanarak özel girişler de girebilirsiniz. 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üklere etkili bir şekilde sorgu göndermeyle ilgili daha fazla örnek bulmak için Sorgu Kitaplığı'nı ziyaret edin.
Düzeltmeleri Test Etme
Hataları belirleyip düzeltmek için güncellemeleri uyguladıktan sonra düzeltmelerinizi Google Home Test Suite ile kapsamlı bir şekilde test etmenizi öneririz. Test Suite nasıl kullanılacağıyla ilgili bir kullanıcı kılavuzu sunuyoruz. Bu kılavuz, değişikliklerinizi etkili bir şekilde test etme konusunda size yol gösterir.
Eğitici Kaynaklar
Bu belgede, akıllı ev işleminizdeki hataları giderme adımları açıklanmaktadır. Hata ayıklama hakkında daha fazla bilgi edinmek için codelab'lerimize de göz atabilirsiniz:
- Akıllı Evde Hata Ayıklama Codelab'i: Akıllı ev bulutu entegrasyonunda hata ayıklamaya yönelik hızlı başlangıç kılavuzu.
- Yerel Ev'de hata ayıklama Codelab'i: Akıllı evde yerel entegrasyonda hata ayıklama için hızlı başlangıç kılavuzu.