Yerel sipariş tamamlama uygulamanızı daha önce açıklanan adımları kullanarak oluşturmanızı ve ardından akıllı ev entegrasyonunuzu kendi barındırma ortamınızda aşağıdaki adımları uygulayarak test etmenizi öneririz:
Kendi barındırma ortamınızda, yerel sipariş tamamlama uygulamanızı çalıştıran HTML sayfasını yayınlayın. Aşağıdaki snippet'te, yerel sipariş tamamlama uygulamanızı çalıştıran statik bir HTML dosyası örneği gösterilmektedir.
<html> <head> <!-- Local Home SDK --> <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script> <!-- Local app under development --> <script src="local_execution.js"></script> </head> </html>
Chrome'dan hata ayıklama Entegrasyonunuzla ilgili sorunları gidermek için kesme noktalarını ve günlükleri kullanın.
TypeScript kodunuzu değiştirip derleyin ve ardından bu adımları tekrarlayın.
Bu derleme ve test sürecini tekrarlayarak, kodunuzdaki sorunları ayıklamaya yardımcı olması için değişikliklerinizi hızlı bir şekilde çalışırken görebilirsiniz.
Cihaz denetimini test etme
Google Home Developer Console alanında, yerel yerine getirme sırasında Google Home veya Google Nest cihazına yüklenen HTML'yi sunan web uygulamanızın URL'sini belirtmeniz gerekir.
Yerel sipariş tamamlama ile cihaz kontrolünü test etmek için aşağıdaki adımları uygulayın:
Chrome
- Google Home Developer Console'daki buluttan buluta entegrasyonunuzun Kurulum ve yapılandırma sayfasında Yerel sipariş tamamlama'ya gidip ayarı etkinleştirin.
- Test URL'leri > Chrome için test URL'si bölümünde, yerel sipariş tamamlama uygulamanızı çalıştıran HTML'yi sunan geliştirme sunucusu URL'sini belirtin.
- Kaydet'i tıklayın. Google'ın Console değişikliklerinizi dağıtması 30 dakikayı bulabilir.
- Test amaçlı Google Home veya Google Nest cihazınızı yeniden başlatın.
- Akıllı cihazınıza komut verin. Örneğin, cihazınız OnOff özelliğini kullanıyorsa "Ok Google, ışıkları aç" diyebilirsiniz.
Node.js
- Google Home Developer Console hesabının Kurulum ve yapılandırma sayfasında, Yerel sipariş tamamlama'ya gidin ve ayarı etkinleştirin.
- Test URL'leri > Node için test URL'si bölümünde, yerel sipariş tamamlama uygulamanızı çalıştıran JavaScript'i sunan geliştirme sunucusu URL'sini belirtin.
- Kaydet'i tıklayın. Google'ın Console değişikliklerinizi dağıtması 30 dakikayı bulabilir.
- Test amaçlı Google Home veya Google Nest cihazınızı yeniden başlatın.
- Akıllı cihazınıza komut verin. Örneğin, cihazınız OnOff özelliğini kullanıyorsa "Ok Google, ışıkları aç" diyebilirsiniz.
Cihazınızın kullandığı çalışma zamanı hakkında daha fazla bilgi için Desteklenen cihazlar bölümüne bakın.
Chrome'dan hata ayıklama
Yerel sipariş tamamlama uygulamanızdaki hataları Chrome Geliştirme Araçları'nı kullanarak ayıklayabilirsiniz. Hata ayıklama yapmadan önce ortamın doğru şekilde ayarlandığından emin olun:
- Konsoldaki geliştirme URL'nizi, Google Home veya Google Nest cihazının (yerel alan ağında veya interneti kullanarak) erişebileceği bir URL olarak ayarladıysanız
- Cihazınız, test ettiğiniz Google Home veya Google Nest cihazıyla aynı yerel alana bağlı olmalıdır.
- Ağınız, cihazlar arasındaki paketleri engellemiyor.
- Google Home Developer Console ve Google Home veya Google Nest cihazında aynı Google Hesabı ile giriş yapmış olmanız gerekir.
- Bulut sipariş tamamlama işleminizde SYNC yanıtını güncellediniz.
otherDeviceIds
alanında en az bir geçerli değer döndürmelidir. - Google Home Developer Console alanına doğru tarama yapılandırması bilgilerini girdiniz.
Yerel sipariş tamamlama uygulamanızı Chrome Geliştirici Araçları hata ayıklayıcısına bağlamak için aşağıdaki adımları uygulayın:
Chrome
- Yerel geliştirme makinenize Google Chrome tarayıcısını yükleyip çalıştırın.
- Chrome tarayıcınızın adres alanına
chrome://inspect#devices
yazarak Chrome denetçisini başlatın. Sayfada cihazların listesini görürsünüz. HTML dosyanız, test ettiğiniz Google Home veya Google Nest cihazının adı altında listelenir. - Chrome Geliştirici Araçları'nı başlatmak için HTML'nizin altındaki mavi "İncele" bağlantısını tıklayın. Konsol sekmesine geçin. Yerel Home platformu, uygulama sürümünüzü ve Yerel Home SDK sürümünü konsol günlüğüne gönderir. Günlüğü görüyorsanız Google, uygulamanızı başarıyla yüklemiş ve uygulamaya bağlanabilmiş demektir. Sorun düzelmediyse Google Home veya Google Nest cihazınızı yeniden başlatın.
Node.js
- Yerel geliştirme makinenize Google Chrome tarayıcısını yükleyip çalıştırın.
- Test cihazınızın yerel IP adresini belirleyin.
- Chrome tarayıcınızın adres alanına
chrome://inspect#devices
yazarak Chrome denetçisini başlatın. - Hedef bulma ayarlarını açmak için Yapılandır...'ı seçin.
- Listeye
DEVICE_IP_ADDRESS:9222
yazın ve Bitti'yi tıklayın. - Chrome Geliştirici Araçları'nı başlatmak için komut dosyanızın altındaki mavi denetleme bağlantısını tıklayın. Konsol sekmesine geçin. Yerel Home platformu, uygulama sürümünüzü ve Yerel Home SDK sürümünü konsol günlüğüne gönderir. Günlüğü görüyorsanız Google, uygulamanızı başarıyla yüklemiş ve uygulamaya bağlanabilmiş demektir. Sorun düzelmediyse Google Home veya Google Nest cihazınızı yeniden başlatın.
Cihazınızın kullandığı çalışma zamanı hakkında daha fazla bilgi için Desteklenen Cihazlar bölümüne bakın.
Hata ayıklamayla ilgili ipuçları
Hata ayıklama sırasında göz önünde bulundurulması gereken bazı ek noktalar şunlardır:
- Aynı yerel ağdaki test hesabınıza birden fazla Google Home veya Google Nest cihazı bağlamayın. Yerel yerine getirme komutlarıyla hangi Google Home veya Google Nest cihazının hedeflendiğini kontrol edemezsiniz.
- Yerel sipariş tamamlama uygulama kapsayıcınızı geliştirme URL'nizdeki en son kodla yeniden yüklemek için Chrome Geliştirici Araçları'nda sayfayı yenileyin. Bu işlem, yerel Home platformunu sıfırlamaz. Yerel sipariş tamamlama uygulamanızda platform intent'lerini (
IDENTIFY
gibi) yeniden tetiklemek için bu işlem gerekli olabilir. Yerel Home platformunu sıfırlamak için Google Home veya Google Nest cihazınızı yeniden başlatın. - JavaScript uygulamanızın hatasız şekilde yüklenip yüklenmediğini kontrol edin. Bunun için DevTools sayfasının konsol bölümünü kontrol edin. Sorun varsa şuna benzer bir mesaj görürsünüz: "Uncaught TypeError: Cannot read property 'open' of null."
IDENTIFY
yanıtındakiverificationId
,SYNC
yanıtındakiotherDeviceIds
ile eşleşmelidir.EXECUTE
işleyicisi için HTTP, TCP veya UDP komutlarınızın cihazınız tarafından alınabildiğinden ve beklendiği gibi çalıştığından emin olun.- İşleyicilerden bir
Promise
döndürdüğünüzden emin olun. - Bellekte genel durumu korumaktan kaçının. Uygulama yaşam döngüsü başlıklı makaleyi inceleyin.
- Yerel sipariş karşılama uygulamanız tarafından oluşturulan hatalar, projenizin hata günlüklerinde görünür.
Hazırlayıp üretime sunma
Akıllı ev işleminizi kullanıma sunmaya hazır olduğunuzda aşağıdaki adımları uygulayın:
- Bir terminal penceresi açın. Proje dizininizde
npm run build
komutunu çalıştırın. Bu komut, uygulamanız içindist
dizininde aşağıdaki JavaScript paketlerini oluşturur:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- Google Home Developer Console hesabının Kurulum ve yapılandırma sayfasında Yerel sipariş tamamlama'ya gidin ve ayarı etkinleştirin.
- JavaScript Yükle düğmelerini kullanarak daha önce oluşturduğunuz paket dosyalarını yükleyin.
İşleminizin yerel karşılama işleminin desteklediği tüm çalışma ortamlarında düzgün şekilde çalışacak şekilde yapılandırılması için paket dosyalarının her iki sürümünü de (Node, Web) yüklediğinizden emin olun.
- Node.js'i hedefleyen JavaScript'inizi yükleyin:
dist/node
dizinindekibundle.js
dosyasını yükleyin. - Chrome'u (tarayıcı) hedefleyen JavaScript'inizi yükleyin:
dist/web
dizinindekibundle.js
dosyasını yükleyin.
- Node.js'i hedefleyen JavaScript'inizi yükleyin:
- Üretim ortamında beklendiği gibi davrandığını doğrulamak için işleminizi Asistan özellikli bir cihazda test edin. Daha fazla bilgi edinmek için Akıllı ev işleminizi test etme ve paylaşma başlıklı makaleyi inceleyin.
- İşleminizin işleyişinden memnun kaldığınızda Akıllı ev işleminizi kullanıma sunma başlıklı makaledeki talimatları uygulayarak üretime dağıtılmak üzere Google'a gönderin. Buna kendi kendine test ve sertifika isteği adımlarını tamamlama da dahildir.