Sorun giderme

Örnek uygulama

Home API'lerini kullanırken sorun yaşarsanız daha ayrıntılı hata ayıklama için günlükleri toplayabilirsiniz. Mobil cihazdan günlük toplamak için Xcode gerekir. Google'dan yardım almanız gerekiyorsa hem iOS cihazdan hem de hub'dan günlükleri toplayın ve sorun izleyicide ilgili bilgilerle birlikte bu bilgilerle ilişkili günlükleri içeren bir destek kaydı açın.

iOS günlüklerini toplama

Xcode ile ilgili tüm adımlar için mobil cihazınızın yerel makinenize bağlı olması gerekir.

Uygulama günlükleri ve SDK günlükleri doğrudan Xcode konsolunda görüntülenir ve toplanabilir. Mobil cihazınız yerel makinenize bağlıyken uygulamayı Xcode üzerinden çalıştırdığınızda konsol, hem uygulama katmanından hem de entegre Home SDK'dan gelen standart çıktı (stdout) ve standart hata (stderr) günlüklerini otomatik olarak yakalayıp yayınlar. Bu sayede, geliştirme ve hata ayıklama sırasında gerçek zamanlı başlatma süreçlerini, API etkileşimlerini ve SDK etkinliklerini kolayca izleyebilirsiniz.

Xcode'dan uzantı günlüklerini toplama

Home API'lerini kullanırken herhangi bir sorunla karşılaşırsanız daha fazla hata ayıklama için günlükleri toplayabilirsiniz.

  1. Xcode'da üst menü çubuğundaki Debug'a (Hata Ayıklama) gidin ve Attach to Process by PID or Name'i (PID veya Ada Göre Sürece Ekle) tıklayın.

    Örnek uygulama hata ayıklama

  2. PID veya İşlem Adı bölümünde MatterExtension'ı seçin ve Ekle'yi tıklayın.

    Örnek uygulama ekleme uzantısı

  3. Sağ üst köşeyi tıkladığınızda iPhone'da MatterAddDeviceExtension'a eklenmek bekleniyor mesajını görürsünüz.

    Örnek uygulama bekleme durumu

  4. Sekmeyi tıklayın ve MatterAddExtension'ı seçin.

    Matter uzantısı ekleyen örnek uygulama

  5. Konsol, uzantı günlüğünü kaydeder.

Sherlog: Yığınlar Arası Etkinlik İzleme

Sherlog, Google'ın altyapısı ile iş ortağı bulut hizmetleri arasındaki etkileşimlerin uçtan uca görünümünü sağlayan gerçek zamanlı bir izleme hizmetidir.

Ön koşul: İzleme için Google tarafından koordine edilen paylaşılan bir hesabın (ör. GReg'e kayıtlı veya demo hesabı) kullanılması gerekir.

Temel Amaç: Canlı sürüm kodu değişiklikleri gerektirmeden işlevsel kusurların ve buluttan buluta (C2C) entegrasyon sorunlarının (ör. hesap bağlama hataları veya yanlış cihaz durumları) hata ayıklamasını yapın.

Özellikler: SYNC, EXECUTE, QUERY ve Account Linking amaçları için eksiksiz RPC çağrı grafikleri, istek/yanıt yükleri ve meta veriler sağlar.

Fuchsia hub cihaz günlükleri

Bu yöntemi kullanarak aşağıdaki Fuchsia hub'larından günlük toplayabilirsiniz: * Google Nest Hub (2. nesil) * Google Nest Hub Max

Yerel günlükleri almak için bir hub'ı etkinleştirmek üzere:

  1. Cihazlarınızın seri numarası ve modeliyle ilgili bilgileri içeren bir e-postayı Google Teknik Hesap Yöneticinize (THY) gönderin. Bunları cihazın altında küçük harflerle bulabilirsiniz.
  2. İzin verilenler listesine eklendikten sonra, aşağıdaki adımları uygulayarak özelliği etkinleştirmeniz gerekir:
    • Merkezden:
      1. Ekranın üst kısmından aşağı doğru kaydırın.
      2. Ayarlar simgesine dokunun.
      3. Fuchsia sürümünü bulma: Nest Hub'da (2. nesil) Cihaz bilgileri > Teknik bilgiler > Fuchsia sürümü'ne gidin.
      4. "Fuchsia Sürümü"ne 7 kez dokunun. Bu işlem, geliştirici seçeneklerini etkinleştirir.
      5. Üst düzey menüye geri dönme
      6. "Geliştirici seçenekleri"ne dokunun.
      7. "Partner Logging"e (İş Ortağı Günlüğü) dokunun.
    • Bu özellik 24 saat boyunca etkinleştirilir. Ardından, 5. adımdan itibaren günlük kaydı özelliğini yeniden etkinleştirin.
  3. Hub'ınızın IP adresini öğrenin:
    • Ekrana sahipse hub'dan:
      1. Ekranın üst kısmından aşağı doğru kaydırın.
      2. Ayarlar simgesine dokunun.
      3. Cihazın IP adresini bulma: Nest Hub'da (2. nesil) Cihaz bilgileri > Teknik bilgiler > IP adresi'ne gidin.
    • Telefonunuzdaki Google Home uygulamasından:
    • Cihaz ayrıntıları sayfasını açmak için cihaza dokunun.
    • Ayarlar sayfasını açmak için Ayarlar simgesine dokunun.
    • Cihazın IP adresini bulmak için Cihaz bilgileri > Teknik bilgiler > IP adresi'ne gidin.
  4. Merkezden günlükleri almak için aynı kablosuz ağdaki bir bilgisayardan merkeze GET HTTP isteği gönderirsiniz.
    • Uç noktanın bağlantı noktasını ve yolunu not edin:
      curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file
      
    • Bağlantı yalnızca bir dakika açık tutulabilir ancak arabellekten alınan veriler genellikle 20-30 dakikalık geçmiş etkinlikleri içerir.
      • İdeal olarak, arabelleğin testle ilgili içerik barındırmasını sağlamak için test prosedürü tamamlandıktan hemen sonra bu yöntem kullanılarak günlükler ayıklanır (Android hata raporlarına benzer şekilde).

Otomasyonlar

Kenar algılama

Google Home ekosistemindeki otomasyonlarda sınır algılama özelliği bulunur. Bu özellik, başlatıcının yalnızca gerçek bir durum değişikliği olduğunda etkinleştiğini doğrulayan bir mantıktır. Cihazın önceki durumunu tekrarlayan bir durum güncellemesi olduğunda etkinleşmez.

Örneğin, bir ışığı açmak bir başlangıç ise kenar algılama, başlangıcın yalnızca ışık cihazı kapalıdan açığa geçtiğinde etkinleştiğini doğrular (açıktan açığa geçişte etkinleşmez).

Otomasyon beklendiği gibi çalışmıyor

Kenar algılama hesaba katıldıktan sonra bir otomasyon beklendiği gibi çalışmıyorsa:

  1. Otomasyonunuzdan bağımsız olarak düzgün şekilde çalıştığından emin olmak için her cihazı kontrol edin.

  2. Otomasyonunuzun otomasyon grafiğine göz atın ve otomasyon DSL'nizle karşılaştırarak sizin tarafınızdan yapılan olası yanlış varsayımları ortaya çıkarın.

  3. Otomasyonunuz çalışırken Google Home uygulamasında cihazın durumunu gözlemleyin.

  4. Otomasyon tarafından referans verilen tüm cihazların, olmasını beklediğiniz yapıda bulunduğundan emin olun. Bir otomasyonun bağlı olduğu cihazın silinmesi, istenmeyen sonuçlara yol açabilir. Cihaz silme işleminin otomasyonlar üzerindeki etkisi başlıklı makaleyi inceleyin.

Otomasyon çalışmaması gereken zamanlarda çalışıyor

Otomasyonunuz çalışmaması gerektiği zamanlarda çalışıyorsa başlatıcı ölçütleri inceleyin. Durum değişikliğinin yalnızca bir kez yakalandığından ve otomasyonun yalnızca bir kez tetiklendiğinden emin olmak için ek mantık eklemek gerekebilir.

Otomasyon derlenmiyor

Uygulamanızın, farklı düğüm türlerine karşılık gelen her sınıfın yanı sıra referans verdiğiniz özellikler de dahil olmak üzere gerekli tüm içe aktarma işlemlerini içerdiğinden emin olun.

Otomasyon oluşturma işlemi doğrulamayı geçemiyor

Otomasyon oluşturma işlemi doğrulamayı geçemezse bir uyarı veya hata mesajı sorun hakkında bilgi verir. Daha fazla bilgi için ValidationIssueType referansına bakın.

OAuth

Mevcut bir OAuth istemciniz varsa

Yayınlanmış bir uygulama için doğrulanmış bir OAuth istemciniz varsa Home API'lerini test etmek için mevcut OAuth istemcinizi kullanabilirsiniz.

Home API'lerini test etmek ve kullanmak için Google Home Developer Console kaydı gerekmez. Ancak, başka bir entegrasyondan doğrulanmış bir OAuth istemciniz olsa bile uygulamanızı yayınlamak için onaylanmış bir Developer Console kaydınızın olması gerekir.

Aşağıdaki noktaları göz önünde bulundurun:

  • Mevcut bir OAuth istemcisi kullanılırken 100 kullanıcı sınırı vardır. Test kullanıcıları ekleme hakkında bilgi içinOAuth istemci kimliğini oluşturma başlıklı makaleyi inceleyin. OAuth doğrulamadan bağımsız olarak, Home API'leri tarafından uygulamanıza izin verebilecek kullanıcı sayısı 100 ile sınırlandırılmıştır. Bu sınırlama, Developer Console kaydı tamamlandığında kaldırılır.

  • Developer Console kaydı , uygulamanızı Home API'leriyle güncellemeye hazırlanırken cihaz türü izinlerini OAuth üzerinden kısıtlamaya hazır olduğunuzda onay için gönderilmelidir.

OAuth doğrulaması bekleyen Google Cloud uygulamalarda, doğrulama tamamlanana kadar kullanıcılar OAuth akışını tamamlayamaz. İzin verme girişimleri aşağıdaki hatayla başarısız olur:

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