Akıllı ev işlemlerinin nasıl geliştirileceğini öğrenebileceğiniz yeni adres olan Google Home Geliştirici Merkezi'ne hoş geldiniz. Not: Actions Console'da işlem derlemeye devam edersiniz.

Yerel sipariş karşılama

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.

Bu şekil, yerel sipariş karşılama için yürütme akışını göstermektedir. Yürütme yolu, kullanıcının Google Asistan ile telefondaki amacını yakalar, ardından kullanıcının amacı Google Cloud tarafından işlenir. Ardından yerel olarak Google Home cihazında çalıştırılır ve komut doğrudan cihaz merkezine veya doğrudan cihaza verilir. Geliştirici bulutu, bulut yedeği olarak kullanılabilir.
Şekil 1: Akıllı ev İşleminiz için yerel sipariş karşılama yolu ekleyin.

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 Ekran Chrome
Nest Hub Max Ekran 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