แอปพลิเคชัน iOS ตัวอย่างนี้ใช้ Google Home API ใช้คู่มือนี้เพื่อสร้างและเรียกใช้แอปเป็นครั้งแรก
ข้อกำหนดเบื้องต้น
ตรวจสอบว่าคุณมีข้อกำหนดขั้นต่ำในการใช้ Home API สำหรับ iOS
หากต้องการสร้างและติดตั้งแอปตัวอย่าง คุณจะต้องมีคอมพิวเตอร์ที่ติดตั้ง Xcode เวอร์ชัน 15.3 ขึ้นไป
หากต้องการทดสอบแอป คุณจะต้องมีสิ่งต่อไปนี้
- บัญชี Google
- Apple ID ที่ลงทะเบียนใน Apple Developer Program เพื่อสร้างไฟล์การกำหนดค่าอุปกรณ์จริง หากยังไม่ได้สร้าง การลงทะเบียนจะมีค่าใช้จ่ายเพิ่มเติมและอาจใช้เวลาดำเนินการให้เสร็จสมบูรณ์สูงสุด 48 ชั่วโมง
- อุปกรณ์ iOS (ไม่ใช่เครื่องจำลอง) ที่ใช้ iOS 16.4 ขึ้นไปซึ่งตั้งค่าด้วยบัญชีทดสอบ
- เครือข่าย Wi-Fi
- ฮับ Google ที่รองรับ Home API
- Thread Border Router (TBR) หากอุปกรณ์ต้องใช้ Thread และฮับของคุณไม่มีความสามารถดังกล่าว
- ประเภทอุปกรณ์ที่รองรับอย่างน้อย 1 ประเภท
สำหรับการพัฒนา คุณจะต้องมี Mac ที่มีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
- macOS Sonoma ขึ้นไป
- Xcode 15.3 ขึ้นไป
สร้างไฟล์การกำหนดค่าการติดตั้งใช้งาน Apple
ก่อนอื่น แอปต้องเปิดใช้ความสามารถ App Attest ด้วยเหตุนี้ จึงไม่สามารถติดตั้งใช้งานในอุปกรณ์จำลองได้ ซึ่งคุณจะต้องสร้างโปรไฟล์การจัดสรรที่มีการให้สิทธิ์ App Attest
ประการที่ 2 ต้องเปิดใช้กลุ่มแอปสำหรับการสื่อสารระหว่างแอปกับ MatterExtension ซึ่งคุณจะต้องลงทะเบียนตัวระบุกลุ่มแอป
ดูรายละเอียดเพิ่มเติมได้ที่สร้างโปรไฟล์การจัดสรรการพัฒนาในโปรไฟล์การจัดสรรของ Apple
ข้อมูลต่อไปนี้จะสรุปขั้นตอนขั้นต่ำที่จำเป็นในการทำให้แอปใช้งานได้
- สร้างตัวระบุกลุ่มแอปเพื่อให้แอปสื่อสารกับ
MatterExtensionได้- ลงชื่อเข้าใช้พอร์ทัลนักพัฒนาซอฟต์แวร์ Apple
- เพิ่มตัวระบุกลุ่มแอป เช่น อาจอยู่ในรูปแบบ
group.com.company.commissioning
- ลงทะเบียนอุปกรณ์ทดสอบกับบัญชีนักพัฒนาแอป
สร้างโปรไฟล์สำหรับเป้าหมายแอป
- กำหนดรหัสชุดซอฟต์แวร์สำหรับแอปของคุณ
รหัสชุดซอฟต์แวร์ควรไม่ซ้ำกันและสื่อความหมาย เช่น อาจอยู่ในรูปแบบ
com.company.HomeApiSampleเราจะใช้ตัวระบุนี้ ตลอดส่วนที่เหลือของส่วนนี้ - ลงทะเบียนรหัสแอป เมื่อได้รับข้อความแจ้ง ให้เพิ่มความสามารถ App Attest และ App Groups
แก้ไขรหัสแอปที่สร้างขึ้นใหม่และกำหนดค่าความสามารถของกลุ่มแอปเพื่อเพิ่มตัวระบุกลุ่มแอปที่ลงทะเบียนไว้
สร้างโปรไฟล์การจัดสรรการพัฒนาสำหรับการพัฒนาแอป เชื่อมโยงโปรไฟล์กับรหัสแอปที่สร้างใหม่และอุปกรณ์ทดสอบที่เลือก ตรวจสอบว่าคุณมีใบรับรองของนักพัฒนาแอปเพื่อรับรองแอป
- หากยังไม่ได้สร้าง โปรดดูวิธีการที่หัวข้อสร้างใบรับรอง Developer ID
- กำหนดรหัสชุดซอฟต์แวร์สำหรับแอปของคุณ
รหัสชุดซอฟต์แวร์ควรไม่ซ้ำกันและสื่อความหมาย เช่น อาจอยู่ในรูปแบบ
สร้างโปรไฟล์สำหรับเป้าหมาย
MatterExtension- กำหนดรหัสชุดซอฟต์แวร์ของแอปพลิเคชันสำหรับ
MatterExtensionตัวระบุควรรับค่ามาจากตัวระบุแอป เช่น อาจจัดรูปแบบเป็นcom.company.HomeApiSample.MatterExtension - ลงทะเบียนรหัสแอป เมื่อได้รับข้อความแจ้ง ให้เพิ่มความสามารถ App Group
- แก้ไขรหัสแอปที่สร้างขึ้นใหม่และกำหนดค่าความสามารถของ App Groups เพื่อเพิ่มตัวระบุกลุ่มแอปที่ลงทะเบียนซึ่งสร้างไว้ในขั้นตอนก่อนหน้า
- สร้างโปรไฟล์การจัดสรรการพัฒนาสำหรับ
MatterExtension
- กำหนดรหัสชุดซอฟต์แวร์ของแอปพลิเคชันสำหรับ
สร้างรหัสไคลเอ็นต์ OAuth และเปิดใช้ Home API
แอปของคุณต้องมีรหัสไคลเอ็นต์ OAuth เพื่อระบุตัวตนกับแบ็กเอนด์การตรวจสอบสิทธิ์ของ Google สำหรับ iOS และแอป ต้องกำหนดค่าประเภทแอปพลิเคชันรหัสไคลเอ็นต์ OAuth เป็น iOS นอกจากนี้ แอปจะเรียกใช้ Home API ด้วย หากต้องการเปิดใช้ฟังก์ชันนี้ คุณต้องเปิดใช้ API ในโปรเจ็กต์ Google Cloud
สร้างรหัสไคลเอ็นต์ OAuth
- ในคอนโซล Google Cloud ให้ไปที่แดชบอร์ดตัวเลือกโปรเจ็กต์ แล้วเลือกโปรเจ็กต์ที่ต้องการใช้สร้างข้อมูลเข้าสู่ระบบ OAuth
- ไปที่หน้า API และบริการโดยคลิกปุ่มเมนูที่ด้านซ้ายบน > ดูผลิตภัณฑ์ทั้งหมด > API และบริการ
- ในเมนูการนำทาง ให้คลิกข้อมูลเข้าสู่ระบบ
หากคุณยังไม่ได้กำหนดค่าหน้าจอขอความยินยอมสำหรับโปรเจ็กต์ Google Cloud นี้ ปุ่มกำหนดค่าหน้าจอขอความยินยอมจะปรากฏขึ้น ในกรณีนี้ ให้กำหนดค่าหน้าจอขอความยินยอมโดยใช้ขั้นตอนต่อไปนี้ หากกำหนดค่าหน้าจอขอความยินยอม OAuth แล้วและสถานะการเผยแพร่เป็นกำลังทดสอบ ให้ตรวจสอบว่าได้เพิ่มบัญชีทดสอบที่คุณจะใช้ลงในกลุ่มผู้ใช้ทดสอบแล้ว หรือหากรองรับอยู่แล้ว ให้ดำเนินการต่อในขั้นตอนถัดไป
- เลือกภายในหรือภายนอกตามกรณีการใช้งาน แล้วคลิกสร้าง แผงหน้าจอขอความยินยอม OAuth จะปรากฏขึ้น
- ป้อนข้อมูลในหน้าข้อมูลแอปตามวิธีการบนหน้าจอ แล้วคลิกบันทึกและดำเนินการต่อ แผงขอบเขตจะปรากฏขึ้น
- คุณไม่จำเป็นต้องเพิ่มขอบเขตใดๆ ดังนั้นให้คลิกบันทึกและดำเนินการต่อ แผงผู้ใช้ทดสอบจะปรากฏขึ้น
- หากเลือกสร้างหน้าจอขอความยินยอมภายใน คุณต้องเพิ่มผู้ใช้เพื่อทดสอบสิทธิ์เข้าถึงแอป โดยคลิกเพิ่มผู้ใช้ แผงเพิ่มผู้ใช้จะปรากฏขึ้น ผู้ใช้ทดสอบมีสิทธิ์ให้สิทธิ์ในแอปของคุณ เพิ่มอีเมลของบัญชี Google อย่างน้อย 1 รายการในช่องว่าง แล้วคลิกเพิ่ม
- คลิกบันทึกและต่อไป แผงสรุปจะปรากฏขึ้น
- ตรวจสอบข้อมูลหน้าจอขอความยินยอม OAuth แล้วคลิกกลับไปที่แดชบอร์ด
ในแผงเมนูด้านซ้าย ให้คลิกข้อมูลเข้าสู่ระบบเพื่อสร้างรหัสไคลเอ็นต์ OAuth

- คลิกปุ่มสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกรหัสไคลเอ็นต์ OAuth
- ในส่วนประเภทแอปพลิเคชัน ให้เลือก iOS
- ป้อนรหัสชุดพร้อมตัวระบุแอปและรหัสทีม Apple Developer ส่วนช่องอื่นๆ เป็นช่องที่ไม่บังคับและเว้นว่างไว้ได้
- คลิกสร้าง แล้วจดบันทึกรหัสไคลเอ็นต์ที่สร้างขึ้นหรือดาวน์โหลด PLIST ซึ่งจะใช้ในภายหลังเพื่อเปิดใช้ฟังก์ชันการทำงานของขั้นตอนการให้สิทธิ์ ดูข้อมูลเพิ่มเติมได้ที่ส่วนสร้างข้อมูลเข้าสู่ระบบสำหรับการให้สิทธิ์
- คลิกปุ่มสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกรหัสไคลเอ็นต์ OAuth
เปิดใช้ Home API
เปิดใช้สิทธิ์เข้าถึง Home API
- ในแท็บ API และบริการ ให้คลิก API และบริการที่เปิดใช้
- คลิกเปิดใช้ API และบริการที่ด้านบนของหน้า
- ค้นหา
HOME APIแล้วเลือก - ในหน้ารายละเอียด Home API ให้คลิกเปิดใช้
ดาวน์โหลดซอร์สโค้ด
ซอร์สโค้ดสำหรับแอปตัวอย่างมีให้ใช้งานใน GitHub
ไปยังตำแหน่งที่ต้องการบันทึกโปรเจ็กต์ แล้วโคลนโปรเจ็กต์โดยทำดังนี้
git clone https://github.com/google-home/google-home-api-sample-app-ios.gitหากต้องการโหลดโปรเจ็กต์ใน Xcode ให้คลิกไฟล์ > เปิด แล้วเลือก GoogleHomeAPISampleIOS.xcodeproj ในรูทของที่เก็บที่โคลน
เพิ่ม SDK ลงในโปรเจ็กต์
โปรเจ็กต์แอปตัวอย่างต้องใช้ข้อมูลเพิ่มเติมเพื่อสร้าง ซึ่งรวมถึงการเพิ่มไฟล์เฟรมเวิร์ก SDK ในเครื่อง การป้อนข้อมูลตัวระบุบัญชีนักพัฒนาแอป และการป้อนรหัสไคลเอ็นต์ OAuth
สร้างแอป
หากต้องการดาวน์โหลด iOS SDK ของ Home API คุณต้องลงชื่อเข้าใช้ Google Home Developers ก่อน
กำหนดค่าโปรเจ็กต์ Xcode สำหรับแอปตัวอย่างโดยทำดังนี้
- แตก SDK ที่ดาวน์โหลดลงในไดเรกทอรี
ThirdParty/GoogleHomeSDKที่สัมพันธ์กับไดเรกทอรีรากของโปรเจ็กต์ - กำหนดค่ารหัสนักพัฒนาซอฟต์แวร์และรหัสไคลเอ็นต์ OAuth ดังนี้
- ในแผงการนำทาง ให้มองหาโฟลเดอร์ GoogleHomeAPISampleIOS แล้วเปิดไฟล์ Info.plist เพื่อแก้ไข
ในไฟล์ Info.plist ให้ป้อน GIDClientID ด้วยรหัสไคลเอ็นต์ OAuth (ดูส่วนตั้งค่าความยินยอมของ OAuth) Cloud Project Number ที่สอดคล้องกับโปรเจ็กต์ที่อยู่ในระบบคลาวด์ และ GIDTeamID ด้วยรหัสทีม Apple Developer ของบัญชีนักพัฒนาแอปที่ใช้ในระหว่างกระบวนการลงทะเบียน OAuth
เพิ่มความสามารถ App Attest:
- ในแผงการนำทางของ Xcode ให้เลือกไฟล์โปรเจ็กต์
GoogleHomeAPISampleIOSเพื่อแก้ไขการกำหนดค่าโปรเจ็กต์ - คลิกแท็บ Signing and Capabilities ที่ด้านบน แล้วเลือกเป้าหมาย
GoogleHomeAPISampleIOSทางด้านซ้ายในส่วน TARGETS - ใต้แท็บ Signing and Capabilities ให้คลิก + Capability แล้วค้นหา App Attest
- คลิก App Attest เพื่อเพิ่ม หากความสามารถนี้หายไปในการค้นหา แสดงว่าโปรเจ็กต์อาจเพิ่มความสามารถนี้แล้ว
- ในแผงการนำทางของ Xcode ให้เลือกไฟล์โปรเจ็กต์
เพิ่มความสามารถ App Groups

- ไปที่โปรเจ็กต์ GoogleHomeAPISampleIOS > เป้าหมาย GoogleHomeAPISampleIOS
- คลิก Signing & Capabilities > + Capability
- เลือกความสามารถกลุ่มแอป
- คลิกไอคอน + ในส่วนกลุ่มแอป แล้วเพิ่มตัวระบุกลุ่มแอปสำหรับแอปที่คุณเพิ่มในพอร์ทัลนักพัฒนาซอฟต์แวร์ Apple
- ทำขั้นตอนเหล่านี้ซ้ำสำหรับเป้าหมาย MatterAddDeviceExtension เพื่อเพิ่มลงใน App Groups
อัปเดตรหัสชุดซอฟต์แวร์
- หากต้องการเรียกใช้และติดตั้งใช้งานแอปตัวอย่างบนฮาร์ดแวร์โดยใช้ใบรับรองนักพัฒนาซอฟต์แวร์และโปรไฟล์การจัดสรร คุณจะต้องระบุรหัสชุดซอฟต์แวร์ที่ไม่ซ้ำกัน ซึ่งควรเป็นตัวระบุเดียวกับที่เชื่อมโยงกับข้อมูลเข้าสู่ระบบไคลเอ็นต์ OAuth (ดูด้านบน)
- ในแผงการนำทางของ Xcode ให้เลือกไฟล์โปรเจ็กต์
GoogleHomeAPISampleIOSเพื่อแก้ไขการกำหนดค่าโปรเจ็กต์ - คลิกแท็บ Signing and Capabilities ที่ด้านบน แล้วเลือกเป้าหมาย
GoogleHomeAPISampleIOSทางด้านซ้ายในส่วน TARGETS - เลือกช่อง รหัสชุดซอฟต์แวร์ ในส่วน Signing แล้วป้อนตัวระบุที่ไม่ซ้ำกันสำหรับแอปพลิเคชัน
- เลือกหรือติดตั้งโปรไฟล์การจัดสรรที่เกี่ยวข้องกับแพ็กเกจนั้นซึ่งมีสิทธิ์ที่จำเป็น
- ทำขั้นตอนเหล่านี้ซ้ำสำหรับเป้าหมาย
MatterAddDeviceExtensionเพื่อป้อนรหัสชุดซอฟต์แวร์สำหรับส่วนขยายและนำเข้าโปรไฟล์การจัดสรรที่ลงทะเบียนไว้
อัปเดตตัวระบุกลุ่มแอปที่ลงทะเบียนไว้ในโค้ด
- แอปพลิเคชันต้องกำหนดค่าอินสแตนซ์ SDK เพื่อใช้ตัวระบุกลุ่มแอปสำหรับฟีเจอร์ต่างๆ เช่น การคอมมิชชันอุปกรณ์ อัปเดตแอปเพื่อใช้รหัสกลุ่มแอปที่ลงทะเบียนไว้ในพอร์ทัลนักพัฒนาแอปของ Apple โดยค้นหาสตริง
HOME_API_TODO_ADD_APP_GROUPและแทนที่แต่ละอินสแตนซ์ด้วยสตริงดังกล่าว
การกำหนดค่าเหล่านี้จะทำในไฟล์ต่อไปนี้
GoogleHomeAPISampleIOS.swiftเมื่อเริ่มต้น SDKRequestHandler.swiftCommissioningManager.swift
- แอปพลิเคชันต้องกำหนดค่าอินสแตนซ์ SDK เพื่อใช้ตัวระบุกลุ่มแอปสำหรับฟีเจอร์ต่างๆ เช่น การคอมมิชชันอุปกรณ์ อัปเดตแอปเพื่อใช้รหัสกลุ่มแอปที่ลงทะเบียนไว้ในพอร์ทัลนักพัฒนาแอปของ Apple โดยค้นหาสตริง
กำหนดค่าขอบเขต OAuth ใน
GoogleHomeAPISampleIOS.swiftโดยค่าเริ่มต้น ซอร์สโค้ดของแอปตัวอย่างจะใช้ขอบเขตhttps://www.googleapis.com/auth/home.platform.v2ฟีเจอร์หลายอย่างในแอปตัวอย่างจะถูกจำกัดโดยขอบเขตhome.platform.v2และต้องได้รับอนุมัติจากพาร์ทเนอร์จึงจะเข้าถึงได้ หากต้องการเรียกใช้แอปตัวอย่างด้วยขอบเขตhttps://www.googleapis.com/auth/home.platform.selected.devicesมาตรฐาน ให้เปิดGoogleHomeAPISampleIOS.swiftและเปลี่ยนhomePlatformOAuthScopeในHome.configureเป็นHomePlatformOAuthScope.v1ดังนี้Home.configure { $0.sharedAppGroup = "HOME_API_TODO_ADD_APP_GROUP" $0.homePlatformOAuthScope = HomePlatformOAuthScope.v1 ... }