
Google Home Sample App for Matter از Google Home Mobile SDK برای ایجاد برنامه Android مشابه Google Home app (GHA) استفاده میکند. این برنامه نمونه ویژگیهای زیر را ارائه میدهد:
- راهاندازی دستگاههای فیزیکی و مجازی Matter در ساختار Android محلی
- راهاندازی دستگاههای فیزیکی و مجازی در ساختار توسعه
- دستگاهها را در ساختار توسعهتان کنترل کنید، برای مثال روشن کردن چراغ
- ویژگیهای چندسرپرستی به شما امکان میدهد دستگاههای موجود در ساختار توسعه را با برنامههای دیگر همرسانی کنید و برعکس، بتوانید دستگاههای همرسانیشده از برنامههای دیگر را در ساختار توسعه بگنجانید
- برنامههای کمکی توسعهدهنده
این راهنما نحوه نصب APK Sample App for Matter و استفاده از آن برای راهاندازی، کنترل، و همرسانی دستگاههای Matter را شرح میدهد.
برای بارگیری کد منبع، آشنایی با نحوه ادغام کردن Mobile SDK، و سفارشیسازی صفحهها در Android Studio، codelab ما را امتحان کنید.Sample App for Matter
به codelab Sample App for Matter بروید
پیشنیازها
- دستگاه Android O (نسخه ۸.۱، سطح API ۲۷) یا جدیدتر برای آزمایش دردسترس باشد. برای اطمینان از اینکه دستگاهتان از جدیدترین پشتیبانی Matter برخوردار است، راهنمای تأیید کردن Matter ماژولها و سرویسها را مرور کنید.
- دستگاه Matter با قابلیتهای «روشن/خاموش» بسازید. این
برنامه نمونه با دستگاه مجازی و ESP32 کار میکند.
- Matter Virtual Device (MVD). برای بهحداقل رساندن مشکلات محیطی، اکیداً توصیه میکنیم که برای شروع از MVD استفاده کنید. اگر با مشکلی مواجه شدید، بررسی آن بااستفاده از برنامه نمونه دربرابر MVD بسیار آسانتر خواهد بود.
-
با برنامه
rootnode_dimmablelight_bCwGYSDpoe، یک دستگاه مجازی Matter بسازید. وقتی یکپارچهسازی Matter ایجاد میکنید در Google Home Developer Console، از0xFFF1بهعنوان شناسه فروشنده و از0x8000بهعنوان شناسه محصول استفاده کنید. - ساختن دستگاه Espressif
با
all-clusters-app. وقتی ادغام Matter را در Developer Console ایجاد میکنید، از0xFFF1بهعنوان شناسه فروشنده و از0x8001بهعنوان شناسه محصول استفاده کنید.
برای راهاندازی و کنترل دستگاهها با Sample App for Matter به هاب (مثلاً Google Nest Hub (2nd gen)) نیاز ندارید.
نصب
به بخش «نسخههای پخش» در مخزن Sample App for Matter GitHub بروید. برای جدیدترین نسخه، در بخش «داراییها» APK با نام
GHSAFM-version-default-debug.apkرا پیدا کنید.targetcommissionerرا انتخاب نکنید.«پل اشکالزدایی Android» (adb) را نصب کنید:
دستگاه Android خود را با USB متصل کنید و انتقال فایل را فعال کنید، سپس APK را نصب کنید:
$ adb unroot && adb install GHSAFM-version-default-debug.apk
راهاندازی دستگاهها
وقتی برنامه نمونه را برای اولینبار راهاندازی میکنید، کادر گفتگویی با پیوند به Sample App for Matter codelab دریافت خواهید کرد. اگر این پیام دیگر نشان داده نشود را انتخاب کنید، میتوانید با بهروزرسانی اولویتهایتان در بخش «سرپرست» برنامه، هرزمان خواستید کادر گفتگو را برگردانید.
در مراحل بعدی، دستگاه Matter را به ساختار محلی Android، بههمراه ساختار توسعهای که فقط برای برنامه نمونه محلی است، اضافه خواهید کرد.
زیرساختهای Matter چیست؟

یک ساختار Matter دامنه مشترک اعتماد بین دستگاهها در شبکه خانه است که به آنها امکان میدهد با یکدیگر ارتباط برقرار کنند.
دستگاهها ممکن است یک یا چند ساختار داشته باشند که با پلاتفرم، برنامه، یا گروهی از دستگاهها که با یکدیگر تعامل دارند مطابقت داشته باشد. ساختارها شناسه یکتایی دارند و دستگاهها مجموعه یکسانی از اعتبارنامهها و مرجع صدور گواهی (CA) را همرسانی میکنند. این اطلاعات کاربری درطول راهاندازی Matter اختصاص داده میشود.
برای راهاندازی دستگاه Matter، مراحل زیر را تکمیل کنید:
روی دکمه «افزودن دستگاه» تکضرب بزنید تا فرایند راهاندازی شروع شود.

سپس، کنترل به Google Play services منتقل میشود که ازطریق تماس با Mobile SDK راهاندازی میشود. برای اثبات مالکیت، رمزینه پاسخسریع را اسکن کنید یا روی استفاده از کد جفتسازی تکضرب بزنید.

وقتی راهاندازی تکمیل شد، نام دستگاه را وارد کنید، سپس روی تمام تکضرب بزنید.
اکنون دستگاهتان هم به ساختار Android محلی و هم به ساختار توسعه متصل است.
هنگام راهاندازی دستگاهها، همه کارهای راهاندازی و صفحههای مرتبط توسط Play services انجام میشود. این کار تجربه کاربری یکپارچهای ارائه میدهد و نیاز به مدیریت اجازههای حساس، برای مثال، اطلاعات اعتباری Wi-Fi و Thread را برطرف میکند.
کنترل کردن دستگاهها
ساختار توسعه اطلاعات اعتباری را برای کنترل دستگاههای Matter مستقیماً از برنامه نمونه ایجاد میکند.
از «صفحه اصلی»، میتوانید دستگاهتان را روشن یا خاموش کنید. برای دسترسی به جزئیات دستگاه، روی دستگاه تکضرب بزنید.

همرسانی دستگاهها
همرسانی دستگاه در مشخصات Matter بهعنوان جریان چندسرپرستی نامیده میشود. وقتی دستگاهی به برنامه نمونه واگذار شد، میتوانید بهراحتی آن را با بومسازگانهای دیگر همرسانی کنید.
برای همرسانی دستگاه Matter با بومسازگانهای دیگر، باید پلاتفرم دیگری در دستگاه Android شما نصب شده باشد. این پلاتفرم خارجی به کمیسیونر هدف تبدیل میشود. نمونه دیگری از برنامه نمونه ایجاد کردهایم که میتوانید از آن بهعنوان راهانداز هدف استفاده کنید.
به بخش «نسخههای پخش» در مخزن Sample App for Matter GitHub بروید. برای جدیدترین نسخه، در بخش «داراییها» APK با نام
GHSAFM-version-targetcommissioner-debug.apkرا پیدا کنید.defaultرا انتخاب نکنید.راهانداز هدف را نصب کنید.
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apkاز «صفحه اصلی»، روی دستگاه تکضرب بزنید تا اطلاعات دستگاه نمایش داده شود. روی همرسانی تکضرب بزنید.

برنامه نمونه Mobile SDK Share API را فراخوانی میکند و دوباره، کنترل به Play services منتقل میشود.
برگه همرسانی نمایش داده میشود و به شما امکان میدهد برنامه یا پلاتفرمی را که میخواهید دستگاه را با آن جفت کنید انتخاب کنید. این صفحه دو روش برای همرسانی دستگاه ارائه میدهد:
- بهصورت دستی ازطریق کد راهاندازی که باید با برنامه راهانداز هدف همرسانی شود
- با برنامه Android محلی که بهعنوان Matter راهانداز ثبت شده است
برنامه راهانداز هدف با برچسب GHSAFM-TC مشخص شده است. روی این نمونه از برنامه نمونه تکضرب بزنید تا دستگاهتان را همرسانی کنید.
سپس، برنامه خارجی (راهانداز هدف) راهاندازی دستگاه را در ساختار خودش تکمیل میکند.
تنظیمات
در صفحه اصلی، روی نماد تنظیمات کلیک کنید. در اینجا گزینههایی برای بهروزرسانی اولویتهای کاربر، دریافت راهنمایی، و کسب اطلاعات بیشتر درباره برنامه دارید.

اعلان نیمبرگ
از صفحه «تنظیمات»، میتوانید انتخاب کنید که اعلانهای فعالسازی دستگاههای Matter غیرفعال شود.
اگر برنامهتان جریان راهاندازی یا کاوش Matter خودش را ارائه میدهد، شاید بخواهید این اعلانها را سرکوب کنید تا از وقفهها جلوگیری شود. برای اطلاعات بیشتر، به موقوف کردن اعلانهای اکتشافی قابلپرداخت کمیسیون مراجعه کنید.
برنامههای کمکی توسعهدهنده
از صفحه «تنظیمات»، میتوانید به برنامههای کمکی توسعهدهنده نیز دسترسی پیدا کنید.
برای بررسی محتوای مخازن Device و User Preferences DataStore در Logcat، مراحل زیر را تکمیل کنید:
روی محتوای مخازن گزارش کلیک کنید.
در کادر گفتگو روی تأیید کلیک کنید، سپس Logcat را بررسی کنید.
بازخورد و راهنمایی
برای ارسال نظرات یا بازخوردتان درباره اینکه چگونه میتوانیم تجربه توسعه با Sample App for Matter را بهبود ببخشیم، «فرم بازخورد» ما را تکمیل کنید.
بازخوردتان را برای ما ارسال کنید
اگر با Sample App for Matter مشکل دارید، مراحل بهتأیید رساندن محیط را تکمیل کنید:
اگر درباره استفاده از برنامه نمونه سؤالی دارید یا اشکالی در کد پیدا کردید، میتوانید مشکلات را به Issue Tracker در مخزن GitHub ارسال کنید:
برای دریافت راهنمایی رسمی از Google درباره سؤالات فنی، از «تالار گفتمان توسعهدهندگان خانه هوشمند» استفاده کنید:
برای دریافت پشتیبانی فنی از انجمن، از برچسب google-smart-home در
Stack Overflow استفاده کنید: