Wearable Data Layer API ซึ่งเป็นส่วนหนึ่งของบริการ Google Play เป็นช่องทางการสื่อสารระหว่างอุปกรณ์ที่สวมใส่ได้ (เช่น สมาร์ทวอทช์) กับอุปกรณ์มือถือแบบเชื่อมต่อ (มักเป็นสมาร์ทโฟน) ซึ่งเป็นวิธีซิงค์และโอนข้อมูลระหว่างอุปกรณ์
หมายเหตุ: API นี้ใช้ได้ในนาฬิกา Wear OS และอุปกรณ์ Android ที่จับคู่เท่านั้น สำหรับนาฬิกา Wear OS ที่จับคู่กับโทรศัพท์ iOS แอปจะค้นหา API อื่นๆ ที่อยู่ในระบบคลาวด์ได้หากมีการเชื่อมต่ออินเทอร์เน็ต ดูข้อมูลเพิ่มเติมเกี่ยวกับ API อื่นๆ เหล่านี้ได้ที่การเข้าถึงเครือข่ายและการซิงค์ใน Wear OS
ข้อควรระวัง: เนื่องจาก API ของชั้นข้อมูลออกแบบมาเพื่อการติดต่อสื่อสารระหว่างอุปกรณ์พกพาและอุปกรณ์ที่สวมใส่ได้ API เหล่านี้จึงเป็น API เพียงรายการเดียวที่คุณใช้เพื่อตั้งค่าการสื่อสารระหว่างอุปกรณ์เหล่านี้ได้ เช่น อย่าพยายามเปิดซ็อกเก็ตระดับต่ำเพื่อสร้างช่องทางการสื่อสาร
กรณีการใช้งานทั่วไป
Data Layer API มีประโยชน์อย่างยิ่งสําหรับกรณีการใช้งานด้านฟิตเนสและสื่อ
แอปฟิตเนส
การส่งข้อมูลการออกกำลังกายจากแอป Wear OS ไปยังแอปออกกำลังกายบนอุปกรณ์เคลื่อนที่ มักจะต้องมีการเขียนข้อมูลการออกกำลังกายที่นาฬิกาบันทึกไว้ลงในแอปบนอุปกรณ์เคลื่อนที่หรือ Health Connect หากใช้ Data Layer API เพื่อโอนข้อมูล ให้ใช้โปรแกรมรับส่งข้อความเพื่อส่งข้อมูลการออกกําลังกายจากแอป Wear OS ไปยังแอปบนอุปกรณ์เคลื่อนที่เพื่อเขียนลงใน Health Connect
สตรีมข้อมูลแบบเรียลไทม์ไปยังอุปกรณ์เคลื่อนที่ระหว่างออกกำลังกายที่บ้าน
สถานการณ์การออกกำลังกายที่บ้านที่พบบ่อยคือการสตรีมข้อมูลอัตราการเต้นของหัวใจจากอุปกรณ์ Wear OS ไปยังอุปกรณ์เคลื่อนที่และแสดงข้อมูลอัตราการเต้นของหัวใจล่าสุดของผู้ใช้บนหน้าจอของอุปกรณ์เคลื่อนที่ หากต้องการสตรีมข้อมูลนี้ ให้ใช้ไคลเอ็นต์แชแนล
แอปสื่อ
หากต้องการควบคุมโปรแกรมเล่นสื่อผ่านการดำเนินการของ "หยุดชั่วคราว/เล่นต่อ/เริ่ม/สิ้นสุด" จากนาฬิกาไปยังโทรศัพท์ ให้ใช้โปรแกรมรับส่งข้อความ
ตัวเลือกการสื่อสาร
ระบบจะโอนข้อมูลด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- โดยตรง เมื่อมีการเชื่อมต่อบลูทูธระหว่างอุปกรณ์ Wear OS กับอุปกรณ์อื่น
- ผ่านเครือข่ายที่มีอยู่ เช่น LTE หรือ Wi-Fi โดยใช้โหนดเครือข่ายในเซิร์ฟเวอร์ของ Google เป็นสื่อกลาง
ลูกค้าชั้นข้อมูลทั้งหมดสามารถแลกเปลี่ยนข้อมูลโดยใช้บลูทูธหรือใช้ระบบคลาวด์ก็ได้ ทั้งนี้ขึ้นอยู่กับการเชื่อมต่อที่อุปกรณ์มี สมมติว่าข้อมูลที่ส่งผ่านโดยใช้ชั้นข้อมูลอาจใช้เซิร์ฟเวอร์ของ Google ในบางจุด
บลูทูธ
เมื่ออุปกรณ์เชื่อมต่อโดยใช้บลูทูธ เลเยอร์ข้อมูลจะใช้การเชื่อมต่อนี้ มีช่องทางที่เข้ารหัสเพียงช่องทางเดียวระหว่างอุปกรณ์โดยใช้การเข้ารหัสบลูทูธมาตรฐานซึ่งจัดการโดยบริการ 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
ดูข้อมูลเพิ่มเติมได้ที่ตัวอย่างชั้นข้อมูล
ใช้ไคลเอ็นต์แบบ Minimal
หากต้องการสร้างลูกค้า โปรดดูโค้ดตัวอย่างต่อไปนี้
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
บริบทอาจเป็นบริบท Android ที่ถูกต้องใดก็ได้ หากคุณใช้ API ภายในขอบเขตของ Activity
ให้ใช้เมธอด getDataClient()
ของคลาส Wearable
ซึ่งจะทำให้การโต้ตอบบางอย่างปรากฏเป็นกล่องโต้ตอบแทนการแจ้งเตือน เช่น เมื่อระบบขอให้ผู้ใช้อัปเดตบริการ Google Play เป็นเวอร์ชันล่าสุด
โดยค่าเริ่มต้น ระบบจะเรียกกลับไปยังผู้ฟังบนเธรด 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
สร้างอินสแตนซ์ไคลเอ็นต์อีกครั้งตามที่จำเป็น
ไคลเอ็นต์ Wearable API เช่น DataClient
และ MessageClient
สร้างได้ไม่แพง ดังนั้นแทนที่จะเก็บคลีเอนต์ไว้ ให้สร้างใหม่ตามต้องการโดยใช้รูปแบบที่เหมาะกับแอป
ระบบจะแชร์สถานะไคลเอ็นต์ เช่น ชุดตัวฟังที่ลงทะเบียนไว้ กับไคลเอ็นต์ทั้งหมดและจะเก็บสถานะไว้หากมีการอัปเดตบริการ Google Play ขณะที่แอปทำงานอยู่