আপনার অ্যাপ পরীক্ষা করুন এবং ডিবাগ করুন

আমরা সুপারিশ করছি যে আপনি আগে বর্ণিত ধাপগুলি ব্যবহার করে আপনার স্থানীয় পরিপূর্ণতা অ্যাপ তৈরি করুন, তারপর নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে আপনার নিজস্ব হোস্টিং পরিবেশে আপনার স্মার্ট হোম ইন্টিগ্রেশন পরীক্ষা করুন:

  1. আপনার নিজস্ব হোস্টিং পরিবেশে, এইচটিএমএল পৃষ্ঠা পরিবেশন করুন যা আপনার স্থানীয় পরিপূর্ণতা অ্যাপ চালায়। নিম্নলিখিত স্নিপেটটি একটি স্ট্যাটিক 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>
    
    
  2. ডিভাইস নিয়ন্ত্রণ পরীক্ষা করুন

  3. Chrome থেকে ডিবাগ করুন । আপনার ইন্টিগ্রেশনের সমস্যা সমাধানের জন্য ব্রেকপয়েন্ট এবং লগ ব্যবহার করুন।

  4. আপনার TypeScript কোড পরিবর্তন এবং কম্পাইল করুন, তারপর এই পদক্ষেপগুলি পুনরাবৃত্তি করুন।

এই বিল্ড-এন্ড-টেস্ট প্রক্রিয়াটি পুনরাবৃত্তি করে, আপনি দ্রুত এবং আরও সহজে আপনার কোডের সাথে সমস্যাগুলি ধরতে এবং ডিবাগ করতে আপনার পরিবর্তনগুলি দেখতে পারেন৷

ডিভাইস নিয়ন্ত্রণ পরীক্ষা করুন

অ্যাকশন কনসোলে, আপনাকে আপনার ওয়েব অ্যাপের ইউআরএল নির্দিষ্ট করতে হবে, যেটি এইচটিএমএল পরিবেশন করে যা স্থানীয় পূরণের সময় Google Home বা Google Nest ডিভাইসে লোড হয়।

স্থানীয় পূর্ণতা সহ ডিভাইস নিয়ন্ত্রণ পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

ক্রোম

  1. অ্যাকশন কনসোলে আপনার স্মার্ট হোম প্রজেক্ট খুলুন।
  2. বাম নেভিগেশনে, অ্যাকশনে ক্লিক করুন।
  3. স্থানীয় হোম SDK কনফিগার করুন (ঐচ্ছিক) > Chrome-এর জন্য আপনার পরীক্ষার URL লিখুন , আপনার স্থানীয় পরিপূর্ণতা অ্যাপটি চালায় এমন HTML পরিবেশন করে এমন ডেভেলপমেন্ট সার্ভার URL উল্লেখ করুন।
  4. Save এ ক্লিক করুন। আপনার কনসোল পরিবর্তনগুলি প্রচার করতে Google এর জন্য 30 মিনিট পর্যন্ত সময় লাগতে পারে৷
  5. আপনার টেস্ট Google Home বা Google Nest ডিভাইস রিবুট করুন।
  6. আপনার স্মার্ট ডিভাইসে একটি কমান্ড জারি করুন। উদাহরণস্বরূপ, যদি আপনার ডিভাইসটি অনঅফ বৈশিষ্ট্য প্রয়োগ করে, আপনি বলতে পারেন "হে গুগল, লাইট জ্বালিয়ে দাও।"

Node.js

  1. অ্যাকশন কনসোলে আপনার স্মার্ট হোম প্রজেক্ট খুলুন।
  2. বাম নেভিগেশনে, অ্যাকশনে ক্লিক করুন।
  3. স্থানীয় হোম SDK কনফিগার করুন (ঐচ্ছিক) > নোডের জন্য আপনার পরীক্ষার URL লিখুন , আপনার স্থানীয় পরিপূর্ণতা অ্যাপটি চালায় এমন JavaScript পরিবেশন করে এমন ডেভেলপমেন্ট সার্ভার URL উল্লেখ করুন।
  4. Save এ ক্লিক করুন। আপনার কনসোল পরিবর্তনগুলি প্রচার করতে Google এর জন্য 30 মিনিট পর্যন্ত সময় লাগতে পারে৷
  5. আপনার টেস্ট Google Home বা Google Nest ডিভাইস রিবুট করুন।
  6. আপনার স্মার্ট ডিভাইসে একটি কমান্ড জারি করুন। উদাহরণস্বরূপ, যদি আপনার ডিভাইসটি অনঅফ বৈশিষ্ট্য প্রয়োগ করে, আপনি বলতে পারেন "হে গুগল, লাইট জ্বালিয়ে দাও।"

আপনার ডিভাইসে কোন রানটাইম ব্যবহার করা হয় সে সম্পর্কে আরও বিশদ বিবরণের জন্য, সমর্থিত ডিভাইসগুলি দেখুন।

Chrome থেকে ডিবাগিং

আপনি Chrome DevTools ব্যবহার করে আপনার স্থানীয় পূর্ণতা অ্যাপ ডিবাগ করতে পারেন। আপনি ডিবাগ করার আগে, আপনার পরিবেশ সঠিকভাবে সেট আপ করা হয়েছে তা নিশ্চিত করুন:

  • আপনি কনসোলে আপনার ডেভেলপমেন্ট ইউআরএল সেট করেছেন এমন একটি ইউআরএলে যা Google Home বা Google Nest ডিভাইসের মাধ্যমে পৌঁছাতে পারে (হয় লোকাল এরিয়া নেটওয়ার্কে বা ইন্টারনেটের মাধ্যমে),
  • আপনি যে Google Home বা Google Nest ডিভাইসটি পরীক্ষা করছেন সেই একই লোকাল এরিয়া নেটওয়ার্কের সাথে আপনার মেশিন কানেক্ট করা আছে।
  • আপনার নেটওয়ার্ক ডিভাইসের মধ্যে প্যাকেট ব্লক করে না।
  • আপনি অ্যাকশন কনসোলে এবং Google Home বা Google Nest ডিভাইসে একই Google অ্যাকাউন্ট দিয়ে লগ ইন করেছেন।
  • আপনি আপনার ক্লাউড পরিপূর্ণতায় SYNC প্রতিক্রিয়া আপডেট করেছেন । এটি otherDeviceIds ক্ষেত্রে অন্তত একটি বৈধ মান ফেরত দেবে।
  • আপনি অ্যাকশন কনসোলে সঠিক স্ক্যান কনফিগার তথ্য প্রবেশ করেছেন।

আপনার স্থানীয় পূর্ণতা অ্যাপটিকে Chrome DevTools ডিবাগারের সাথে সংযুক্ত করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

ক্রোম

  1. আপনার স্থানীয় ডেভেলপমেন্ট মেশিনে, Google Chrome ব্রাউজারটি ইনস্টল এবং চালু করুন।
  2. আপনার ক্রোম ব্রাউজারের ঠিকানা ক্ষেত্রে, প্রবেশ করে Chrome পরিদর্শক চালু করুন: chrome://inspect#devices । আপনি পৃষ্ঠায় ডিভাইসগুলির একটি তালিকা দেখতে পাবেন এবং আপনার HTML ফাইলটি আপনার পরীক্ষার Google Home বা Google Nest ডিভাইসের নামে তালিকাভুক্ত করা উচিত।
  3. Chrome DevTools চালু করতে আপনার HTML-এর নীচে নীল পরিদর্শন লিঙ্কে ক্লিক করুন৷ কনসোল ট্যাবে স্যুইচ করুন। স্থানীয় হোম প্ল্যাটফর্ম কনসোল লগে আপনার অ্যাপ সংস্করণ এবং স্থানীয় হোম SDK সংস্করণ আউটপুট করে। আপনি যদি লগটি দেখতে পান, তাহলে এর মানে হল যে Google আপনার অ্যাপটি সফলভাবে লোড করেছে এবং এটির সাথে সংযোগ করতে সক্ষম। যদি না হয়, আপনার Google Home বা Google Nest ডিভাইস রিবুট করুন।
  4. চিত্র 1: chrome://inspect-এ স্থানীয় পরিপূর্ণতা অ্যাপ।

Node.js

  1. আপনার স্থানীয় ডেভেলপমেন্ট মেশিনে, Google Chrome ব্রাউজারটি ইনস্টল এবং চালু করুন।
  2. আপনার পরীক্ষা ডিভাইসের স্থানীয় IP ঠিকানা নির্ধারণ করুন.
  3. আপনার ক্রোম ব্রাউজারের ঠিকানা ক্ষেত্রে, প্রবেশ করে Chrome পরিদর্শক চালু করুন: chrome://inspect#devices
  4. লক্ষ্য আবিষ্কার সেটিংস খুলতে কনফিগার... নির্বাচন করুন।
  5. চিত্র 2: chrome://inspect-এ লক্ষ্য আবিষ্কার সেটিংস।
  6. তালিকায় DEVICE_IP_ADDRESS :9222 লিখুন এবং সম্পন্ন ক্লিক করুন।
  7. 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: Cannot read property 'open' of null.
  • IDENTIFY প্রতিক্রিয়া থেকে verificationId অবশ্যই SYNC প্রতিক্রিয়া থেকে otherDeviceIds একটির সাথে মিলবে৷
  • EXECUTE হ্যান্ডলারের জন্য, নিশ্চিত করুন যে আপনার HTTP, TCP, বা UDP কমান্ডগুলি আপনার ডিভাইসে প্রাপ্ত হতে পারে এবং প্রত্যাশিতভাবে কাজ করে।
  • হ্যান্ডলারদের কাছ থেকে একটি Promise ফেরত নিশ্চিত করুন.
  • মেমরিতে বিশ্বব্যাপী রাষ্ট্র বজায় রাখা এড়িয়ে চলুন। অ্যাপ্লিকেশন জীবনচক্র দেখুন।
  • আপনার স্থানীয় পূর্ণতা অ্যাপ দ্বারা নিক্ষিপ্ত ত্রুটিগুলি আপনার প্রকল্পের ত্রুটি লগগুলিতে প্রদর্শিত হবে৷

প্রস্তুত করুন এবং উত্পাদন শুরু করুন

আপনি যখন আপনার স্মার্ট হোম অ্যাকশন চালু করতে প্রস্তুত হন, তখন এই পদক্ষেপগুলি অনুসরণ করুন:

  1. একটি টার্মিনাল খুলুন। আপনার প্রকল্প ডিরেক্টরিতে, npm run build কমান্ডটি চালান। এই কমান্ডটি dist ডিরেক্টরির অধীনে আপনার অ্যাপের জন্য নিম্নলিখিত জাভাস্ক্রিপ্ট বান্ডেলগুলি তৈরি করে:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. কনসোলে, ডেভেলপ > অ্যাকশন- এ ক্লিক করে আপনার জাভাস্ক্রিপ্ট অ্যাপ আপলোড করুন। স্থানীয় হোম SDK কনফিগার করুন বিভাগে, JavaScript ফাইল আপলোড করুন ক্লিক করুন।
    চিত্র 3: আপনার জাভাস্ক্রিপ্ট অ্যাপ আপলোড করুন।
  3. আপলোড ফাইল ডায়ালগে, আপনি পূর্বে তৈরি করা বান্ডিল ফাইলগুলি আপলোড করুন৷ বান্ডেল ফাইলের উভয় সংস্করণ (নোড, ওয়েব) আপলোড করা নিশ্চিত করুন যাতে স্থানীয় পরিপূর্ণতা সমর্থন করে এমন সমস্ত রানটাইম পরিবেশে আপনার অ্যাকশন সঠিকভাবে কাজ করার জন্য কনফিগার করা হয়।
    1. আপনার জাভাস্ক্রিপ্ট টার্গেটিং Node.js আপলোড করুন : dist/node ডিরেক্টরি থেকে bundle.js ফাইল আপলোড করুন।
    2. আপনার জাভাস্ক্রিপ্ট টার্গেটিং Chrome (ব্রাউজার) আপলোড করুন : dist/web ডিরেক্টরি থেকে bundle.js ফাইল আপলোড করুন।
  4. একটি সহকারী-সক্ষম ডিভাইসে আপনার অ্যাকশন পরীক্ষা করুন, এটি একটি উত্পাদন পরিবেশে প্রত্যাশা অনুযায়ী আচরণ করে কিনা তা যাচাই করতে। আরও জানতে, পরীক্ষা দেখুন এবং আপনার স্মার্ট হোম অ্যাকশন শেয়ার করুন
  5. আপনার অ্যাকশন কীভাবে কাজ করে তা নিয়ে আপনি সন্তুষ্ট হলে, আপনার স্মার্ট হোম অ্যাকশন চালু করুন- এ দেওয়া নির্দেশাবলী অনুসরণ করে প্রোডাকশন ডিপ্লয়মেন্টের জন্য Google-এ জমা দিন। এর মধ্যে রয়েছে স্ব-পরীক্ষা এবং সার্টিফিকেশন অনুরোধের ধাপগুলি সম্পূর্ণ করা।