Google Home Plugin for Android Studio برای توسعهدهندگان پلتفرم Google Home طراحی و ساخته شده است. این افزونه به شما امکان دسترسی به Google Assistant Simulator ، Cloud Logging و سایر ابزارها را میدهد تا فرآیند توسعه خانه هوشمند خود را ساده کنید.

اطلاعیه امنیتی
برای جلوگیری از ذخیره اطلاعات محرمانه و رمزهای عبور Android Studio ، مراحل زیر را انجام دهید:
- روی فایل و سپس تنظیمات... کلیک کنید.
- در بخش Appearance & Behavior ، گزینه System Settings را باز کنید، سپس روی Passwords کلیک کنید.
- گزینه «ذخیره نشود، رمزهای عبور پس از راهاندازی مجدد فراموش شوند» را انتخاب کنید.

ویژگیها
شبیهساز کمکی
برای آزمایش اینکه آیا دستگاههای خانه هوشمند شما به درستی با اکوسیستم Google Home کار میکنند، میتوانید در هر زمان و بدون ترک Android Studio با Assistant Simulator تعامل داشته باشید.
Assistant Simulator شما را قادر میسازد تا با تایپ کردن درخواستهای خود، به عنوان مثال "چراغ را روشن کن" به راحتی دستگاههای خود را کنترل کنید. در داخل Android Studio ، Assistant Simulator بر اساس دستورات شما، به عنوان مثال "بسیار خب، چراغ را روشن میکنم" با پیامهای متنی پاسخ میدهد.

مشاهده ثبت وقایع ابری
Google Cloud Logging اطلاعات اشکالزدایی و معیارهای کلیدی را ارائه میدهد تا بینشی در مورد میزان استفاده از اکشن خود به شما ارائه دهد. برای سادهسازی توسعه، Google Home Plugin پیامهای Cloud Logging را در زمان عیبیابی، درست در کنار کد شما نشان میدهد.
میتوانید گزارشهای بلادرنگ را نمایش دهید یا یک محدوده تاریخ انتخاب کنید.

دستهای از گفتهها
پاسخهای Assistant Simulator به یک جمله قطعی نیستند. برای مثال، یک پاسخ میتواند هر یک از عبارات زیر باشد:
- فهمیدم، دو تا چراغ رو روشن کردم.
- مطمئناً، روشن کردن ۲ چراغ.
- فهمیدم، دو تا چراغ رو روشن کردم.
- خیلی خب، دو تا چراغ رو روشن میکنم.
برای اجرای تستهای خودکار و تأیید نحوه عملکرد یکپارچهسازیهای گوگل با این پاسخهای مختلف، میتوانید با اجرای اسکریپتهای utterance، utteranceهای دستهای را به Assistant Simulator ارسال کنید. پس از ذخیره یک اسکریپت، میتوانید پاسخها را جمعآوری کرده و چندین تست را علیه کوئریهای خود اجرا کنید.
نمایشگر نمودار خانگی
نمایشگر نمودار خانگی به شما امکان میدهد وضعیت دستگاههای خود را نمایش داده و مجموعه تست گوگل هوم را در مرورگر خود اجرا کنید.
نمایشگر گزارشهای پل اشکالزدایی اندروید (adb)
Adb Log Viewer ابزاری برای مشاهده و تجزیه و تحلیل فایلهای لاگ، به عنوان مثال فایلهای لاگ دستگاه Matter ، لاگهای Google Home و لاگهای اندروید است.
نصب
برای نصب Google Home Plugin در Android Studio ، مراحل زیر را دنبال کنید:
- Android Studio دانلود یا بهروزرسانی کنید. دانلود اندروید استودیو
- به مسیر File > Settings (در MacOS Android Studio > Preferences ) بروید.
- در بخش افزونهها ، به بازار بروید و عبارت
google homeرا جستجو کنید. - ابزار را نصب کنید و Android Studio مجدداً راهاندازی کنید.
همچنین میتوانید افزونه را مستقیماً از JetBrains Marketplace دانلود کنید.
راهاندازی
پس از نصب افزونه، قبل از اینکه بتوانید Assistant Simulator استفاده کنید و Cloud Logging را مشاهده کنید، باید مراحل زیر را انجام دهید:
با گوگل وارد شوید
شما میتوانید از طریق پنل Google Home وارد حساب توسعهدهنده خود شوید و به Android Studio اجازه دهید از طرف شما با سرویسهای گوگل ارتباط برقرار کند.
روی تب Google Home در ستون تبهای عمودی در سمت چپ پنجره Android Studio کلیک کنید.
برای ورود به سیستم با ، روی Google کلیک کنید تا مرورگر شما اجرا شود.

حسابی را انتخاب کنید که به دستگاههای خانه هوشمند شما متصل است.
در صفحه مجوز ورود با گوگل ، روی «اجازه دادن» کلیک کنید.
پنجره مرورگر را ببندید و به Android Studio برگردید.
اکنون باید وارد سیستم شده باشید و گزینه خروج (Sign Out) را نیز داشته باشید.
یک پروژه ابری انتخاب کنید
پس از ورود به سیستم، یک پروژه را از منوی کشویی انتخاب کنید. برای فیلتر کردن لیست پروژهها، یک عبارت فیلتر ، مثلاً matter ، تایپ کنید، سپس Enter فشار دهید.
منوی کشویی Project ، ۱۰۰ پروژه اول را بر اساس فیلتر شما بارگذاری میکند. انتخابهای شما هنگام خروج از Android Studio حفظ میشوند.

برای کمک در مورد فیلترهای پروژه، به پارامترهای پرس و جو در مرجع ابر گوگل مراجعه کنید.
استفاده از شبیهساز کمکی
برای باز کردن Assistant Simulator در Android Studio ، از پنل Google Home Plugin روی پنل گفتارها (Utterances Panel) کلیک کنید.

روشهای مختلفی برای ارسال کوئریها به Assistant Simulator وجود دارد. در ادامه، هر گزینه را بررسی خواهیم کرد.
پرسوجوها را تایپ کنید و پاسخها را جمعآوری کنید
برای تعامل با Assistant Simulator ، عبارت مورد نظر خود را تایپ کرده و Enter را فشار دهید.
شما میتوانید با کلیک روی آیکون ارسال مجدد در انتهای درخواست خود، آن را دوباره ارسال کنید.
پس از ارسال یک یا چند پرسوجو، روی گزینهی «بازپخش » کلیک کنید تا پرسوجوهایتان را دوباره اجرا کنید و پاسخهایتان را بررسی کنید. پنل «گفتارها» (Utterances) پرسوجوها و پاسخهای شما را در یک حافظهی پنهان ذخیرهشده، پیگیری میکند. «بازپخش» فقط پاسخهای جدید را به این حافظهی پنهان داخلی اضافه میکند و هر بار که روی دکمه کلیک میکنید، پرسوجوهای شما را تکرار نمیکند.

برای ذخیره پرسوجوها و پاسخهایی که در پنل گفتارها وارد کردهاید، روی کلیک کنید. تعاملات شما به فرمت زیر به JSON تبدیل میشوند:
-
ask: سوال شما. -
answers: مجموعهای از پاسخهای ممکن Assistant Simulator .
شما میتوانید این فایل JSON را در Android Studio ویرایش کنید.
{
"collected": false,
"lines": [
{
"ask": "turn lights on",
"answers": [
"OK, turning 2 lights on.",
"Sure, turning on 2 lights."
]
}
]
}
جمعآوری پاسخهای دستهای
از پنل Google Home Plugin ، روی فایل گفتارها (Utterances File) کلیک کنید تا فایلهای JSON ذخیره شده خود را در یک برگه جدید باز کنید. برای انتخاب مسیر (Select Path) ، میتوانید یک فایل یا یک پوشه را انتخاب کنید. اگر یک پوشه را انتخاب کنید، Collect and Test روی تمام فایلهای .json گفتارها در آن پوشه کار خواهد کرد.
شما میتوانید چندین تب را برای یک فایل یا فایلهای مختلف باز کنید، برای مثال lights ، lights(1) و plug .
نوار وضعیت نتیجه آخرین آزمایش شما (در صورت وجود)، یک نقطه زرد یا سبز برای نشان دادن جمعآوری فایل و مسیر فایل .json را نمایش میدهد. پس از کلیک روی Collect ، Assistant Simulator کوئریهای شما را اجرا میکند. هنگامی که پاسخ جدیدی جمعآوری شود، به شما اطلاع داده میشود و نوار وضعیت در حین پردازش کوئریهای شما، یک شمارنده نمایش میدهد.

وقتی جمعآوری کامل شد، نوار وضعیت با یک تیک سبز در مقابل مسیر .json شما بهروزرسانی میشود و فایلهای utterance شما با پاسخهای احتمالی پر میشوند.

{
"collected": true,
"lines": [
{
"ask": "turn lights on",
"answers": [
"OK, turning 2 lights on.",
"Sure, turning on 2 lights.",
"Sure, turning 2 lights on.",
"Got it, turning 2 lights on.",
"Alright, turning on 2 lights.",
"OK, turning on 2 lights.",
"Got it, turning on 2 lights.",
"Alright, turning 2 lights on."
]
}
]
}
اگر جمعآوری را زودتر متوقف کنید ، مسیر .json شما به عنوان جمعآوریشده علامتگذاری نخواهد شد.
آزمون دستهای از عبارات
پس از جمعآوری پاسخهای خود، روی Test کلیک کنید تا درخواستهای خود را دوباره پخش کنید و پاسخها و گزارشهای خود را بررسی کنید. هنگام آزمایش عبارات دستهای، Assistant Simulator انتظار پاسخهایی را دارد که در فایل JSON شما ذخیره شدهاند. اگر آزمایش شما پاسخی را برگرداند که جمعآوری نشده است، اعلانی مشابه پاسخ زیر دریافت خواهید کرد:
Expected one of: "Got it, turning on 2 lights."

این سناریو نشان دهنده یک تست ناموفق است. در غیر این صورت، Assistant Simulator هر یک از پرس و جوهای شما را اجرا کرده و پاسخی را برمیگرداند. در صورت موفقیت آمیز بودن تست، یک در نوار وضعیت نمایش داده میشود.

مشاهده ثبت وقایع ابری
برای باز کردن یک برگه پروژه در پنجره ابزار Cloud Logs، از پنل Google Home Plugin روی Cloud Logs کلیک کنید. میتوانید برای هر یک از پروژههای خود برگههای Cloud Log جداگانهای باز کنید.

عبارات جستجو
برای پروژه انتخابی خود، میتوانید با استفاده از فیلد Query ، لاگها را نیز فیلتر کنید. به عنوان مثال، برای فیلتر کردن لاگها برای کلمه کلیدی light :

برای استفاده از زبان پرسوجوی ثبت وقایع، گزینه «استفاده از QL» را انتخاب کنید.

در اینجا چند نمونه از کوئریهای QL برای کمک به شروع کار شما آورده شده است:
severity = (DEBUG OR INFO OR NOTICE OR WARNING OR ERROR OR CRITICAL OR ALERT OR EMERGENCY) AND resource.type="assistant_action_project" AND timestamp > "2022-04-07T00:40:18Z"
jsonPayload.executionLog.executionResults.actionResults.action.trait = "TRAIT_ON_OFF"
jsonPayload.executionLog.executionResults.actionResults.action.actionType = "ONOFF_ON"
پرس و جوهای تاریخ و زمان
جستجوی گزارشها بر اساس تاریخ نیز اختیاری است و با کلیک روی «بعد» و «قبل» میتوان آن را فعال کرد. میتوانید قالب تاریخ و زمان خود را در فیلد متنی ارائه شده تایپ کنید، برای مثال 5/11/22, 12:37 PM ، یا میتوانید از انتخابگرهای تاریخ برای انتخاب تاریخ خود استفاده کنید، سپس زمان را در فیلد متنی وارد کنید.
- برای انتخاب تاریخ بعد از
5/1/22، گزینهی «بعد از» را انتخاب کنید و روی آیکون تاریخ کلیک کنید. - برای انتخاب تاریخ قبل از
5/1/22، گزینهی «قبل از» را انتخاب کنید و روی آیکون تاریخ کلیک کنید. - برای انتخاب تاریخ بین
5/1/22و6/30/22، گزینههای قبل و بعد را انتخاب کنید و تاریخهای خود را از آیکون تاریخ انتخاب کنید.
برای دریافت گزارشهای زنده پروژه، گزینه «زمان واقعی» (Real time) را انتخاب کنید. برای پایان دادن به یک فید در زمان واقعی، روی «توقف» (Stop) کلیک کنید.
سطح شدت
همچنین میتوانید از منوی کشویی، حداقل شدت را انتخاب کنید.
نتایج پرس و جو
برای ارسال پارامترهای پرس و جو، روی Fetch کلیک کنید.
پس از بارگذاری گزارشها، روی هر رکورد کلیک کنید تا کل محتوای JSON نمایش داده شود. برای نمایش کل پیام، دوباره روی کلیک کنید.
به صورت اختیاری، میتوانید یک کلمه کلیدی را در کادر فیلتر تایپ کنید تا نتایج گزارش خود را محدودتر کنید. برای حذف فیلتر و بازگشت به نتایج اولیه واکشی، روی x کلیک کنید.

مشاهده صفحه اصلی نمودار و اجرای تستها
برای فهرست کردن دستگاههایتان، از پنل Google Home Plugin ، گزینه هوم گراف (Home Graph) را انتخاب کنید.
برای نمایش نام دستگاه ، شناسه دستگاه و نوع دستگاه برای دستگاههای مرتبط با پروژه انتخاب شده، روی Refresh کلیک کنید. میتوانید چندین پنل Google Home Graph را برای پروژههای جداگانه باز داشته باشید.
پس از بارگذاری دستگاههایتان، روی هر رکورد کلیک کنید تا کل محتوای JSON نمایش داده شود.

همچنین میتوانید از Expand و Collapse برای نمایش و مخفی کردن فایلهای JSON مربوط به دستگاههای خود استفاده کنید.

برای اجرای Test Suite برای یک دستگاه خاص، روی Test کلیک کنید. با این کار Test Suite در مرورگر شما اجرا میشود و دستگاه شما انتخاب شده و آماده آزمایش است. روی Start کلیک کنید و منتظر نتایج آزمایش باشید.

میتوانید جزئیات آزمون را بررسی کنید و پس از اتمام آزمونها، گزارشها را مشاهده کنید.

نمایشگر گزارشهای پل اشکالزدایی اندروید (adb)
برای باز کردن یک تب پروژه در پنجره ابزار Adb Log، روی دستور Adb Log در نوار ابزار افزونه Google Home (در سمت چپ) کلیک کنید. میتوانید برای هر یک از فایلهای لاگ خود، تبهای Adb Log جداگانهای باز کنید. برای حذف یک تب، روی نماد کلیک کنید.
از فیلد «انتخاب» برای انتخاب یک جزء خاص ثبت وقایع جهت مشاهده و از منوی کشویی «شدت» برای نمایش فقط ورودیهایی با شدت گزارش منطبق استفاده کنید.
برای لاگ adb انتخابی خود، میتوانید ورودیهای لاگ را با استفاده از فیلد Filter با اصلاحکنندههای اختیاری حساس به حروف بزرگ یا کوچک یا Regex فیلتر کنید.
علاوه بر این، میتوانید:
- با استفاده از فیلد Find و دستورات Find Next (آیکون ) و Find Previous (آیکون ) ورودیهای خاص را پیدا کنید.
- از اصلاحکنندههای اختیاری حساس به حروف بزرگ و کوچک یا Regex استفاده کنید.
- پرش به خط برای پرش به یک خط مشخص شده (بر اساس شماره) در گزارش.
برای مشاهده خطوط گزارش با شمارههای اضافه شده، گزینه Numbered را انتخاب کنید. برای مشاهده ورودیهای خام گزارش، گزینه Raw را انتخاب کنید.

منابع و بازخورد
برای مشاهده فهرستی از ابزارها و منابع توسعهدهندگان، روی «منابع» کلیک کنید.
برای ارسال نظرات یا بازخورد خود در مورد چگونگی بهبود تجربه توسعه با Google Home Plugin ، روی بازخورد کلیک کنید.
