ภาพรวมของ API ชั้นข้อมูล

โหนดในระบบคลาวด์จะควบคุมโดยเซิร์ฟเวอร์ของ Google
รูปที่ 1 ตัวอย่างเครือข่ายโหนดที่มีอุปกรณ์พกพาและอุปกรณ์ Wear OS

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 ไปยังอุปกรณ์เคลื่อนที่และแสดงข้อมูลอัตราการเต้นของหัวใจล่าสุดแก่ผู้ใช้ บนหน้าจอของอุปกรณ์เคลื่อนที่ หากต้องการสตรีมข้อมูลนี้ ให้ใช้ไคลเอ็นต์แชแนล

แอปสื่อ

หากต้องการควบคุมมีเดียเพลเยอร์ผ่านการดำเนินการหยุดชั่วคราว/เล่นต่อ/เริ่ม/สิ้นสุดจากนาฬิกาไปยังโทรศัพท์ ให้ใช้ไคลเอ็นต์ข้อความ

ตัวเลือกสำหรับการสื่อสาร

ระบบจะโอนข้อมูลด้วยวิธีใดวิธีหนึ่งต่อไปนี้

  1. โดยตรง เมื่อมีการเชื่อมต่อบลูทูธระหว่างอุปกรณ์ Wear OS กับอุปกรณ์อื่น
  2. ผ่านเครือข่ายที่พร้อมใช้งาน เช่น 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 ขณะที่แอป กำลังทำงาน