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 almak isterseniz 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 işlemlerini, 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 eklenmeyi bekliyor 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ç: Üretim kodu değişiklikleri gerektirmeden işlevsel kusurları ve buluttan buluta (C2C) entegrasyon sorunlarını (ör. hesap bağlama hataları veya yanlış cihaz durumları) ayıklayı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:
    • Ekranı olan bir 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 günlükler, test prosedürü tamamlandıktan hemen sonra bu yöntem kullanılarak 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 yani değişiklik olmadığında etkinleşmez).

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

Kenar algılama dikkate alındıktan sonra bir otomasyon beklendiği gibi çalışmıyorsa:

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

  2. Otomasyonunuzun otomasyon grafiğini inceleyerek otomasyon DSL'nizle karşılaştırın. Böylece, sizin tarafınızdan yapılan olası yanlış varsayımları ortaya çıkarabilirsiniz.

  3. Otomasyonunuz çalışırken Google Home uygulamasında cihaz 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 gerekmediği zaman çalışıyorsa başlatıcı ölçütleri inceleyin. Durum değişikliğinin yalnızca bir kez yakalandığından ve otomasyonu yalnızca bir kez tetiklediğ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ğrulamadan geçmezse 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ısı ekleme hakkında bilgi edinmek içinOAuth istemci kimliğini oluşturma başlıklı makaleyi inceleyin. OAuth doğrulaması dışında, uygulamanıza izin verebilecek kullanıcı sayısı 100 ile sınırlıdır. Bu sınır, Home API'leri tarafından belirlenir. 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.