আমরা সুপারিশ করছি যে আপনি আগে বর্ণিত ধাপগুলি ব্যবহার করে আপনার স্থানীয় পরিপূর্ণতা অ্যাপ তৈরি করুন, তারপর নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে আপনার নিজস্ব হোস্টিং পরিবেশে আপনার স্মার্ট হোম ইন্টিগ্রেশন পরীক্ষা করুন:
আপনার নিজস্ব হোস্টিং পরিবেশে, এইচটিএমএল পৃষ্ঠা পরিবেশন করুন যা আপনার স্থানীয় পরিপূর্ণতা অ্যাপ চালায়। নিম্নলিখিত স্নিপেটটি একটি স্ট্যাটিক HTML ফাইলের উদাহরণ দেখায় যা আপনার স্থানীয় পরিপূর্ণতা অ্যাপ চালায়।
<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 থেকে ডিবাগ করুন । আপনার ইন্টিগ্রেশনের সমস্যা সমাধানের জন্য ব্রেকপয়েন্ট এবং লগ ব্যবহার করুন।
আপনার TypeScript কোড পরিবর্তন এবং কম্পাইল করুন, তারপর এই পদক্ষেপগুলি পুনরাবৃত্তি করুন।
এই বিল্ড-এবং-পরীক্ষার প্রক্রিয়াটি পুনরাবৃত্তি করে, আপনি আপনার কোডের সমস্যাগুলি ডিবাগ করতে সাহায্য করার জন্য দ্রুত আপনার পরিবর্তনগুলি দেখতে পারেন৷
ডিভাইস নিয়ন্ত্রণ পরীক্ষা করুন
Google Home Developer Console এ, আপনাকে আপনার ওয়েব অ্যাপের URL উল্লেখ করতে হবে, যেটি HTML-কে পরিবেশন করে যা স্থানীয় পূরণের সময় Google Home বা Google Nest ডিভাইসে লোড হয়।
স্থানীয় পূর্ণতা সহ ডিভাইস নিয়ন্ত্রণ পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
ক্রোম
- Google Home Developer Console আপনার ক্লাউড-টু-ক্লাউড ইন্টিগ্রেশনের সেটআপ এবং কনফিগারেশন পৃষ্ঠায়, স্থানীয় পরিপূর্ণতায় স্ক্রোল করুন এবং সেটিংটি টগল করুন।
- টেস্টিং ইউআরএল > Chrome-এর জন্য টেস্টিং ইউআরএল- এর অধীনে, এইচটিএমএল পরিবেশন করে এমন ডেভেলপমেন্ট সার্ভার ইউআরএল নির্দিষ্ট করুন যা আপনার স্থানীয় পরিপূর্ণতা অ্যাপ চালায়।
- Save এ ক্লিক করুন। আপনার কনসোল পরিবর্তনগুলি প্রচার করতে Google এর জন্য 30 মিনিট পর্যন্ত সময় লাগতে পারে৷
- আপনার টেস্ট Google Home বা Google Nest ডিভাইস রিবুট করুন।
- আপনার স্মার্ট ডিভাইসে একটি কমান্ড জারি করুন। উদাহরণস্বরূপ, যদি আপনার ডিভাইসটি অনঅফ বৈশিষ্ট্য প্রয়োগ করে, আপনি বলতে পারেন "হে গুগল, লাইট জ্বালিয়ে দাও।"
Node.js
- Google Home Developer Console সেটআপ এবং কনফিগারেশন পৃষ্ঠায়, স্থানীয় পরিপূর্ণতায় স্ক্রোল করুন এবং সেটিংটি টগল করুন।
- ইউআরএল টেস্টিং > নোডের জন্য টেস্টিং ইউআরএল- এর অধীনে, আপনার স্থানীয় পরিপূর্ণতা অ্যাপটি চালানো জাভাস্ক্রিপ্ট পরিবেশন করে এমন ডেভেলপমেন্ট সার্ভার ইউআরএল উল্লেখ করুন।
- Save এ ক্লিক করুন। আপনার কনসোল পরিবর্তনগুলি প্রচার করতে Google এর জন্য 30 মিনিট পর্যন্ত সময় লাগতে পারে৷
- আপনার টেস্ট Google Home বা Google Nest ডিভাইস রিবুট করুন।
- আপনার স্মার্ট ডিভাইসে একটি কমান্ড জারি করুন। উদাহরণস্বরূপ, যদি আপনার ডিভাইসটি অনঅফ বৈশিষ্ট্য প্রয়োগ করে, আপনি বলতে পারেন "হে গুগল, লাইট জ্বালিয়ে দাও।"
আপনার ডিভাইসে কোন রানটাইম ব্যবহার করা হয় সে সম্পর্কে আরও বিশদ বিবরণের জন্য, সমর্থিত ডিভাইসগুলি দেখুন।
Chrome থেকে ডিবাগ করুন
আপনি Chrome DevTools ব্যবহার করে আপনার স্থানীয় পূর্ণতা অ্যাপ ডিবাগ করতে পারেন। আপনি ডিবাগ করার আগে, আপনার পরিবেশ সঠিকভাবে সেট আপ করা হয়েছে তা নিশ্চিত করুন:
- আপনি কনসোলে আপনার ডেভেলপমেন্ট ইউআরএল সেট করেছেন একটি ইউআরএল যা Google Home বা Google Nest ডিভাইসের মাধ্যমে পৌঁছানো যায় (হয় লোকাল এরিয়া নেটওয়ার্কে বা ইন্টারনেট ব্যবহার করে),
- আপনি যে Google Home বা Google Nest ডিভাইসটি পরীক্ষা করছেন সেই একই লোকাল এরিয়া নেটওয়ার্কের সাথে আপনার মেশিন কানেক্ট করা আছে।
- আপনার নেটওয়ার্ক ডিভাইসের মধ্যে প্যাকেট ব্লক করে না।
- আপনি Google Home Developer Console এবং Google Home বা Google Nest ডিভাইসে একই Google অ্যাকাউন্ট দিয়ে লগ ইন করেছেন।
- আপনি আপনার ক্লাউড পরিপূর্ণতায় SYNC প্রতিক্রিয়া আপডেট করেছেন । এটি
otherDeviceIds
ক্ষেত্রে অন্তত একটি বৈধ মান ফেরত দেবে। - আপনি Google Home Developer Console এ সঠিক স্ক্যান কনফিগার তথ্য প্রবেশ করেছেন।
আপনার স্থানীয় পূর্ণতা অ্যাপটিকে Chrome DevTools ডিবাগারের সাথে সংযুক্ত করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
ক্রোম
- আপনার স্থানীয় ডেভেলপমেন্ট মেশিনে, Google Chrome ব্রাউজারটি ইনস্টল এবং চালু করুন।
- আপনার ক্রোম ব্রাউজারের ঠিকানা ক্ষেত্রে, প্রবেশ করে Chrome পরিদর্শক চালু করুন:
chrome://inspect#devices
। আপনি পৃষ্ঠায় ডিভাইসগুলির একটি তালিকা দেখতে পাবেন এবং আপনার HTML ফাইলটি আপনার পরীক্ষার Google Home বা Google Nest ডিভাইসের নামে তালিকাভুক্ত করা উচিত। - Chrome DevTools চালু করতে আপনার HTML-এর নীচে নীল পরিদর্শন লিঙ্কে ক্লিক করুন৷ কনসোল ট্যাবে স্যুইচ করুন। স্থানীয় হোম প্ল্যাটফর্ম কনসোল লগে আপনার অ্যাপ সংস্করণ এবং স্থানীয় হোম SDK সংস্করণ আউটপুট করে। আপনি যদি লগটি দেখতে পান, তাহলে এর মানে হল যে Google আপনার অ্যাপটি সফলভাবে লোড করেছে এবং এটির সাথে সংযোগ করতে সক্ষম। যদি না হয়, আপনার Google Home বা Google Nest ডিভাইস রিবুট করুন।
Node.js
- আপনার স্থানীয় ডেভেলপমেন্ট মেশিনে, Google Chrome ব্রাউজারটি ইনস্টল এবং চালু করুন।
- আপনার পরীক্ষা ডিভাইসের স্থানীয় IP ঠিকানা নির্ধারণ করুন.
- আপনার ক্রোম ব্রাউজারের ঠিকানা ক্ষেত্রে, প্রবেশ করে Chrome পরিদর্শক চালু করুন:
chrome://inspect#devices
। - লক্ষ্য আবিষ্কার সেটিংস খুলতে কনফিগার... নির্বাচন করুন।
- তালিকায়
DEVICE_IP_ADDRESS :9222
লিখুন এবং সম্পন্ন ক্লিক করুন। - Chrome DevTools চালু করতে আপনার স্ক্রিপ্টের নীচে নীল পরিদর্শন লিঙ্কে ক্লিক করুন৷ কনসোল ট্যাবে স্যুইচ করুন। স্থানীয় হোম প্ল্যাটফর্ম কনসোল লগে আপনার অ্যাপ সংস্করণ এবং স্থানীয় হোম SDK সংস্করণ আউটপুট করে। আপনি যদি লগটি দেখতে পান, তাহলে এর মানে হল যে Google আপনার অ্যাপটি সফলভাবে লোড করেছে এবং এটির সাথে সংযোগ করতে সক্ষম। যদি না হয়, আপনার Google Home বা Google Nest ডিভাইস রিবুট করুন।
আপনার ডিভাইসে কোন রানটাইম ব্যবহার করা হয় সে সম্পর্কে আরও বিশদ বিবরণের জন্য, সমর্থিত ডিভাইসগুলি দেখুন।
ডিবাগিং টিপস
ডিবাগিংয়ের সময় কিছু অতিরিক্ত জিনিস মনে রাখতে হবে:
- একই স্থানীয় নেটওয়ার্কে আপনার টেস্ট অ্যাকাউন্টের সাথে একাধিক Google Home বা Google Nest ডিভাইস লিঙ্ক করবেন না। কোন Google Home বা Google Nest ডিভাইসটি স্থানীয় পূর্ণতা আদেশ দিয়ে লক্ষ্য করা হবে তা আপনি নিয়ন্ত্রণ করতে পারবেন না।
- আপনার ডেভেলপমেন্ট ইউআরএল থেকে লেটেস্ট কোড সহ আপনার স্থানীয় পূর্ণতা অ্যাপ কন্টেইনার রিলোড করতে Chrome DevTools-এ পৃষ্ঠাটি রিফ্রেশ করুন। এটি স্থানীয় হোম প্ল্যাটফর্ম রিসেট করে না, যা আপনার স্থানীয় পূরণ অ্যাপে প্ল্যাটফর্মের অভিপ্রায়গুলি (যেমন
IDENTIFY
) পুনরায় ট্রিগার করার জন্য প্রয়োজন হতে পারে। লোকাল হোম প্ল্যাটফর্ম রিসেট করতে, আপনার Google Home বা Google Nest ডিভাইস রিবুট করুন। - আপনার JavaScript অ্যাপটি ত্রুটি ছাড়াই লোড হচ্ছে কিনা তা পরীক্ষা করুন। এটি করতে, DevTools পৃষ্ঠার কনসোল বিভাগটি দেখুন। যদি কোনো সমস্যা হয়, তাহলে আপনি এইরকম একটি বার্তা দেখতে পাবেন: 'Uncaught TypeError: cann't read property 'open' of null.'
-
IDENTIFY
প্রতিক্রিয়া থেকেverificationId
অবশ্যইSYNC
প্রতিক্রিয়া থেকেotherDeviceIds
একটির সাথে মিলবে৷ -
EXECUTE
হ্যান্ডলারের জন্য, নিশ্চিত করুন যে আপনার HTTP, TCP, বা UDP কমান্ডগুলি আপনার ডিভাইসে প্রাপ্ত হতে পারে এবং প্রত্যাশিতভাবে কাজ করে। - হ্যান্ডলারদের কাছ থেকে একটি
Promise
ফেরত নিশ্চিত করুন. - মেমরিতে বিশ্বব্যাপী রাষ্ট্র বজায় রাখা এড়িয়ে চলুন। অ্যাপ্লিকেশন জীবনচক্র দেখুন।
- আপনার স্থানীয় পূর্ণতা অ্যাপ দ্বারা নিক্ষিপ্ত ত্রুটিগুলি আপনার প্রকল্পের ত্রুটি লগগুলিতে প্রদর্শিত হবে৷
প্রস্তুত করুন এবং উত্পাদন শুরু করুন
আপনি যখন আপনার স্মার্ট হোম অ্যাকশন চালু করতে প্রস্তুত হন, তখন এই পদক্ষেপগুলি অনুসরণ করুন:
- একটি টার্মিনাল খুলুন। আপনার প্রকল্প ডিরেক্টরিতে,
npm run build
কমান্ডটি চালান। এই কমান্ডটিdist
ডিরেক্টরির অধীনে আপনার অ্যাপের জন্য নিম্নলিখিত জাভাস্ক্রিপ্ট বান্ডিলগুলি তৈরি করে:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- Google Home Developer Console সেটআপ এবং কনফিগারেশন পৃষ্ঠায়, স্থানীয় পরিপূর্ণতায় স্ক্রোল করুন এবং সেটিংটি টগল করুন।
- আপলোড জাভাস্ক্রিপ্ট বোতামগুলি ব্যবহার করে, আপনি পূর্বে তৈরি করা বান্ডেল ফাইলগুলি আপলোড করুন৷ বান্ডেল ফাইলের উভয় সংস্করণ (নোড, ওয়েব) আপলোড করা নিশ্চিত করুন যাতে স্থানীয় পরিপূর্ণতা সমর্থন করে এমন সমস্ত রানটাইম পরিবেশে আপনার অ্যাকশন সঠিকভাবে কাজ করার জন্য কনফিগার করা হয়।
- আপনার জাভাস্ক্রিপ্ট টার্গেটিং Node.js আপলোড করুন :
dist/node
ডিরেক্টরি থেকেbundle.js
ফাইল আপলোড করুন। - আপনার জাভাস্ক্রিপ্ট টার্গেটিং Chrome (ব্রাউজার) আপলোড করুন :
dist/web
ডিরেক্টরি থেকেbundle.js
ফাইল আপলোড করুন।
- আপনার জাভাস্ক্রিপ্ট টার্গেটিং Node.js আপলোড করুন :
- একটি সহকারী-সক্ষম ডিভাইসে আপনার অ্যাকশন পরীক্ষা করুন, এটি একটি উত্পাদন পরিবেশে প্রত্যাশা অনুযায়ী আচরণ করে কিনা তা যাচাই করতে। আরও জানতে, পরীক্ষা দেখুন এবং আপনার স্মার্ট হোম অ্যাকশন শেয়ার করুন ।
- আপনার অ্যাকশন কীভাবে কাজ করে তা নিয়ে আপনি সন্তুষ্ট হলে, আপনার স্মার্ট হোম অ্যাকশন চালু করুন -এ দেওয়া নির্দেশাবলী অনুসরণ করে প্রোডাকশন ডিপ্লয়মেন্টের জন্য Google-এ জমা দিন। এর মধ্যে রয়েছে স্ব-পরীক্ষা এবং সার্টিফিকেশন অনুরোধের ধাপগুলি সম্পূর্ণ করা।