Akıllı Ev ile ilgili SSS

Genel

S: Actions on Google istek 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 seçtiğiniz dilde uygulayabilirsiniz. Güvenilirliği artırmak ve gerçek kullanıcı cihazlarında yürütme için gecikmeyi 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ından kullanıcı düzeyinde benzersiz olmalıdır. Birden fazla evi olan ve her iki evin de aynı kullanıcıyla entegre olduğu bir kullanıcı düşünün. Bir evdeki ışığın açılmasını istendiğinde aynı kimliğe sahip başka bir evdeki ışık açılmamalıdır.


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

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

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

  • Adlar, insanların gerçekten söyleyebileceği şeyler olmalıdır.
  • Dizelerin alt kümelerini tanırız. Dolayısıyla, "acme renk ışığı"nı da ayarlayabilirsiniz.
  • Ürün için hem açıklayıcı bir ad hem de bir veya daha fazla kullanıcı tanımlı ad kullanmanızı öneririz.
  • Kullanıcıların ışık odaları için adlar belirtmesine gerek yoktur; her oda için benzersiz adlar kullanmaları gerekir, ancak her şey için her zaman çoğul halleri kullanabilirler (örneğin, ofis apliklerindeki iki ampul "kuzey ışığı" ve "doğu ışığı"dır, ancak yalnızca "lambalar" olarak 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 sonrasında alınır. Kullanıcı "Işık açık mı?" diye sorar veya bir ışığı aydınlatmak isterse mevcut durumu anlamak için bir sorgu yapmamız gerekir.


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

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


Hesap Bağlama ve OAuth

Y: Evet, kullanıcının cihazlarını sağlayıcının bulut hizmetlerine bağlamak için hesap bağlama gerekir.


S: OAuth için erişim jetonlarının geçerlilik süresi her 15, 213 saatte bir dolar, bu sizin için uygun mu?

Y: Evet, ancak lütfen 10-20 dakika gibi oldukça kısa bir geçerlilik süresiyle test edin. OAuth istemcimiz jetonları gerektiği gibi yeniliyor olmalıdır. Kısa bir geçerlilik süresiyle test etmek, bu işlemin işe yaradığını gösterir.


Niyetler

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

Y: Senkronizasyon işlemi, 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: Bu durumun sık karşılaşılan birkaç nedeni vardır.

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

    • Örneğin, action.devices.types.LIGHT bekleriz, ancak siz action.devices.types.Light gönderirsiniz.
  • Desteklenmeyen cihaz türleri gönderiyorsunuz.

    • Örneğin, action.devices.types.FLASHLIGHT gönderin. Bu, desteklediğimiz bir şey değildir.
  • Geçersiz/desteklenmeyen alanlar gönderiyorsunuz.

    • Örneğin, teknik özelliklerimizde bulunmayan bir sürüm alanınız veya başka bir alanınız var.
  • Senkronizasyon yanıtınızla ilgili başka bir biçimlendirme sorunu var.

    • Köşeli 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.
  • Senkronizasyon isteğine yanıt vermeniz çok uzun sürüyor.

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

S: "Beklemede" yanıtı uygun mudur?

Y: Cihazlarınız gerçek zamanlı olarak kullanılabiliyorsa beklemede seçeneği yerine başarılı/başarısız yanıtını tercih ederiz. "Bekleyen" bir yanıta ihtiyacınız olduğunu düşünüyorsanız lütfen bize ulaşın. Düşük güç harcayan, gerçek zamanlı olmayan bazı cihazların bekleyen bir 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 proje için kurulumu tamamlayın. Geliştirme süreçleriniz ve altyapınızla eşleştirmek için istediğiniz kadar proje oluşturabilirsiniz.


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

Y: Taslak projenin 3 günde bir yenilenmesi gerekir. Test aracısı 3 gün sonra mobil HomeControl ayarlarından kaldırılır. Bu durumla karşılaşırsanız Actions on Google Console'da projeniz için TEST TASLAĞI düğmesini tıklayın.


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

Y: Actions on Google, aynı anda yalnızca bir "cihazda deneyin" AP'sini destekler. TEST DRAFT'ı önce "ap1"de kullanıp cihazları senkronize ederseniz (ap1'in 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 kaldırılır. Bu durumu düzeltmek için "ap1"de TEST DRAFT'ı tekrar çalıştırın. Ardından "ap1"in bağlantısını kaldırabilirsiniz.

Bu tek İşlem Paketi'nin, kullanıcı için 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'da test edebilirsiniz.


S: Actions projesi gönderimim ad veya telaffuz nedeniyle reddedildi. Neyi değiştirmem gerekiyor?

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

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 ürününe eklenmesini sağlayın.


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

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

  • Actions Console'te projeniz için TASLAĞI TEST ET düğmesini tıklamadınız.
  • Cihazda Test Et'te aynı anda yalnızca bir İşleminiz olabilir.
  • Actions Console sayfasında, Actions projeniz için Simülasyon Aracı sekmesine gidin ve Etkin/Etkin değil seçeneğini Etkin değil ve ardından tekrar Etkin olarak değiştirin.
  • Bu işlem sizinle paylaşılmışsa lütfen tüm paylaşım talimatlarının yerine getirildiğinden emin olun.
  • Cihazda Test işlevinin süresi üç gün sonra dolar. Actions Console sayfasında projeniz için TASLAĞI TEST ET düğmesini tıklayın.

S: Simülasyon aracında "<my agent name> ile konuş" yazdığımda neden hata veriyor?

Y: Akıllı Ev İşlemleri çağrı adlarını kullanmaz. Simülatörde test yapmak 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ğlama işlemini gerçekleştirmeden önce hesabınızla ilişkilendirilmiş cihazlarınız olmalıdır.


S: Simülasyon Aracı'nı kullanmaya çalışırken neden hata alıyorum?

Y: Simülatörü, dağıtılmış smart home işlemlerini test etmek için kullanamazsınız. Simülatörü üretim aşamasında olan bir ev otomasyonu projesi için kullanmak istiyorsanız test amacıyla yeni bir proje oluşturmanız gerekir.


Rapor Durumu

S: Rapor Durumu'nu uygulamak için ön koşullar var mı?

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


S: Bir cihazda Durumu ne sıklıkla Bildirmemiz gerekir?

Y: Google, geçiş süreci ve terminal durumu ile ilgilenmektedir. Ancak kısa sürede birçok durum değişikliği varsa (örneğin, bir kullanıcı buzdolabını bir dakikada üç kez açıp kapatıyorsa veya daha düşük bir seviyeye kaydırıyorsa) yalnızca bildirilen son duruma ihtiyacımız vardır.


S: Rapor Durumu çağrıları yapılırken cihaz durumunun tam olarak gönderilmesi gerekir mi?

Y: Kısmi durum güncellemeleri desteklenmez. Bu nedenle Report State çağrıları her zaman güncellenmiş bir özelliğe ait tüm verileri içermelidir. İki özellik bir tutarsızlık yaratacaksa bunların hepsi birlikte raporlanmalıdır.


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

Y: Bu, önermediğimiz bir yedek mekanizmadır. Bir cihazı bu kullanıcılar için sık sık yoklamaya geri dönmemiz gerekirse ek yükün ne kadar olacağını garanti edemeyiz. İhtiyaç, yeni görsel yüzeylerden geliyor. Bilinmeyen yük sorununa ek olarak kullanıcı deneyiminin kalitesi düşecektir. Report State politikasının, platform için kritik öneme sahip olduğunu düşünüyoruz.


S: Şu anda Rapor Durumu'nu hangi özellikler destekliyor?

Y: İlişkili durumları olan herkese açık tüm özellikler desteklenir. Cihazın çevrimiçi durumundaki değişiklikler de bildirilmelidir.

Sahneler'de durum olmadığını unutmayın. Ancak bunlar, cihazların durumlarının değişmesine neden olabilir. Google Home Graph içindeki herhangi bir cihazın değişiklik durumu varsa bu durumun geri bildirilmesi gerekir.


S: Rapor Durumu için bir zaman damgası gönderilmesi gerekir mi?

Y: Zaman damgası gerekli değildir; gönderilen son durum, önceki çağrıları geçersiz kılar.


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

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


S: Verilen son tarihe kadar Rapor Durumu'nu tamamen uygulamamanın sonuçları nelerdir?

Y: Bu durum, GHA ve görsel yüzeylerde olduğu gibi kullanıcı deneyiminin kalitesini düşürecektir. Bu durum, birçok QUERY amacının eyalet için ankete gönderileceği anlamına gelir ve bunun iş ortağı bulutundaki ek yüke karşılık gelecek bir oran garanti edemeyiz.


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

Y: Home Graph Viewer'ı kullanın. Bu, Home Graph içinde depolanan geçerli cihaz durumlarınızı gösteren self servis test aracıdır.


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'yi kullanmalarını öneririz. Aksi takdirde, yalnızca rastgele bir requestId kullanabilirsiniz.


S: Bir kullanıcının birden fazla cihazı varsa ve bunlardan 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 kısa olması idealdir. 2-5 sn. yeterlidir. Gecikme süreniz yaklaşık 5 saniyeyse bize ulaşın.


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

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