Ambient API ช่วยให้แอปพลิเคชันของคุณเชื่อมต่ออุปกรณ์แอมเบียนท์กับบัญชี Google Photos ของผู้ใช้และแสดงรูปภาพที่ผู้ใช้เลือกได้
ขั้นตอนการทำงานของ Ambient API
ต่อไปนี้คือรายละเอียดเกี่ยวกับวิธีที่ Ambient API ทำงานเพื่อเชื่อมต่ออุปกรณ์ จากนั้นดึงและแสดงรายการสื่อ
ตรวจสอบอุปกรณ์ที่มีอยู่ (แนะนำ): ก่อนสร้างอุปกรณ์ใหม่ เราขอแนะนำให้ตรวจสอบว่ามีอุปกรณ์สำหรับผู้ใช้ปัจจุบันอยู่แล้วหรือไม่ แอปพลิเคชันของคุณควรเก็บรักษาการแมประหว่างผู้ใช้ภายในกับ
deviceIdที่ Google ให้มาสำหรับอุปกรณ์ใดก็ตามที่ผู้ใช้สร้างผ่านแอปของคุณ หากพบdeviceIdของผู้ใช้ คุณสามารถดำเนินการรีเฟรชโทเค็นการให้สิทธิ์ของผู้ใช้ (หากจำเป็น)เริ่มการให้สิทธิ์ OAuth 2.0: เริ่มขั้นตอนการทำงานของ OAuth 2.0 สำหรับทีวีและอุปกรณ์อินพุตแบบจำกัด โดยขอรหัสการให้สิทธิ์
สร้างอุปกรณ์ใหม่: แอปของคุณสร้างอุปกรณ์ในบัญชี Google Photos ของผู้ใช้โดยเรียก
CreateDeviceและระบุ UUID v4 ที่ถูกต้องเมื่อสร้างอุปกรณ์สำเร็จแล้ว API จะแสดงออบเจ็กต์
AmbientDeviceที่มีdeviceIdซึ่ง Google กำหนด แอปพลิเคชันของคุณต้องจัดเก็บdeviceIdนี้และเชื่อมโยงกับผู้ใช้แสดง
settingsUri: ออบเจ็กต์AmbientDeviceมีsettingsUriแสดง URI นี้แก่ผู้ใช้ โดยปกติจะแสดงเป็นคิวอาร์โค้ดที่ผู้ใช้สแกนได้โดยใช้อุปกรณ์เคลื่อนที่ URI นี้จะนำผู้ใช้ไปยังแอป Google Photos ซึ่งผู้ใช้สามารถกำหนดค่าแหล่งที่มาของสื่อ (เช่น อัลบั้ม) ที่ต้องการแสดงในอุปกรณ์แอมเบียนท์ได้สำรวจ
mediaSourcesSet: แอปพลิเคชันของคุณควรเรียกใช้เมธอดGetDeviceเป็นระยะๆ โดยระบุdeviceIdเพื่อตรวจสอบสถานะของอุปกรณ์แอมเบียนท์ ตรวจสอบช่องmediaSourcesSetในการตอบกลับAmbientDeviceซึ่งจะมีค่าเป็น "เท็จ" ในตอนแรกเมื่อผู้ใช้เลือกแหล่งที่มาของสื่อในแอป Google Photos ได้สำเร็จแล้ว ช่องนี้จะเปลี่ยนเป็น "จริง"
การตอบกลับ
AmbientDeviceมีpollingConfigพร้อมpollIntervalที่คุณควรใช้เป็นแนวทางสำหรับความถี่ในการสำรวจดึงข้อมูลรายการสื่อ: เมื่อ
mediaSourcesSetแสดงผลเป็น "จริง" แอปพลิเคชันของคุณจะเริ่มดึงข้อมูลรายการสื่อที่ผู้ใช้เลือกได้เรียกใช้เมธอด
ListMediaItemsโดยระบุdeviceIdAPI จะแสดงผลListMediaItemsResponseที่มีรายการออบเจ็กต์AmbientMediaItemAmbientMediaItemแต่ละรายการมีรายละเอียดต่างๆ เช่นid,createTimeและออบเจ็กต์MediaFileที่มีข้อมูลเมตาเพิ่มเติมMediaFileมีbaseUrlซึ่งคุณใช้เพื่อดึงข้อมูลไบต์จริงของรายการสื่อได้ ดูรายละเอียดเกี่ยวกับพารามิเตอร์baseUrlเพิ่มเติมได้ในคู่มือการแสดงและดึงข้อมูลรายการสื่อแสดงรายการสื่อ: ใช้
baseUrlจากMediaFileเพื่อดาวน์โหลดและแสดงเนื้อหาสื่อในอุปกรณ์แอมเบียนท์
สิ่งสำคัญที่ต้องคำนึงถึง
ข้อจำกัดและการจัดการอุปกรณ์:
- ข้อจำกัดของอุปกรณ์: โปรดทราบว่าแอปพลิเคชันของคุณจำกัดอุปกรณ์ไว้ที่ 100 เครื่องต่อผู้ใช้
- กิจกรรมในอุปกรณ์และโทเค็น: คุณจะต้องจัดการวงจรชีวิตของอุปกรณ์และโทเค็นการให้สิทธิ์ของผู้ใช้ พิจารณาว่าอุปกรณ์จะใช้งานได้นานเท่าใด และคุณจะจัดการการรีเฟรชโทเค็นหรือการให้สิทธิ์อีกครั้งอย่างไรหากอุปกรณ์ไม่ทำงานหรือโทเค็นหมดอายุ
ดูรายละเอียดเพิ่มเติมได้ในคู่มือการสร้างและจัดการอุปกรณ์มี
การทำงานกับรายการสื่อ:
- การใช้รายการสื่อ: ทำความเข้าใจวิธีดึงและจัดการเนื้อหารายการสื่ออย่างถูกต้องโดยใช้
baseUrlรวมถึงการตรวจสอบสิทธิ์หรือพารามิเตอร์ที่จำเป็น - การจัดการข้อผิดพลาด: ใช้การจัดการข้อผิดพลาดที่มีประสิทธิภาพสำหรับการเรียก API ซึ่งรวมถึงสถานการณ์ต่างๆ เช่น
NOT_FOUNDสำหรับอุปกรณ์,FAILED_PRECONDITIONหากไม่ได้ตั้งค่าแหล่งที่มาของสื่อ และRESOURCE_EXHAUSTEDหากถึงขีดจำกัดของอุปกรณ์
ดูรายละเอียดเพิ่มเติมได้ในคู่มือการแสดงและดึงข้อมูลรายการสื่อ ซึ่งรวมถึงข้อมูลเกี่ยวกับนโยบายเนื้อหาและ การกรอง
ขั้นตอนถัดไป
- กำหนดค่าแอปพลิเคชัน: ตรวจสอบว่าคุณมีข้อมูลเข้าสู่ระบบที่จำเป็น และได้กำหนดค่าแอปพลิเคชันสำหรับ OAuth 2.0 สำหรับทีวีและอุปกรณ์ที่มีอินพุตจำกัด แล้ว
- อ่านเอกสารอ้างอิง Ambient API: สำรวจเอกสารอ้างอิงโดยละเอียดสำหรับเมธอดทั้งหมดที่มี พารามิเตอร์คำขอและการตอบกลับ รวมถึงรหัสข้อผิดพลาด