
Google Home Sample App for Matter ใช้ Google Home Mobile SDK เพื่อสร้างแอป Android ที่คล้ายกับ Google Home app (GHA) แอปตัวอย่างนี้มีฟีเจอร์ต่อไปนี้
- มอบสิทธิ์อุปกรณ์ Matter จริงและเสมือนจริง Matter ให้กับ Local Android Fabric
- มอบสิทธิ์อุปกรณ์จริงและเสมือนจริงให้กับ Fabric สำหรับการพัฒนา
- ควบคุมอุปกรณ์ใน Fabric สำหรับการพัฒนา เช่น การเปิดไฟ
- ฟีเจอร์ผู้ดูแลระบบหลายคนช่วยให้คุณแชร์อุปกรณ์ใน Fabric สำหรับการพัฒนากับแอปอื่นๆ ได้ และในทางกลับกันก็สามารถรวมอุปกรณ์ที่แชร์จากแอปอื่นๆ ไว้ใน Fabric สำหรับการพัฒนาได้
- เครื่องมือสำหรับนักพัฒนาแอป
คู่มือนี้จะอธิบายวิธีติดตั้ง APK ของ Sample App for Matter และใช้ เพื่อมอบสิทธิ์ ควบคุม และแชร์อุปกรณ์ Matter
หากต้องการดาวน์โหลดซอร์สโค้ด เรียนรู้วิธีผสานรวม Mobile SDK และปรับแต่งหน้าจอใน Android Studio ให้ลองใช้ Sample App for Matter codelab ของเรา
ไปที่ Sample App for Matter codelab
ข้อกำหนดเบื้องต้น
- อุปกรณ์ Android O (8.1, ระดับ API 27) ขึ้นไปที่พร้อมสำหรับการทดสอบ โปรดตรวจสอบคู่มือ ยืนยันMatterโมดูลและบริการ เพื่อให้แน่ใจว่าอุปกรณ์ของคุณรองรับMatter เวอร์ชันล่าสุด
- สร้างอุปกรณ์ Matter ที่มีความสามารถในการเปิด/ปิด แอปตัวอย่างนี้ใช้งานได้กับอุปกรณ์เสมือนจริงและ ESP32
- อุปกรณ์เสมือนจริง Matter (MVD) เราขอแนะนำอย่างยิ่งให้คุณใช้ MVD เพื่อเริ่มต้นใช้งานเพื่อลดปัญหาด้านสภาพแวดล้อม หากพบปัญหา การตรวจสอบจะง่ายขึ้นมากหากใช้แอปตัวอย่างกับ MVD
- สร้างMatterอุปกรณ์เสมือนจริง
ด้วยแอป
rootnode_dimmablelight_bCwGYSDpoeเมื่อ สร้างMatterการผสานรวม ในGoogle Home Developer Console ให้ใช้0xFFF1เป็นรหัสผู้ให้บริการและ0x8000เป็นรหัสผลิตภัณฑ์ - สร้างอุปกรณ์ Espressif
ด้วย
all-clusters-appเมื่อ สร้างการผสานรวมMatter ในDeveloper Console ให้ใช้0xFFF1เป็นรหัสผู้ให้บริการและ0x8001เป็นรหัสผลิตภัณฑ์
คุณไม่จำเป็นต้องมีฮับ เช่น Google Nest Hub (2nd gen) เพื่อมอบสิทธิ์ และควบคุมอุปกรณ์ด้วย Sample App for Matter
ติดตั้ง
ไปที่ส่วน Releases ในที่เก็บ GitHub Sample App for Matter สำหรับเวอร์ชันล่าสุด ให้ค้นหา APK ชื่อ
GHSAFM-version-default-debug.apkในส่วน "Assets" อย่าเลือกtargetcommissionerติดตั้ง Android Debug Bridge (adb) โดยทำดังนี้
เชื่อมต่ออุปกรณ์ Android กับ USB และเปิดใช้การโอนไฟล์ แล้ว ติดตั้ง APK โดยทำดังนี้
$ adb unroot && adb install GHSAFM-version-default-debug.apk
มอบสิทธิ์อุปกรณ์
เมื่อเปิดแอปตัวอย่างเป็นครั้งแรก คุณจะเห็นกล่องโต้ตอบพร้อม ลิงก์ไปยัง Sample App for Matter codelab หากเลือกไม่แสดงข้อความนี้อีก คุณจะแสดงกล่องโต้ตอบอีกครั้งได้ ทุกเมื่อโดยอัปเดตค่ากำหนดในส่วนผู้ดูแลระบบของแอป
ในขั้นตอนถัดไป คุณจะเพิ่มอุปกรณ์ Matter ลงใน Local Android Fabric พร้อมกับ Fabric สำหรับการพัฒนาที่อยู่ในแอปตัวอย่างเท่านั้น
Fabric ของ Matter คืออะไร

Fabric Matter คือโดเมนที่อุปกรณ์ ในเครือข่ายในบ้านเชื่อถือร่วมกัน ซึ่งช่วยให้อุปกรณ์สื่อสารกันได้
อุปกรณ์อาจมี Fabric อย่างน้อย 1 รายการที่สอดคล้องกับแพลตฟอร์ม แอป หรือกลุ่มอุปกรณ์ที่ทำงานร่วมกัน Fabric มีรหัสที่ไม่ซ้ำกัน และอุปกรณ์จะใช้ชุดข้อมูลเข้าสู่ระบบและผู้ออกใบรับรอง (CA) ชุดเดียวกัน ระบบจะกำหนดข้อมูลเข้าสู่ระบบเหล่านี้ในระหว่างการมอบสิทธิ์ Matter Matter
หากต้องการมอบสิทธิ์อุปกรณ์ Matter ให้ทำตามขั้นตอนต่อไปนี้
แตะปุ่ม Add Device เพื่อเริ่มกระบวนการมอบสิทธิ์

จากนั้นระบบจะโอนการควบคุมไปยัง Google Play services ซึ่งเปิดตัว จากการเรียกใช้ Mobile SDK สแกนคิวอาร์โค้ด หรือแตะใช้รหัสการจับคู่ เพื่อยืนยันการเป็นเจ้าของ

เมื่อการมอบสิทธิ์เสร็จสมบูรณ์ ให้ป้อนชื่ออุปกรณ์ แล้วแตะเสร็จสิ้น
ตอนนี้อุปกรณ์ของคุณเชื่อมต่อกับทั้ง Local Android Fabric และ Fabric สำหรับการพัฒนาแล้ว
Play Services จะจัดการงานมอบสิทธิ์และหน้าจอที่เกี่ยวข้องทั้งหมดเมื่อมอบสิทธิ์อุปกรณ์Play services ซึ่งจะช่วยให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สม่ำเสมอและไม่จำเป็นต้องจัดการสิทธิ์ที่ละเอียดอ่อน เช่น ข้อมูลเข้าสู่ระบบ Wi-Fi และ Thread
ควบคุมอุปกรณ์
Fabric สำหรับการพัฒนาจะสร้างข้อมูลเข้าสู่ระบบเพื่อควบคุม Matter อุปกรณ์จากแอปตัวอย่างโดยตรง
จากหน้าจอหลัก คุณสามารถเปิดหรือปิดอุปกรณ์ได้ แตะ อุปกรณ์เพื่อเข้าถึงรายละเอียดอุปกรณ์

แชร์อุปกรณ์
การแชร์อุปกรณ์เรียกว่า โฟลว์ผู้ดูแลระบบหลายคน ใน Matterข้อกำหนด เมื่อมอบสิทธิ์อุปกรณ์ให้กับแอปตัวอย่างแล้ว คุณจะแชร์อุปกรณ์กับระบบนิเวศอื่นๆ ได้อย่างง่ายดาย
หากต้องการแชร์อุปกรณ์ Matter กับระบบนิเวศอื่นๆ คุณจะต้องติดตั้งแพลตฟอร์มอื่นในอุปกรณ์ Android แพลตฟอร์มภายนอกนี้จะกลายเป็นผู้มอบสิทธิ์เป้าหมาย เราได้สร้างอินสแตนซ์อื่นของแอปตัวอย่างที่คุณใช้เป็นผู้มอบสิทธิ์เป้าหมายได้
ไปที่ส่วน Releases ในที่เก็บ GitHub Sample App for Matter สำหรับเวอร์ชันล่าสุด ให้ค้นหา APK ชื่อ
GHSAFM-version-targetcommissioner-debug.apkในส่วน "Assets" อย่าเลือกdefaultติดตั้งผู้มอบสิทธิ์เป้าหมาย
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apkจากหน้าจอหลัก ให้แตะอุปกรณ์เพื่อแสดงข้อมูลอุปกรณ์ แตะแชร์

แอปตัวอย่างจะเรียกใช้ Mobile SDK Share API และระบบจะโอนการควบคุมไปยัง Play services อีกครั้ง
แผ่นแชร์จะแสดงขึ้น ซึ่งช่วยให้คุณเลือกแอปหรือแพลตฟอร์มที่ต้องการจับคู่อุปกรณ์ได้ หน้าจอนี้มี 2 วิธีให้คุณแชร์อุปกรณ์ ดังนี้
- แชร์ด้วยตนเองผ่านรหัสการตั้งค่าที่จะแชร์กับแอปผู้มอบสิทธิ์เป้าหมาย
- แชร์กับแอป Android ในเครื่องที่ลงทะเบียนเป็นผู้มอบสิทธิ์ Matter
แอปผู้มอบสิทธิ์เป้าหมายจะมีป้ายกำกับว่า GHSAFM-TC แตะอินสแตนซ์ของแอปตัวอย่างนี้เพื่อแชร์อุปกรณ์
จากนั้นแอปภายนอก (ผู้มอบสิทธิ์เป้าหมาย) จะมอบสิทธิ์อุปกรณ์ให้กับ Fabric ของตัวเอง
การตั้งค่า
จากหน้าจอหลัก ให้คลิกไอคอนการตั้งค่า คุณจะมีตัวเลือกในการอัปเดตค่ากำหนดของผู้ใช้ รับความช่วยเหลือ และดูข้อมูลเพิ่มเติมเกี่ยวกับแอป

การแจ้งเตือนแบบครึ่งหน้าจอ
จากหน้าจอการตั้งค่า คุณสามารถเลือกปิดใช้การแจ้งเตือนการค้นพบอุปกรณ์ Matter ที่พร้อมสำหรับการมอบสิทธิ์
หากแอปพลิเคชันของคุณมีโฟลว์การค้นพบ Matter หรือ การมอบสิทธิ์ของตัวเอง คุณอาจต้องการระงับการแจ้งเตือนเหล่านี้เพื่อป้องกัน การขัดจังหวะ ดูข้อมูลเพิ่มเติมได้ที่ ระงับการแจ้งเตือนการค้นพบอุปกรณ์ที่พร้อมสำหรับการมอบสิทธิ์
เครื่องมือสำหรับนักพัฒนาแอป
จากหน้าจอการตั้งค่า คุณยังเข้าถึงเครื่องมือสำหรับนักพัฒนาแอป ได้ด้วย
หากต้องการตรวจสอบเนื้อหาของที่เก็บ Device และ User Preferences DataStore ใน Logcat ให้ทำตามขั้นตอนต่อไปนี้
คลิกเนื้อหาที่เก็บของบันทึก
คลิก OK ในกล่องโต้ตอบ แล้วตรวจสอบ Logcat
ความคิดเห็นและความช่วยเหลือ
หากต้องการส่งความคิดเห็นหรือข้อเสนอแนะเกี่ยวกับวิธีที่เราสามารถปรับปรุงประสบการณ์การพัฒนา ด้วย Sample App for Matter โปรดกรอกแบบฟอร์มแสดงความคิดเห็น
หากพบปัญหาเกี่ยวกับ Sample App for Matter ให้ลองทำตาม ขั้นตอนเพื่อยืนยันสภาพแวดล้อม
- ยืนยันโมดูลและบริการ Matter
หากมีคำถามเกี่ยวกับการใช้แอปตัวอย่างหรือพบข้อบกพร่องของโค้ด คุณสามารถส่งปัญหาไปยัง Issue Tracker ในที่เก็บ GitHub ได้โดยทำดังนี้
หากต้องการรับคำแนะนำอย่างเป็นทางการจาก Google เกี่ยวกับคำถามทางเทคนิค ให้ใช้ฟอรัมนักพัฒนาแอปสมาร์ทโฮม
หากต้องการรับการสนับสนุนทางเทคนิคจากชุมชน ให้ใช้แท็ก google-smart-home ใน Stack Overflow