Yerel Ev SDK'sı, akıllı ev niyetlerini yönlendirmek için yerel bir sipariş karşılama yolu ekleyerek Google Asistan ile akıllı ev entegrasyonunuzu iyileştirir.
SDK, akıllı ev işletme mantığınızı içeren TypeScript veya JavaScript kullanarak yerel bir sipariş karşılama uygulaması yazmanıza olanak tanır. Google Home veya Google Nest cihazlar, uygulamanızı cihaza yükleyip çalıştırabilir. Uygulamanız, mevcut protokoller üzerinden kullanıcı komutlarını gerçekleştirmek için yerel bir ağdaki (LAN) kablosuz ağ üzerinden mevcut akıllı cihazlarınızla doğrudan iletişim kurar.
SDK'nın entegrasyonu, akıllı ev Action'ınızda düşük gecikme ve yüksek güvenilirlik dahil olmak üzere performans iyileştirmeleri sunar. Yerel sipariş karşılama, ikincil kullanıcı doğrulaması kullananlar hariç tüm cihaz türleri ve cihaz özellikleri için desteklenir.
Geliştirmeye başlayın Örneği deneyin
İşleyiş şeklini öğrenin
Bulutta karşılama durumunuzdan SYNC
yanıtı aldıktan sonra Yerel Ev platformu, Asistan'a bağlı akıllı cihazları keşfetmek için mDNS, UDP yayını veya UPnP'yi kullanarak kullanıcının yerel alan ağını tarar.
Platform, IDENTIFY
yanıtındaki cihaz kimliğini önceki SYNC
yanıtı tarafından döndürülen cihazlarla karşılaştırarak cihazın yerel olarak kontrol edilebilir olup olmadığını belirlemek için bir IDENTIFY
amacı gönderir. Algılanan cihaz bir pervane veya köprüyse platform bir REACHABLE_DEVICES
niyeti gönderir ve mermiyi yerel olarak iletişim kurmak için proxy cihaz olarak değerlendirir.
Platform, yerel bir cihazı onaylayan bir yanıt aldığında kullanıcının Google Home veya Google Nest cihazına yerel bir sipariş karşılama yolu oluşturur, ardından kullanıcı komutlarını yerel sipariş karşılama için yönlendirir.
Bir kullanıcı, yerel sipariş karşılama yolu olan bir akıllı ev İşlemi tetiklediğinde Asistan, buluttaki sipariş yerine Google Home veya Google Nest cihazına EXECUTE
niyetini veya QUERY
amacını gönderir. Cihaz, daha sonra amacı işlemesi için yerel sipariş karşılama uygulamasını çalıştırır.

Yerel Home platformu, komutu tetikleyecek Google Home veya Google Nest cihazını seçerken belirleyici değildir. EXECUTE
ve QUERY
amaçları, hedef cihazla aynı Home Graph yapısında tanımlanan herhangi bir Google Home veya Google Nest cihazından gelebilir.
Yerel sipariş karşılama uygulaması
Yerel sipariş karşılama uygulaması, Yerel Ev Platformu tarafından gönderilen amaçları işlemek ve yerel cihazınıza ağ aracılığıyla akıllı cihazınıza erişmek için iş mantığını içerir. Donanımınızda yerel sipariş karşılama özelliğinin değiştirilmesi beklenmez. Uygulama; HTTP, TCP veya UDP dahil, uygulama katmanı protokolleri aracılığıyla akıllı cihaza kontrol komutları göndererek akıllı ev Action isteklerini yerine getirir. Yerel sipariş karşılama yolunun başarısız olması durumunda bulut karşılama yönteminiz, yedek yürütme yolu olarak kullanılır.
Yerel Ev SDK'sı, uygulamanın oluşturulmasını desteklemek için şu iki ana sınıfı sunar:
DeviceManager
: TCP, UDP soketleri veya HTTP istekleri kullanarak akıllı cihazlarla iletişim için yöntemler sunar.App
: Google'ın yerel olarak kontrol edilebilir cihazları (IDENTIFY
,REACHABLE_DEVICES
) keşfedtikten sonra gönderdiği amaçlar için işleyiciler ekleme yöntemleri sağlar. Bu sınıf, kullanıcı komutlarını da (EXECUTE
) yerine getirir ve geçerli cihaz durumunda (QUERY
) kullanıcı sorgularını yanıtlar.
Geliştirme sırasında, uygulamayı kendi barındırma sunucunuza veya yerel geliştirme makinenize yükleyerek derleyip test edebilirsiniz. Üretimde Google, uygulamanızı kullanıcının Google Home veya Google Nest cihazında güvenli bir JavaScript korumalı alanında barındırır.
Report State API'si şu anda yerel sipariş karşılama için desteklenmemektedir. Google, bu istekleri işleme almak için buluttaki sipariş karşılamayı kullanır.
Uygulama yaşam döngüsü
Yerel Home platformu, proje tarama yapılandırmasıyla eşleşen yeni yerel cihazlar bulduğunda veya daha önce tespit edilen bir cihazla ilgili yayınlama için bekleyen istekler olduğunda yerel sipariş karşılama uygulamanız isteğe bağlı olarak yüklenir.
Google Home veya Google Nest cihazlar bellek açısından kısıtlıdır ve yerel sipariş karşılama uygulamanız sistemdeki bellek baskısı nedeniyle herhangi bir zamanda sonlandırılabilir. Bu durum, uygulamanız çok fazla bellek tüketmeye başlarsa veya sistemin başka bir uygulamaya yer açması gerekirse ortaya çıkabilir. Yerel Ev platformu, yalnızca yayınlanacak yeni amaçlar ve uygulamanın çalışması için yeterli bellek kaynağı olduğunda uygulamanızı yeniden başlatır.
Boşta kalma zaman aşımının ardından, kullanıcı hesabının bağlantısını kaldırdığında veya kullanıcının agentUserId
ile ilişkilendirilmiş yerel sipariş karşılama özelliğini destekleyen bir cihaz olmadığında Yerel Ev platformu uygulamanızın yüklemesini kaldırır.
Desteklenen cihaz sayısı
Yerel Home platformu, desteklenen Google Home veya Google Nest cihazlarda yerel sipariş karşılama uygulamanızı çalıştırır. Aşağıdaki tabloda, desteklenen cihazlar ve her bir cihazda kullanılan çalışma zamanı açıklanmaktadır. Çalışma zamanı gereksinimleri hakkında daha fazla bilgi için Yürütme ortamı bölümüne bakın.
Cihaz | Type | Ortam |
---|---|---|
Google Home | Hoparlör | Chrome |
Google Home Mini | Hoparlör | Chrome |
Google Home Max | Hoparlör | Chrome |
Nest Mini | Hoparlör | Chrome |
Nest Hub | Görüntülü Reklam Ağı | Chrome |
Nest Hub Max | Görüntülü Reklam Ağı | Chrome |
Nest Wifi | Yönlendirici | Node.js |
Nokta | Chrome |
Yürütme ortamı
Yerel sipariş karşılama uygulamanızın yürütme ortamı cihazınıza bağlıdır. Yerel Ev platformu aşağıdaki çalışma zamanı ortamlarını destekler:
- Chrome: Yerel sipariş karşılama uygulamanız, Chrome M80 veya sonraki sürümleri çalıştıran bir Chrome tarayıcı
window
veya ECMAScript sürümü ES2018 desteğiyle yürütülür. - Node.js: Yerel sipariş karşılama uygulamanız Node v10.x LTS'yi çalıştıran veya daha sonra ECMAScript sürümü ES2018'i destekleyen bir Node.js işlemi içinde komut dosyası olarak yürütülür.
Kaynak kodu yapısı
Yerel Home SDK'sı tarafından sağlanan paket yapılandırmasını kullanarak bağımlılıklarınızı tek bir JavaScript dosyasında gruplandırmanızı ve kaynak kodunuzu hemen çağrılan İşlev İfadesi (IIFE) olarak paketlemenizi öneririz.
Uygulama yolu
Akıllı ev entegrasyonunuzda Yerel Ev SDK'sını kullanmak için aşağıdaki görevleri gerçekleştirmeniz gerekir:
1 | Tarama yapılandırmasını ayarlama | Asistan'ın yerel olarak kontrol edilebilir cihazları keşfetmesi için gerekli parametreleri kullanarak Actions konsolunu yapılandırın. |
2 | Bulut karşılamanızdaki SYNC yanıtını güncelleme | Bulut istek karşılamada platformun yerel bir sipariş karşılama yolu oluşturmak için kullandığı
otherDeviceIds alanını desteklemek için SYNC istek işleyicisini değiştirin. Bu alanda, yerel olarak kontrol edilebilen cihazların kimliklerini belirtin.
|
3 | Yerel sipariş karşılama uygulamasını uygulama | IDENTIFY ,
EXECUTE ve
QUERY niyetlerini işleyecek bir JavaScript uygulaması oluşturmak için Local Home SDK'sını kullanın. Hub veya köprü proxy cihazları için REACHABLE_DEVICES amacını da işlemeniz gerekir.
|
4 | Uygulamanızı test etme ve hatalarını ayıklama | Google Home Test Paketi'ni kullanarak entegrasyonunuzu (veya içerik üretici onayı) test edin. |
Başlamadan önce
- Akıllı ev işlemi oluşturma ile ilgili temel bilgileri öğrenin.
- Actions Console'da mevcut bir akıllı ev projeniz olduğundan ve hesap bağlamanın yapılandırılmış olduğundan emin olun.
- Actions konsolunda ve test cihazınızda Asistan'da aynı Google Hesabı ile giriş yaptığınızdan emin olun.
- Uygulamanızı yazmak için bir Node.js ortamı gerekir. Node.js ve npm'yi yüklemek için Düğüm Sürümü Yöneticisi önerilir.
- Yerel Ev SDK'sının en son sürümüyle çalışmak için test cihazlarınızı Cast Önizleme Programı'na kaydetmeniz gerekir.