Wearable Data Layer API ซึ่งเป็นส่วนหนึ่งของบริการ Google Play มีช่องทางการสื่อสารระหว่างอุปกรณ์ที่สวมใส่ได้ (เช่น สมาร์ทวอทช์) กับอุปกรณ์พกพาที่เชื่อมต่อ (โดยปกติคือสมาร์ทโฟน) ซึ่งเป็นวิธีซิงค์และ โอนข้อมูลระหว่างอุปกรณ์
หมายเหตุ: API นี้ใช้ได้เฉพาะในนาฬิกา Wear OS และ อุปกรณ์ Android ที่จับคู่ไว้ สำหรับนาฬิกา Wear OS ที่จับคู่กับโทรศัพท์ iOS แอปจะ ค้นหา API อื่นๆ บนระบบคลาวด์ได้หากมีการเชื่อมต่ออินเทอร์เน็ต ดูข้อมูลเพิ่มเติมเกี่ยวกับ API อื่นๆ เหล่านี้ได้ที่การเข้าถึงเครือข่ายและการซิงค์ใน Wear OS
ข้อควรระวัง: เนื่องจาก API ของ Data Layer ออกแบบมาเพื่อ การสื่อสารระหว่างอุปกรณ์พกพาและอุปกรณ์ที่สวมใส่ได้ จึงเป็น API เดียวที่คุณ ใช้เพื่อตั้งค่าการสื่อสารระหว่างอุปกรณ์เหล่านี้ได้ เช่น อย่าพยายามเปิดซ็อกเก็ตระดับต่ำเพื่อสร้างช่องทางการสื่อสาร
กรณีการใช้งานทั่วไป
Data Layer API มีประโยชน์อย่างยิ่งสำหรับกรณีการใช้งานด้านฟิตเนสและสื่อ
แอปฟิตเนส
การส่งข้อมูลการออกกำลังกายจากแอป Wear OS ไปยังแอป Fitness บนอุปกรณ์เคลื่อนที่แอป Fitness มักจะต้อง เขียนข้อมูลการออกกำลังกายที่นาฬิกาบันทึกไว้ไปยังแอปบนอุปกรณ์เคลื่อนที่หรือไปยัง Health Connect หากใช้ Data Layer API เพื่อโอนข้อมูล ให้ใช้ไคลเอ็นต์ข้อความเพื่อส่งข้อมูลการออกกำลังกายจากแอป Wear OS ไปยังแอปบนอุปกรณ์เคลื่อนที่ เพื่อเขียนไปยัง Health Connect
สตรีมข้อมูลสดไปยังอุปกรณ์เคลื่อนที่ขณะออกกำลังกายที่บ้าน
สถานการณ์การออกกำลังกายที่บ้านทั่วไปคือการสตรีมข้อมูลอัตราการเต้นของหัวใจจากอุปกรณ์ Wear OS ไปยังอุปกรณ์เคลื่อนที่และแสดงข้อมูลอัตราการเต้นของหัวใจล่าสุดแก่ผู้ใช้ บนหน้าจอของอุปกรณ์เคลื่อนที่ หากต้องการสตรีมข้อมูลนี้ ให้ใช้ไคลเอ็นต์แชแนล
แอปสื่อ
หากต้องการควบคุมมีเดียเพลเยอร์ผ่านการดำเนินการหยุดชั่วคราว/เล่นต่อ/เริ่ม/สิ้นสุดจากนาฬิกาไปยังโทรศัพท์ ให้ใช้ไคลเอ็นต์ข้อความ
ตัวเลือกสำหรับการสื่อสาร
ระบบจะโอนข้อมูลด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- โดยตรง เมื่อมีการเชื่อมต่อบลูทูธระหว่างอุปกรณ์ Wear OS กับอุปกรณ์อื่น
- ผ่านเครือข่ายที่พร้อมใช้งาน เช่น LTE หรือ Wi-Fi โดยใช้ โหนดเครือข่ายในเซิร์ฟเวอร์ของ Google เป็นตัวกลาง
ไคลเอ็นต์ Data Layer ทั้งหมดอาจแลกเปลี่ยนข้อมูลโดยใช้บลูทูธหรือใช้ ระบบคลาวด์ ทั้งนี้ขึ้นอยู่กับการเชื่อมต่อที่พร้อมใช้งานในอุปกรณ์ พึงระลึกว่าข้อมูล ที่ส่งโดยใช้ชั้นข้อมูลอาจใช้เซิร์ฟเวอร์ของ Google ในบางครั้ง
บลูทูธ
เมื่ออุปกรณ์เชื่อมต่อโดยใช้บลูทูธ Data Layer จะใช้การเชื่อมต่อนี้ อุปกรณ์จะมีช่องทางที่เข้ารหัสช่องทางเดียวซึ่งใช้ การเข้ารหัสบลูทูธมาตรฐานที่จัดการโดยบริการ Google Play
เมฆ
ระบบจะกำหนดเส้นทางข้อมูลผ่าน Google Cloud โดยอัตโนมัติเมื่อบลูทูธไม่พร้อมใช้งาน ข้อมูลทั้งหมดที่โอนผ่าน Google Cloud จะได้รับการเข้ารหัสจากต้นทางถึงปลายทาง
ความปลอดภัยของการสื่อสาร
บริการ Google Play บังคับใช้ข้อจำกัดต่อไปนี้เพื่อให้การสื่อสารระหว่างแอปที่ติดตั้งในอุปกรณ์ Wear OS กับแอปเดียวกันที่ติดตั้งในอุปกรณ์พกพาที่อยู่ใกล้เคียงมีความปลอดภัยมากยิ่งขึ้น
- ชื่อแพ็กเกจต้องตรงกันในอุปกรณ์ต่างๆ
- ลายเซ็นของแพ็กเกจต้องตรงกันในอุปกรณ์ต่างๆ
ไม่มีแอปอื่นใดเข้าถึงข้อมูลได้ไม่ว่าจะเป็นการเชื่อมต่อประเภทใดก็ตาม
ตั้งค่า
Wearable Data Layer API มีการอ้างอิงต่อไปนี้
- บริการ Google Play เวอร์ชันล่าสุด
- อุปกรณ์ Wear OS หรือโปรแกรมจำลอง Wear OS
ใส่ทรัพยากร Dependency ต่อไปนี้ในไฟล์ build.gradle ของโมดูล Wear
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:19.0.0")
}
อำนวยความสะดวกในกระบวนการจับคู่เริ่มต้น
Horologist มีไลบรารีตัวช่วยหลายรายการที่อยู่เหนือ API ของแพลตฟอร์ม ซึ่งรวมถึงไลบรารีเลเยอร์ข้อมูลที่ช่วยสร้างการเชื่อมต่อระหว่าง อุปกรณ์เคลื่อนที่กับอุปกรณ์ Wear OS นอกจากนี้ ยังมี API ที่สะดวก สำหรับทำสิ่งต่อไปนี้
- ติดตั้งแอปในอุปกรณ์อื่น
- เปิดแอปในอุปกรณ์เครื่องอื่น
- เปิดใช้กิจกรรมที่ต้องการในอุปกรณ์เครื่องอื่น
- เปิดแอปที่ใช้ร่วมกัน
เข้าถึงชั้นข้อมูล
หากต้องการเรียกใช้ Data Layer API ให้ใช้คลาส Wearable
เพื่อรับอินสแตนซ์ของ
คลาสไคลเอ็นต์ต่างๆ เช่น DataClient
และ MessageClient
ดูข้อมูลเพิ่มเติมได้ที่ตัวอย่าง DataLayer
ใช้ไคลเอ็นต์ที่เรียบง่าย
หากต้องการสร้างไคลเอ็นต์ ให้ดูโค้ดตัวอย่างต่อไปนี้
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
บริบทอาจเป็นบริบท Android ที่ถูกต้องใดก็ได้ หากคุณใช้ API ภายในขอบเขตของ Activity
ให้ใช้เมธอด getDataClient()
ของคลาส Wearable
ซึ่งจะช่วยให้การโต้ตอบบางอย่างปรากฏเป็นกล่องโต้ตอบแทนที่จะเป็น
การแจ้งเตือน เช่น เมื่อระบบขอให้ผู้ใช้อัปเดตบริการ Google
Play เวอร์ชันของตน
โดยค่าเริ่มต้น ระบบจะเรียกกลับไปยัง Listener ในเธรด UI หลักของแอป หากต้องการให้เรียกใช้
การเรียกกลับในเธรดอื่น ให้ใช้ออบเจ็กต์ WearableOptions
เพื่อ
ระบุ Looper
ที่กำหนดเอง
Kotlin
runBlocking { Wearable.getDataClient(context, options) }
Java
WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build(); DataClient dataClient = Wearable.getDataClient(context, options);
ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลอ้างอิง WearableOptions.Builder
สร้างอินสแตนซ์ไคลเอ็นต์ใหม่ตามที่จำเป็น
ไคลเอ็นต์ API ของอุปกรณ์ที่สวมใส่ได้ เช่น DataClient
และ MessageClient
สร้างได้โดยมีค่าใช้จ่ายไม่สูง
ดังนั้นแทนที่จะเก็บออบเจ็กต์ไว้ ให้สร้างออบเจ็กต์ใหม่เมื่อต้องการใช้โดยใช้รูปแบบที่เหมาะกับแอป
สถานะไคลเอ็นต์ เช่น ชุดของ Listener ที่ลงทะเบียน จะแชร์ในไคลเอ็นต์ทั้งหมด และจะยังคงอยู่หากมีการอัปเดตบริการ Google Play ขณะที่แอป กำลังทำงาน