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

Yerel sipariş karşılama

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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ş 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ı cihazda yükleyip çalıştırabilir. Uygulamanız, mevcut protokoller üzerinden kullanıcı komutlarını yerine getirmek için yerel bir ağda (LAN) kablosuz ağ üzerinden mevcut akıllı cihazlarınızla doğrudan iletişim kurar.

SDK'nın entegrasyonu, daha düşük gecikme ve daha yüksek güvenilirlik dahil olmak üzere akıllı ev İşleminizde performans iyileştirmeleri sağlar. Yerel karşılama, ikincil kullanıcı doğrulaması kullananlar hariç tüm cihaz türleri ve cihaz özellikleri için desteklenir.

Derlemeye 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 IDENTIFY amacı gönderir. Algılanan cihaz bir çoğaltıcı veya köprü ise platform, bir REACHABLE_DEVICES amacı gönderir ve merkezi, yerel olarak iletişim kurmak için proxy cihaz olarak değerlendirir.

Platform, yerel 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.

Kullanıcı, yerel sipariş karşılama yolu bulunan bir akıllı ev İşlemini tetiklediğinde Asistan, buluta sipariş yerine Google Home veya Google Nest cihazına EXECUTE niyetini veya QUERY amacını gönderir. Ardından cihaz, isteği işlemek 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 amacını Google Asistan'ın yüklü olduğu bir telefondan yakalar, ardından kullanıcının niyeti Google Cloud tarafından işlenir. Ardından Google Home cihazında yerel olarak ç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 ekleme.

Yerel Home platformu, komutu tetikleyecek Google Home veya Google Nest cihazını seçme konusunda 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 platformunun gönderdiği amaçları işlemek ve akıllı cihazınıza yerel alan ağı üzerinden erişmek için iş mantığını içerir. Donanımınızda, yerel sipariş karşılamayla ilgili herhangi bir değişiklik yapılması beklenmez. Uygulama; HTTP, TCP veya UDP dahil olmak üzere, uygulama katmanı protokolleri üzerinden akıllı cihaza kontrol komutları göndererek akıllı ev İşlemi isteklerini yerine getirir. Yerel sipariş karşılama yolunun başarısız olması durumunda yedek bulut yürütme yolu olarak bulut üzerinden sipariş karşılama seçeneği kullanılır.

Yerel Ev SDK'sı, uygulamanın oluşturulmasını desteklemek için şu iki ana sınıfı sağlar:

  • DeviceManager: TCP, UDP soketleri veya HTTP istekleri kullanarak akıllı cihazlarla iletişim kurmak için yöntemler sağlar.
  • App: Google'ın, yerel olarak kontrol edilebilir cihazları (IDENTIFY, REACHABLE_DEVICES) keşfettikten sonra gönderdiği amaçlar için işleyiciler ekleme yöntemleri sunar. Bu sınıf, kullanıcı komutlarını da (EXECUTE) yerine getirir ve mevcut cihaz durumundaki (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şlemek için bulut karşılamanıza güvenir.

Uygulama yaşam döngüsü

Yerel Ana Sayfa platformu, proje tarama yapılandırmasıyla eşleşen yeni yerel cihazlar bulduğunda veya daha önce tespit edilen bir cihazla ilgili bekleyen istekler olduğunda yerel sipariş karşılama uygulamanız isteğe bağlı olarak yüklenir.

Google Home veya Google Nest cihazlar bellekle sınırlandırılmıştır ve sistemdeki bellek baskısı nedeniyle yerel sipariş karşılama uygulamanız herhangi bir zamanda sonlandırılabilir. Uygulamanız çok fazla bellek tüketmeye başlarsa veya sistemin başka bir uygulamaya yer açması gerekiyorsa bu durum yaşanabilir. 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 karşılamayı destekleyen bir cihaz olmadığında Yerel Home platformu uygulamanızın yüklemesini kaldırır.

Desteklenen cihazlar

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 edinmek için Yürütme ortamı'nı inceleyin.

Cihaz Tür 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 bir sürümü çalıştıran ECMAScript sürümü ES2018 ile birlikte window Chrome tarayıcısı bağlamında yürütülür.
  • Node.js: Yerel sipariş karşılama uygulamanız, Node v10.x LTS komutunu çalıştıran veya daha sonra ECMAScript sürüm ES2018 destekli bir Node.js işlemi içinde komut dosyası olarak yürütülür.

Kaynak kodu yapısı

Yerel Ev SDK'sı tarafından sağlanan paketleyici yapılandırmalarını kullanarak bağımlılarınızı tek bir JavaScript dosyasında paketlemenizi 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ı ayarlayın Actions Console'u, Asistan'ın yerel olarak kontrol edilen cihazları keşfetmesi için gereken parametrelerle yapılandırın.
2 Bulut karşılamanızdaki SYNC yanıtını güncelleme Bulut istek karşılama işleminizde, platformun yerel bir karşılama yolu oluşturmak için kullandığı otherDeviceIds alanını desteklemek amacıyla SYNC istek işleyicisini değiştirin. Bu alanda, yerel olarak kontrol edilebilen cihazların kimliklerini belirtin.
3 Yerel sipariş karşılama uygulamasını uygulayın IDENTIFY, EXECUTE ve QUERY amaçlarına yönelik bir JavaScript uygulaması oluşturmak için Yerel Ev 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 hata ayıklama Google Home Test Paketi'ni kullanarak entegrasyonunuzu (veya içerik üretici onayı) test edin.

Başlamadan önce