আপনার অ্যাপ পরীক্ষা করুন এবং ডিবাগ করুন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
আমরা সুপারিশ করছি যে, আপনি পূর্বে বর্ণিত ধাপগুলো অনুসরণ করে আপনার লোকাল ফুলফিলমেন্ট অ্যাপটি তৈরি করুন, তারপর নিম্নলিখিত ধাপগুলো অনুসরণ করে আপনার নিজস্ব হোস্টিং এনভায়রনমেন্টে স্মার্ট হোম ইন্টিগ্রেশনটি পরীক্ষা করুন:
আপনার নিজস্ব হোস্টিং পরিবেশে, সেই HTML পৃষ্ঠাটি পরিবেশন করুন যা আপনার স্থানীয় ফুলফিলমেন্ট অ্যাপটি চালায়। নিম্নলিখিত কোড স্নিপেটটি একটি স্ট্যাটিক 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>
ক্রোম থেকে ডিবাগ করুন । আপনার ইন্টিগ্রেশনের সমস্যা সমাধানে ব্রেকপয়েন্ট ও লগ ব্যবহার করুন।
আপনার টাইপস্ক্রিপ্ট কোডটি পরিবর্তন ও কম্পাইল করুন, তারপর এই ধাপগুলো পুনরাবৃত্তি করুন।
এই বিল্ড-এবং-টেস্ট প্রক্রিয়াটি পুনরাবৃত্তি করার মাধ্যমে, আপনি আপনার পরিবর্তনগুলোর কার্যকারিতা দ্রুত দেখতে পারবেন, যা আপনাকে আপনার কোডের সমস্যা ডিবাগ করতে সাহায্য করবে।
পরীক্ষার ডিভাইস নিয়ন্ত্রণ
Google Home Developer Console , আপনাকে আপনার ওয়েব অ্যাপের URL নির্দিষ্ট করতে হবে, যেটি সেই HTML সরবরাহ করে যা স্থানীয় ডেলিভারির সময় গুগল হোম বা গুগল নেস্ট ডিভাইসে লোড হয়।
স্থানীয় ফুলফিলমেন্টের সাথে ডিভাইস কন্ট্রোল পরীক্ষা করতে, এই ধাপগুলো অনুসরণ করুন:
ক্রোম
Google Home Developer Console এ আপনার ক্লাউড-টু-ক্লাউড ইন্টিগ্রেশনের সেটআপ এবং কনফিগারেশন পৃষ্ঠায়, লোকাল ফুলফিলমেন্ট পর্যন্ত স্ক্রোল করুন এবং সেটিংটি অন করুন।
'Testing URLs > Testing URL for Chrome'-এর অধীনে, সেই ডেভেলপমেন্ট সার্ভার URL-টি নির্দিষ্ট করুন যেটি আপনার লোকাল ফুলফিলমেন্ট অ্যাপ চালানোর জন্য HTML সরবরাহ করে।
সেভ- এ ক্লিক করুন। আপনার কনসোলের পরিবর্তনগুলো কার্যকর হতে গুগলের ৩০ মিনিট পর্যন্ত সময় লাগতে পারে।
আপনার পরীক্ষাধীন গুগল হোম বা গুগল নেস্ট ডিভাইসটি রিবুট করুন।
আপনার স্মার্ট ডিভাইসকে একটি কমান্ড দিন। উদাহরণস্বরূপ, যদি আপনার ডিভাইসে OnOff বৈশিষ্ট্যটি থাকে, তাহলে আপনি বলতে পারেন "হে গুগল, বাতিগুলো জ্বালিয়ে দাও।"
নোড.জেএস
Google Home Developer Console এর সেটআপ এবং কনফিগারেশন পৃষ্ঠায়, 'Local fulfillment'- এ স্ক্রোল করুন এবং সেটিংটি অন করুন।
'Testing URLs > Testing URL for Node'-এর অধীনে, সেই ডেভেলপমেন্ট সার্ভার URL-টি নির্দিষ্ট করুন যেটি আপনার লোকাল ফুলফিলমেন্ট অ্যাপ চালনাকারী জাভাস্ক্রিপ্ট সরবরাহ করে।
সেভ- এ ক্লিক করুন। আপনার কনসোলের পরিবর্তনগুলো কার্যকর হতে গুগলের ৩০ মিনিট পর্যন্ত সময় লাগতে পারে।
আপনার পরীক্ষাধীন গুগল হোম বা গুগল নেস্ট ডিভাইসটি রিবুট করুন।
আপনার স্মার্ট ডিভাইসকে একটি কমান্ড দিন। উদাহরণস্বরূপ, যদি আপনার ডিভাইসে OnOff বৈশিষ্ট্যটি থাকে, তাহলে আপনি বলতে পারেন "হে গুগল, বাতিগুলো জ্বালিয়ে দাও।"
আপনার ডিভাইস কোন রানটাইম ব্যবহার করে সে সম্পর্কে আরও বিস্তারিত জানতে, সমর্থিত ডিভাইসসমূহ দেখুন।
ক্রোম থেকে ডিবাগ করুন
আপনি Chrome DevTools ব্যবহার করে আপনার স্থানীয় ফুলফিলমেন্ট অ্যাপ ডিবাগ করতে পারেন। ডিবাগ করার আগে, নিশ্চিত করুন যে আপনার পরিবেশটি সঠিকভাবে সেট আপ করা আছে:
আপনি কনসোলে আপনার ডেভেলপমেন্ট ইউআরএল এমন একটি ইউআরএল-এ সেট করেছেন যা গুগল হোম বা গুগল নেস্ট ডিভাইস দ্বারা অ্যাক্সেসযোগ্য (লোকাল এরিয়া নেটওয়ার্ক বা ইন্টারনেট ব্যবহার করে),
আপনার মেশিনটি সেই একই লোকাল এরিয়া নেটওয়ার্কের সাথে সংযুক্ত, যেটির সাথে আপনি পরীক্ষাধীন গুগল হোম বা গুগল নেস্ট ডিভাইসটি সংযুক্ত।
আপনার নেটওয়ার্ক ডিভাইসগুলোর মধ্যে প্যাকেট ব্লক করে না।
আপনার ক্রোম ব্রাউজারের অ্যাড্রেস ফিল্ডে chrome://inspect#devices লিখে ক্রোম ইন্সপেক্টর চালু করুন। পেজটিতে আপনি ডিভাইসগুলোর একটি তালিকা দেখতে পাবেন এবং আপনার HTML ফাইলটি আপনার পরীক্ষাধীন গুগল হোম বা গুগল নেস্ট ডিভাইসের নামের অধীনে তালিকাভুক্ত থাকবে।
Chrome DevTools চালু করতে আপনার HTML-এর নিচে থাকা নীল রঙের ইন্সপেক্ট লিঙ্কে ক্লিক করুন। কনসোল ট্যাবে যান। লোকাল হোম প্ল্যাটফর্ম কনসোল লগে আপনার অ্যাপ ভার্সন এবং লোকাল হোম SDK ভার্সন আউটপুট করে। আপনি যদি লগটি দেখতে পান, তার মানে হলো গুগল আপনার অ্যাপটি সফলভাবে লোড করেছে এবং এর সাথে সংযোগ স্থাপন করতে সক্ষম হয়েছে। যদি তা না হয়, আপনার গুগল হোম বা গুগল নেস্ট ডিভাইসটি রিবুট করুন।
তালিকায় DEVICE_IP_ADDRESS :9222 লিখুন এবং Done-এ ক্লিক করুন।
Chrome DevTools চালু করতে আপনার স্ক্রিপ্টের নিচে থাকা নীল রঙের 'inspect' লিঙ্কে ক্লিক করুন। এরপর Console ট্যাবে যান। Local Home প্ল্যাটফর্ম কনসোল লগে আপনার অ্যাপ ভার্সন এবং Local Home SDK ভার্সন প্রদর্শন করে। আপনি যদি লগটি দেখতে পান, তার মানে হলো Google আপনার অ্যাপটি সফলভাবে লোড করেছে এবং এর সাথে সংযোগ স্থাপন করতে সক্ষম হয়েছে। যদি তা না হয়, তবে আপনার Google Home বা Google Nest ডিভাইসটি রিবুট করুন।
আপনার ডিভাইস কোন রানটাইম ব্যবহার করে সে সম্পর্কে আরও বিস্তারিত জানতে, সমর্থিত ডিভাইসসমূহ দেখুন।
ডিবাগিং টিপস
ডিবাগিং করার সময় আরও কিছু বিষয় মনে রাখতে হবে, যেমন:
একই লোকাল নেটওয়ার্কে আপনার টেস্ট অ্যাকাউন্টের সাথে একাধিক গুগল হোম বা গুগল নেস্ট ডিভাইস লিঙ্ক করবেন না। তাহলে লোকাল ফুলফিলমেন্ট কমান্ডগুলো কোন গুগল হোম বা গুগল নেস্ট ডিভাইসকে টার্গেট করবে, তা আপনি নিয়ন্ত্রণ করতে পারবেন না।
আপনার ডেভেলপমেন্ট ইউআরএল থেকে সর্বশেষ কোড দিয়ে আপনার লোকাল ফুলফিলমেন্ট অ্যাপ কন্টেইনারটি পুনরায় লোড করতে ক্রোম ডেভটুলস-এ পৃষ্ঠাটি রিফ্রেশ করুন। এটি লোকাল হোম প্ল্যাটফর্ম রিসেট করে না, যা আপনার লোকাল ফুলফিলমেন্ট অ্যাপে প্ল্যাটফর্ম ইন্টেন্ট (যেমন IDENTIFY ) পুনরায় ট্রিগার করার জন্য প্রয়োজনীয় হতে পারে। লোকাল হোম প্ল্যাটফর্ম রিসেট করতে, আপনার গুগল হোম বা গুগল নেস্ট ডিভাইসটি রিবুট করুন।
আপনার জাভাস্ক্রিপ্ট অ্যাপটি কোনো ত্রুটি ছাড়াই লোড হচ্ছে কিনা তা পরীক্ষা করুন। এটি করার জন্য, DevTools পেজের কনসোল অংশটি দেখুন। যদি কোনো সমস্যা থাকে, তাহলে আপনি এই ধরনের একটি বার্তা দেখতে পাবেন: 'Uncaught TypeError: Cannot read property 'open' of null.'
IDENTIFY রেসপন্স থেকে verificationId টি SYNC রেসপন্স থেকে otherDeviceIds যেকোনো একটির সাথে অবশ্যই মিলতে হবে।
EXECUTE হ্যান্ডলারের জন্য, নিশ্চিত করুন যে আপনার HTTP, TCP, বা UDP কমান্ডগুলো আপনার ডিভাইস গ্রহণ করতে পারে এবং প্রত্যাশিতভাবে কাজ করে।
হ্যান্ডলারগুলো থেকে অবশ্যই একটি Promise রিটার্ন করবেন।
আপনার স্থানীয় ফুলফিলমেন্ট অ্যাপ থেকে আসা ত্রুটিগুলো আপনার প্রজেক্টের এরর লগে দেখা যাবে।
উৎপাদনের জন্য প্রস্তুত ও চালু করুন
যখন আপনি আপনার স্মার্ট হোম অ্যাকশন চালু করতে প্রস্তুত হবেন, তখন এই ধাপগুলো অনুসরণ করুন:
একটি টার্মিনাল খুলুন। আপনার প্রজেক্ট ডিরেক্টরিতে, npm run build কমান্ডটি চালান। এই কমান্ডটি dist ডিরেক্টরির অধীনে আপনার অ্যাপের জন্য নিম্নলিখিত জাভাস্ক্রিপ্ট বান্ডেলগুলি তৈরি করবে:
Google Home Developer Console এর সেটআপ এবং কনফিগারেশন পৃষ্ঠায়, 'Local fulfillment'- এ স্ক্রোল করুন এবং সেটিংটি অন করুন।
আপলোড জাভাস্ক্রিপ্ট বাটনগুলো ব্যবহার করে, আপনার পূর্বে তৈরি করা বান্ডেল ফাইলগুলো আপলোড করুন। চিত্র ৩: আপনার জাভাস্ক্রিপ্ট অ্যাপটি আপলোড করুন। বান্ডেল ফাইলগুলির (নোড, ওয়েব) উভয় সংস্করণ আপলোড করা নিশ্চিত করুন, যাতে আপনার অ্যাকশনটি লোকাল ফুলফিলমেন্ট দ্বারা সমর্থিত সমস্ত রানটাইম এনভায়রনমেন্টে সঠিকভাবে কাজ করার জন্য কনফিগার করা থাকে।
Node.js টার্গেট করে আপনার জাভাস্ক্রিপ্ট আপলোড করুন : dist/node ডিরেক্টরি থেকে bundle.js ফাইলটি আপলোড করুন।
ক্রোম (ব্রাউজার) এর জন্য আপনার জাভাস্ক্রিপ্ট আপলোড করুন : dist/web ডিরেক্টরি থেকে bundle.js ফাইলটি আপলোড করুন।
আপনার অ্যাকশনটি প্রোডাকশন এনভায়রনমেন্টে প্রত্যাশিতভাবে কাজ করছে কিনা, তা যাচাই করতে অ্যাসিস্ট্যান্ট-সক্ষম কোনো ডিভাইসে এটি পরীক্ষা করুন। আরও জানতে, ‘আপনার স্মার্ট হোম অ্যাকশন পরীক্ষা ও শেয়ার করুন’ দেখুন।
আপনার অ্যাকশনটি যেভাবে কাজ করছে তাতে আপনি সন্তুষ্ট হলে, ‘আপনার স্মার্ট হোম অ্যাকশন চালু করুন’ অংশে দেওয়া নির্দেশাবলী অনুসরণ করে প্রোডাকশন ডেপ্লয়মেন্টের জন্য এটি গুগলে জমা দিন। এর মধ্যে সেলফ-টেস্ট এবং সার্টিফিকেশন অনুরোধের ধাপগুলো সম্পন্ন করা অন্তর্ভুক্ত।