
Google Home Sample App for Matter از Google Home Mobile SDK برای ایجاد یک برنامه اندروید مشابه Google Home app (GHA) استفاده میکند. این برنامه نمونه ویژگیهای زیر را ارائه میدهد:
- دستگاههای فیزیکی و مجازی Matter را به ساختار محلی اندروید متصل کنید
- دستگاههای فیزیکی و مجازی را به یک ساختار توسعهای اختصاص دهید
- کنترل دستگاههای روی ساختار توسعه شما، برای مثال روشن کردن یک چراغ
- ویژگیهای چند ادمینی به شما این امکان را میدهد که دستگاههای موجود در محیط توسعه را با سایر برنامهها به اشتراک بگذارید و برعکس، میتوانید دستگاههای به اشتراک گذاشته شده از سایر برنامهها را در محیط توسعه بگنجانید.
- ابزارهای توسعهدهنده
این راهنما نحوه نصب Sample App for Matter APK و استفاده از آن برای راهاندازی، کنترل و اشتراکگذاری دستگاههای Matter را شرح میدهد.
برای دانلود کد منبع، یادگیری نحوه ادغام Mobile SDK و سفارشیسازی صفحات در اندروید استودیو، Sample App for Matter codelab را امتحان کنید.
پیشنیازها
- یک دستگاه اندروید O (8.1، سطح API 27) یا جدیدتر برای آزمایش موجود است. برای اطمینان از اینکه دستگاه شما از آخرین پشتیبانی Matter برخوردار است، راهنمای Verify Matter Modules & Services را بررسی کنید.
-  یک دستگاه Matter با قابلیت روشن/خاموش بسازید. این برنامه نمونه با یک دستگاه مجازی و یک ESP32 کار میکند.- دستگاه مجازی Matter (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 بروید. برای جدیدترین انتشار، در بخش داراییها، فایل APK با نام - GHSAFM- version -default-debug.apkرا پیدا کنید.- targetcommissionerرا انتخاب نکنید.
- نصب پل اشکالزدایی اندروید (adb): 
- دستگاه اندروید خود را با USB وصل کنید و انتقال فایل را فعال کنید، سپس APK را نصب کنید: - $ adb unroot && adb install GHSAFM-version-default-debug.apk
دستگاههای کمیسیون
وقتی برای اولین بار برنامه نمونه را اجرا میکنید، یک پنجره محاورهای با لینکی به Sample App for Matter codelab دریافت خواهید کرد. اگر گزینه «این پیام دیگر نمایش داده نشود» را انتخاب کنید، میتوانید هر زمان که خواستید با بهروزرسانی تنظیمات برگزیده خود در بخش مدیریت برنامه، این پنجره محاورهای را برگردانید.
در مراحل بعدی، یک دستگاه Matter را به همراه یک fabric توسعه که فقط برای برنامه نمونه محلی است، به Local Android fabric اضافه خواهید کرد.
پارچههای متر چیست؟

فابریک Matter یک دامنه مشترک از اعتماد بین دستگاههای یک شبکه خانگی است که آنها را قادر میسازد با یکدیگر ارتباط برقرار کنند.
دستگاهها ممکن است یک یا چند Fabric داشته باشند که مربوط به یک پلتفرم، برنامه یا گروهی از دستگاهها هستند که با هم در تعامل هستند. Fabricها یک شناسه منحصر به فرد دارند و دستگاهها مجموعه یکسانی از اعتبارنامهها و مرجع صدور گواهی ( CA ) را به اشتراک میگذارند. این اعتبارنامهها در طول راهاندازی Matter اختصاص داده میشوند.
برای راهاندازی دستگاه Matter ، مراحل زیر را انجام دهید:
- برای شروع فرآیند راهاندازی، روی دکمهی دستگاه» ضربه بزنید.  
- در مرحله بعد، کنترل به Google Play services منتقل میشود که از طریق فراخوانی Mobile SDK راهاندازی میشود. برای اثبات مالکیت، کد QR را اسکن کنید یا روی «استفاده از کد جفتسازی» ضربه بزنید.  
- پس از اتمام راهاندازی، نام دستگاه را وارد کنید، سپس روی «انجام شد» ضربه بزنید. 
اکنون دستگاه شما به هر دو سیستم عامل اندروید محلی و سیستم عامل توسعه متصل شده است.
تمام کارهای راهاندازی و صفحات مرتبط هنگام راهاندازی دستگاهها توسط Play services انجام میشود. این امر یک تجربه کاربری پایدار را فراهم میکند و نیاز به مدیریت مجوزهای حساس، مانند اعتبارنامههای Wi-Fi و Thread را از بین میبرد.
دستگاههای کنترل
این پلتفرم توسعه، اعتبارنامههایی را برای کنترل دستگاههای Matter مستقیماً از طریق برنامه نمونه ایجاد میکند.
از صفحه اصلی، میتوانید دستگاه خود را روشن یا خاموش کنید. برای دسترسی به جزئیات دستگاه، روی دستگاه ضربه بزنید.

دستگاهها را به اشتراک بگذارید
به اشتراکگذاری یک دستگاه در مشخصات Matter ، جریان چند-مدیره گفته میشود. پس از راهاندازی یک دستگاه در برنامه نمونه، میتوانید به راحتی آن را با سایر اکوسیستمها به اشتراک بگذارید.
برای اشتراکگذاری دستگاه Matter خود با سایر اکوسیستمها، باید پلتفرم دیگری را روی دستگاه اندروید خود نصب کنید. این پلتفرم خارجی به عنوان نماینده هدف عمل میکند. ما نمونه دیگری از برنامه نمونه را ایجاد کردهایم که میتوانید از آن به عنوان نماینده هدف استفاده کنید.
- به بخش «انتشارات» در مخزن گیتهاب Sample App for Matter بروید. برای جدیدترین نسخه، در بخش «داراییها»، فایل APK با نام - GHSAFM- version -targetcommissioner-debug.apkرا پیدا کنید.- defaultرا انتخاب نکنید.
- کمیسر هدف را نصب کنید. - $ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apk
- از صفحه اصلی، روی دستگاه ضربه بزنید تا اطلاعات دستگاه نمایش داده شود. روی اشتراکگذاری ضربه بزنید.  
برنامه نمونه، Mobile SDK Share API را فراخوانی میکند و بار دیگر، کنترل به Play services منتقل میشود.
یک صفحه اشتراکگذاری نمایش داده میشود که به شما امکان میدهد برنامه یا پلتفرمی را که میخواهید دستگاه را با آن جفت کنید، انتخاب کنید. این صفحه دو روش برای اشتراکگذاری دستگاه ارائه میدهد:
- به صورت دستی از طریق یک کد تنظیم که باید با برنامه کمیسر هدف به اشتراک گذاشته شود
- با یک برنامه اندروید محلی که به عنوان کمیسر Matter ثبت شده است
برنامهی کمیسر مورد نظر با عنوان GHSAFM-TC مشخص شده است. برای اشتراکگذاری دستگاه خود، روی این نمونه از برنامهی نمونه ضربه بزنید.
در مرحله بعد، برنامه خارجی (کمیسر هدف) راهاندازی دستگاه را در ساختار خود تکمیل میکند.
تنظیمات
از صفحه اصلی، روی نماد کلیک کنید. در اینجا گزینههایی برای بهروزرسانی تنظیمات کاربر، دریافت کمک و کسب اطلاعات بیشتر در مورد برنامه دارید.

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