Örnek uygulama
Home API'leri kullanırken sorun yaşarsanız daha ayrıntılı hata ayıklama için günlükleri toplayabilirsiniz. Mobil cihazdan günlükleri toplamak için Xcode gerekir. Google'dan yardıma ihtiyacınız varsa hem iOS cihazdan hem de hub'dan günlükleri toplayın ve Issue Tracker'da ilgili bilgiler ve günlüklerle birlikte bir destek kaydı oluşturun.
iOS günlüklerini toplama
Xcode'un kullanıldığı tüm adımlarda 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 standart çıkış (stdout) ve standart hata (stderr) günlüklerini otomatik olarak yakalar ve 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'leri kullanırken herhangi bir sorunla karşılaşırsanız daha ayrıntılı hata ayıklama için günlükleri toplayabilirsiniz.
Xcode'da, üst menü çubuğunda Debug'a (Hata ayıkla) gidin ve Attach to Process by PID or Name'i (PID veya Ada Göre İşleme Ekle) tıklayın.

PID or Process Name (PID veya İşlem Adı) bölümünde MatterExtension'ı seçip Attach'ı (Ekle) tıklayın.

Sağ üstü tıklarsanız iPhone'da MatterAddDeviceExtension'a eklenmesi bekleniyor ifadesini görürsünüz.

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

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ıklamak.
Yetenekler: SYNC, EXECUTE, QUERY ve Hesap Bağlama 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:
- Cihazlarınızın seri numarasını ve modelini içeren bir e-postayı Google Teknik Hesap Yöneticinize (TAM) gönderin. Cihazın altında küçük harflerle yazılıdır.
- İzin verilenler listesine eklendikten sonra aşağıdaki adımları uygulayarak özelliği etkinleştirmeniz gerekir:
- Merkezden:
- Ekranın üst kısmından aşağı doğru kaydırın.
- Ayarlar simgesine dokunun.
- Fuchsia sürümünü bulma: Nest Hub'da (2. nesil) Cihaz bilgileri > Teknik bilgiler > Fuchsia sürümü'ne gidin.
- "Fuchsia Sürümü"ne 7 kez dokunun. Bu işlem, geliştirici seçeneklerini etkinleştirir.
- Üst düzey menüye dönme
- "Geliştirici seçenekleri"ne dokunun.
- "İş Ortağı Günlük Kaydı"na dokunun.
- Özellik 24 saat boyunca etkinleştirilir. Ardından, 5. adımdan itibaren günlük kaydı özelliğini yeniden etkinleştirin.
- Merkezden:
- Hub'ınızın IP adresini öğrenin:
- Ekranı varsa hub'dan:
- Ekranın üst kısmından aşağı doğru kaydırın.
- Ayarlar simgesine dokunun.
- Cihazın IP adresini bulma: Nest Hub'da (2. nesil) Cihaz bilgileri > Teknik bilgiler > IP adresi'ne gidin.
- Telefonunuzdaki Google Home uygulamasından (GHA):
- 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 bulun: Cihaz bilgileri > Teknik bilgiler > IP adresi'ne gidin.
- Ekranı varsa hub'dan:
- Hub'dan günlükleri almak için aynı kablosuz ağdaki bir bilgisayardan hub'a 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 boyunca açık tutulabilir ancak arabellekten alınan veriler genellikle son 20-30 dakikadaki etkinlikleri içerir.
- İdeal olarak, günlükler bir test prosedürü tamamlandıktan hemen sonra bu yöntem kullanılarak çıkarılır. Böylece, arabelleğin testle ilgili içerik barındırması sağlanır (Android hata raporlarına benzer şekilde).
- Uç noktanın bağlantı noktasını ve yolunu not edin:
Otomasyonlar
Kenar algılama
Google Home ekosistemindeki otomasyonlarda kenar 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şmesini sağlayan bir mantıktır. Cihazın önceki durumunu tekrarlayan durum güncellemelerinde etkinleşmez.
Örneğin, bir ışığın açılması başlatıcıysa kenar algılama, başlatıcının yalnızca ışık cihazı kapalıdan açık duruma geçtiğinde etkinleştiğini doğrular. Açıktan açık duruma geçtiğinde (değişiklik yok) etkinleşmez.
Otomasyon beklendiği gibi çalışmıyor
Kenar algılama hesaba katıldıktan sonra bir otomasyon beklendiği gibi davranmıyorsa:
Her cihazı kontrol ederek otomasyonunuzdan bağımsız olarak düzgün çalıştığından emin olun.
Otomasyonunuzun otomasyon grafiğini inceleyip otomasyon DSL'nizle karşılaştırarak hatalı olabilecek varsayımlarınızı tespit edin.
Otomasyonunuzun yürütülmesi sırasında Google Home uygulamasında cihaz durumunu gözlemleyin.
Otomasyonun referans verdiği tüm cihazların, beklediğiniz yapıda mevcut olduğundan emin olun. Bir otomasyonun bağlı olduğu cihazı silmek istenmeyen sonuçlara yol açabilir. Cihaz silme işleminin otomasyonlar üzerindeki etkisi başlıklı makaleyi inceleyin.
Otomasyon çalışmaması gerektiği halde çalışıyor
Otomasyonunuz çalışmaması gereken bir zamanda çalışıyorsa başlatıcı ölçütlerini inceleyin. Durum değişikliğinin yalnızca bir kez yakalanmasını ve otomasyonu yalnızca bir kez tetiklemesini sağlamak 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 ve 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ğrulanamıyor
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'leri test etmek için mevcut OAuth istemcinizi kullanabilirsiniz.
Home API'lerini test etmek ve kullanmak için Google Home Developer Console kaydı gerekli değildir. 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 hususlar geçerlidir:
Mevcut bir OAuth istemcisini kullanı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ğrulamasından 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. Developer Console kaydı tamamlandığında bu sınırlama kaldırılır.
Developer Console registration , uygulamanızı Home API'leri ile güncellemeye hazırlanırken OAuth üzerinden cihaz türü izinlerini kısıtlamaya hazır olduğunuzda onaya gönderilmelidir.
OAuth doğrulaması hâlâ beklemede olan Google Cloud uygulama için kullanıcılar, doğrulama tamamlanana kadar 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.