Akıllı Ev ile ilgili SSS

Genel

S: Actions on Google sipariş karşılama altyapımızı nerede ve hangi dilde uygulamalıyız?

Y: Modern SSL (TLS) ve OAuth 2.0'ı desteklediği sürece altyapınızı istediğiniz platformda ve istediğiniz dilde uygulayabilirsiniz. Güvenilirliği artırmak ve gerçek kullanıcı cihazlarında yürütme gecikmesini azaltmak için altyapınızın geri kalanına mümkün olduğunca yakın dağıtım yapmanızı öneririz.


S: Cihaz kimliklerinin benzersiz olması gerekir mi?

Y: Kimlikler benzersiz olmalıdır. Hizmetiniz genelinde benzersiz kimlikleriniz yoksa bunlar en az kullanıcı başına düzeyde benzersiz olmalıdır. Birden fazla evi olan ve her iki evin de aynı kullanıcı bağlantısı kullandığı bir kullanıcı düşünün. Bir evde ışığı yakmak istediğinizde başka bir evde aynı kimliğe sahip ışığı açmamalısınız.


S: Cihaz adlarının benzersiz olması gerekir mi?

Y: Adların benzersiz olması gerekmez ancak zaman içinde kullanıcıları, daha iyi bir kullanıcı deneyimi için kurulumdan sonra kötü adlandırma yöntemlerini iyileştirmeye teşvik edebiliriz.

Aşağıda, hızlı bir adlandırma kılavuzu verilmiştir:

  • Adlar, kişilerin gerçekten söyleyebileceği kelimeler olmalıdır.
  • Dizelerin alt kümelerini tanırız, bu nedenle "acme renk ışığı"nız varsa "acme ışığı"na da yanıt veririz.
  • Hem ürün için açıklayıcı bir ad hem de bir veya daha fazla kullanıcı tanımlı ad kullanılmasını öneririz.
  • Kullanıcıların ışık odası adları vermelerine gerek yoktur çünkü bunun için odalar vardır. Her oda için benzersiz adlar vermeleri gerekir, ancak her şeyi komut vermek için her zaman çoğullar kullanabilirler (örneğin, ofis dekorlarındaki iki ampul "kuzey ışığı" ve "doğu ışığıdır", ancak sadece "ışıklar" şeklinde komut verilebilir).

S: Cihaz durumu ne sıklıkta güncellenir?

Y: Geçici durum, kullanıcı tarafından başlatılan işlemler olan QUERY veya EXECUTE işlevinden sonra alınır. Kullanıcı "Işık açık mı?" diye sorarsa veya bir ışığı aydınlatmak isterse mevcut durumu öğrenmek için bir sorgu gerçekleştirmemiz gerekir.


S: Home Graph'i doğrudan bir cihazın mevcut durumuyla güncellemek mümkün mü?

Y: Evet, Report State API çağrısını kullanın.


Hesap Bağlama ve OAuth

Y: Evet, bir kullanıcının cihazlarının, sağlayıcının bulut hizmetlerine bağlanabilmesi için hesap bağlama işlemi gereklidir.


S: OAuth için erişim jetonlarının süresini 15.213 saatte bir sona erdiriyoruz. Doğru mu?

Y: Evet, ancak lütfen oldukça kısa bir geçerlilik süresiyle (10-20 dakika gibi) test edin. OAuth istemcimiz jetonları gerektiğinde yenilemelidir. Kısa bir süre sonuyla test yapmak bunun işe yaradığını kanıtlar.


Niyetler

S: SENKRONİZE ne zaman gerçekleşir?

Y: SENKRONİZASYON, OAuth tamamlandıktan hemen sonra ve bir Senkronizasyon İsteği çağrısı yapıldıktan sonra gerçekleşir.


S: SYNC neden çalışmıyor?

Y: Bunun başarısız olmasının sık karşılaşılan birkaç nedeni vardır.

  • Yanlış cihaz türlerini gönderiyorsunuz.

    • Örneğin, action.devices.types.LIGHT beklenirken action.devices.types.Light gönderilir.
  • Desteklenmeyen cihaz türlerini gönderiyorsunuz.

    • Örneğin, action.devices.types.FLASHLIGHT gönderiyorsunuz. Bu destek sunduğumuz bir şey değil.
  • Geçersiz/desteklenmeyen alanlar gönderiyorsunuz.

    • Örneğin, spesifikasyonumuzda olmayan bir sürüm alanınız veya başka bir alanınız vardır.
  • SYNC yanıtınızda başka bir biçimlendirme sorunu var.

    • Parantezlerinizi kontrol edin!
  • Hesap bağlamayla ilgili bir sorunla karşılaşıyorsunuz.

    • Lütfen SYNC isteğinin Auth başlığında geçerli bir erişim jetonu aldığınızı doğrulayın.
  • SYNC isteğine yanıt vermeniz çok uzun sürüyor.

    • Lütfen SYNC isteğine 5 saniye içinde yanıt verdiğinizi doğrulayın.

S: "Bekleyen" yanıt kabul edilir mi?

Y: Cihazlarınız gerçek zamanlı olarak kullanılabiliyorsa beklemede yerine başarılı/başarısız yanıtını tercih ederiz. "Bekleyen" bir yanıta ihtiyacınız varsa lütfen iletişime geçin. Düşük güçlü, gerçek zamanlı olmayan bazı cihazların beklemede yanıt ve eşzamansız yürütme modeli gerektirebileceğinin farkındayız.


Test ve Gönderim

S: Hazırlık ortamı oluşturabilir miyiz?

Y: Evet, lütfen ayrı bir proje oluşturun ve bu projenin kurulumunu tamamlayın. Geliştirme süreçlerinizi ve altyapınızı eşlemek için istediğiniz kadar proje oluşturabilirsiniz.


S: Taslak projemi ne sıklıkla güncellemem gerekir?

Y: Bir taslak projenin 3 günde bir yenilenmesi gerekiyor. 3 gün sonra test aracısı mobile-HomeControl ayarlarından kaybolur. Bu durumla karşılaşırsanız Actions on Google Console projeniz için TASLAĞI TEST ET düğmesini tıklayın.


S: Aynı anda birden fazla cihazda test edebilir miyim?

Y: Actions on Google, aynı anda yalnızca bir "cihazda deneme" erişim noktasını destekler. İlk olarak "ap1" ve senkronizasyon cihazları üzerinde TEST DRAFT'ı kullanırsanız (ap1 bağlantısını kaldırmadan) doğrudan TEST DRAFT "ap2"yi çalıştırırsanız "ap1", mobile-HomeControl-settings bölümünden kaybolur. Bunu düzeltmek için "ap1" üzerinde TEST TASLAĞI'nı tekrar çalıştırın. Ayarlardan "ap1"in bağlantısını kaldırabilirsiniz.

Bu tek İşlem Paketi'nin kullanıcının tüm Google Assistant cihazlarınızda kullanılabileceğini unutmayın. Örneğin, yeni donanım entegrasyonunuzu hem sesle etkinleştirilen hoparlörlerde hem de Android ürününde test edebilirsiniz.


S: Eylemlerim projesinin gönderilmesi, ad veya telaffuz nedeniyle reddedildi. Neyi değiştirmem gerekiyor?

Y: Telaffuz adının gelecekte başka bir İşlem tarafından kullanılmadığından ve görünen adla eşleştiğinden emin olmak için ad telaffuzunu kontrol ederiz (gelecekteki ad kayıtlarını etkileyecek uyuşmazlıkları önlemek için).

Aynı adı kullanmaya devam etmek için lütfen destek ekibiyle iletişime geçerek görünen adın konuşma ekibi tarafından Assistant hesabına eklenmesini sağlayın.


S: İşlemim, Google Home uygulamasının Ev Kontrolü bölümünde görünmüyor. Bunun sebebi nedir?

Y: Sorun aşağıdakilerden biri olabilir:

  • Actions Console içindeki projeniz için TASLAĞI TEST ET düğmesini tıklamadınız.
  • Cihazda Test'te aynı anda yalnızca tek bir İşleminiz olabilir.
  • Actions Console'de Actions projenizin Simülatörü sekmesini ziyaret edin ve Etkin/Etkin değil seçeneğini Etkin değil ve ardından tekrar Etkin durumuna getirin.
  • Bu işlem sizinle paylaşıldıysa lütfen tüm paylaşma talimatlarına uyulduğundan emin olun.
  • Cihazda Test özelliğinin süresi üç gün sonra dolar. Actions Console içinde projeniz için TASLAĞI TEST ET düğmesini tıklayın.

S: Simülatör'de "<my agent name> ile konuş" yazdığımda neden hata mesajı alıyorum?

Y: Akıllı Ev İşlemleri, çağrı adlarını kullanmaz. Simülasyon aracında test etmek için Google Home app (GHA) yüklü bir Android veya iOS telefonda hesap bağlama işlemini gerçekleştirmeniz gerekir. Ayrıca, hesap bağlamayı çalıştırmadan önce hesabınızla ilişkilendirilmiş cihazların olması gerekir.


S: Simülatörü kullanmaya çalıştığımda neden hata alıyorum?

Y: Dağıtılan smart home işlemlerini test etmek için simülasyon aracını kullanamazsınız. Simülatörü üretimde olan bir ev otomasyonu projesi için kullanmak istiyorsanız test amacıyla yeni bir proje oluşturmanız gerekir.


Rapor Durumu

S: Rapor Durumunu uygulamanın ön koşulları var mı?

Y: Projenin Smart Home API'yi kullanması, OAuth2'yi desteklemesi ve raporlanacak durumlara sahip özellikleri olması gerekir.


S: Bir cihazda ne sıklıkta durum bildirmemiz gerekir?

Y: Google geçiş ve terminal durumuyla ilgilenir, ancak kısa süre içinde çok sayıda durum değişikliği yapılırsa (örneğin, bir kullanıcı buzdolabını dakikada üç kez açıp kapatır veya ayarlayıcıyı kaydırırsa) yalnızca rapor edilen son durumun bildirilmesi gerekir.


S: Rapor Durumu çağrıları yaparken tam cihaz durumunun gönderilmesi gerekir mi?

Y: Kısmi durum güncellemeleri desteklenmediğinden Report State çağrıları her zaman, güncellenmiş belirli bir özelliğe ait tüm verileri içermelidir. İki özellik tutarsızlığa neden oluyorsa bu özelliklerin birlikte raporlanması gerekir.


S: Google, durumu öğrenmek (yani cihazı yoklamak) için cihazımı sorgulayabilir mi?

Y: Bu, önermediğimiz bir yedek mekanizmasıdır. Bir cihazda bu kullanıcılar için sık sık yoklama yapmak zorunda kalırsak ek yükün ne olacağını garanti edemeyiz. İhtiyaç, yeni görsel yüzeylerden geliyor. Bilinmeyen yükleme sorunuyla birlikte bu, kullanıcı deneyimini olumsuz etkiler. Report State'ın platform için kritik öneme sahip olduğunu düşünüyoruz.


S: Şu anda Rapor Durumu'nu destekleyen özellikler nelerdir?

Y: İlişkilendirilmiş eyaletlere sahip tüm herkese açık özellikler desteklenir. Cihazın Çevrimiçi durumundaki herhangi bir değişiklik de bildirilmelidir.

Sahnelerin bir durumu olmadığını unutmayın. Ancak, cihaz durumlarının değişmesine neden olabilir. Google Home Graph içinde herhangi bir cihazın durumu değişirse bu durumun tekrar bildirilmesi gerekir.


S: Rapor Durumu, zaman damgası gönderilmesini gerektiriyor mu?

Y: Zaman damgası gerekmez. Gönderilen son durum, önceki çağrıları geçersiz kılar.


S: Durumu Sorgu ve/veya Yürütme'de zaten gönderiyorsam Durumu ayrıca bildirmem gerekir mi?

Y: Home Graph yalnızca Report State üzerinden gönderilen durumu depolar. EXECUTE ve QUERY amaçlarına yanıt olarak döndürülen durum yalnızca kullanıcıya yapılan konuşma yanıtları için kullanılır ve depolanmaz. Sonuç olarak, cihazın yeni durumu EXECUTE veya QUERY amacına yanıt olarak zaten döndürülmüş olsa bile Report State çağrılmalıdır.


S: Rapor Durumunu belirtilen son tarihe kadar tamamen uygulamamanın sonuçları nelerdir?

Y: Bu durum, örneğin GHA ve görsel yüzeylerde kullanıcı deneyiminin bozulmasına neden olur. Bu, birçok QUERY amacının durum için ankete gönderileceği anlamına gelir ve bunun iş ortağı bulutundaki ek yüke ne olacağını garanti edemeyiz.


S: Rapor Durumu uygulamamızı nasıl test edebilirim?

Y: Home Graph içinde depolanan mevcut cihaz durumlarınızı gösteren self servis test aracı Home Graph Viewer'ı kullanın.


S: Rapor Durumu için rastgele bir requestId kullanabilir miyiz?

Y: Report State, EXECUTE isteği tarafından tetikleniyorsa iş ortaklarının, EXECUTE isteğinden aldıkları requestId öğesini kullanmalarını öneririz. Aksi takdirde yalnızca rastgele bir requestId kullanabilirsiniz.


S: Bir kullanıcının birden fazla cihazı varsa ve birinin durumu değişirse tüm cihazların son durumunu bildirmemiz gerekir mi?

Y: Hayır. Yalnızca söz konusu cihazın durumunu bildirmeniz gerekir.


En iyi uygulamalar

S: Ne tür bir gecikme kabul edilebilir?

Y: 200 ms'den az olması ideal, 2-5 sn arasında olması normaldir. Gecikme süresi yaklaşık 5 saniyeyi aşıyorsa bizimle iletişime geçin.


S: Sesle etkinleştirilen hoparlörümün çevrimdışıyken düzgün yanıt vermesini nasıl sağlayabilirim?

Y: Çevrimdışı cihazlar için çevrimdışı duruma geri dönün. Bu hata için TTS olarak "şu anda kullanılamıyor" değerini döndürürüz. Daha fazla bilgi için Hatalar ve istisnalar bölümüne bakın.