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

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

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

แอปสื่อ

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

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

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

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