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

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

API ชั้นข้อมูลที่สวมใส่ได้ ซึ่งเป็นส่วนหนึ่งของบริการ Google Play มอบ ช่องทางการสื่อสารระหว่างอุปกรณ์ที่สวมใส่ได้ (เช่น สมาร์ทวอทช์) กับ อุปกรณ์มือถือที่เชื่อมต่อ (มักจะเป็นสมาร์ทโฟน) เป็นวิธีซิงค์ข้อมูลและ โอนข้อมูลระหว่างอุปกรณ์

หมายเหตุ: API นี้ใช้ได้เฉพาะในนาฬิกา Wear OS และ อุปกรณ์ Android ที่จับคู่แล้ว สําหรับนาฬิกา Wear OS ที่จับคู่กับโทรศัพท์ iOS แอปจะทำสิ่งต่อไปนี้ได้ ค้นหา API อื่นๆ ในระบบคลาวด์ หากมีการเชื่อมต่ออินเทอร์เน็ต สำหรับข้อมูลเพิ่มเติม ข้อมูลเกี่ยวกับ API อื่นๆ เหล่านี้ โปรดไปที่ การเข้าถึงเครือข่ายและการซิงค์เปิดอยู่ Wear OS

ข้อควรระวัง: เนื่องจาก API ชั้นข้อมูลออกแบบมาเพื่อ การสื่อสารระหว่างอุปกรณ์พกพาและอุปกรณ์ที่สวมใส่ได้ นี่เป็น API เดียวที่คุณสามารถ ใช้เพื่อตั้งค่าการสื่อสารระหว่างอุปกรณ์เหล่านี้ เช่น อย่าพยายาม ซึ่งจะเปิดช่องทางสื่อสารระดับต่ำเพื่อสร้างช่องทางการสื่อสาร

กรณีการใช้งานทั่วไป

Data Layer API มีประโยชน์อย่างยิ่งสำหรับกรณีใช้งานด้านฟิตเนสและสื่อ

แอปฟิตเนส

การส่งข้อมูลการออกกำลังกายจากแอป Wear OS ไปยังแอปบนอุปกรณ์เคลื่อนที่ แอปฟิตเนสมักจะต้อง เขียนข้อมูลการออกกำลังกายที่นาฬิกาบันทึกไว้ ลงในแอปบนอุปกรณ์เคลื่อนที่หรือสุขภาพ เชื่อมต่อ หากใช้ 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 และแอปเดียวกัน ติดตั้งบนอุปกรณ์พกพาที่อยู่ใกล้เคียง:

  • ชื่อแพ็กเกจต้องตรงกันทุกอุปกรณ์
  • ลายเซ็นของแพ็กเกจต้องตรงกันในทุกอุปกรณ์

ไม่มีแอปอื่นๆ ที่มีสิทธิ์เข้าถึงข้อมูลไม่ว่าจะเป็นการเชื่อมต่อประเภทใด

ตั้งค่า

API ชั้นข้อมูลที่สวมใส่ได้มีทรัพยากร Dependency ต่อไปนี้

  • บริการ Google Play เวอร์ชันล่าสุด
  • อุปกรณ์ Wear OS หรือโปรแกรมจำลอง Wear OS

ใส่ทรัพยากร Dependency ต่อไปนี้ในไฟล์ create.gradle ของโมดูล Wear

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:18.2.0")
}

อำนวยความสะดวกในกระบวนการจับคู่เริ่มต้น

Horologist มีไลบรารีตัวช่วยต่างๆ มากมายนอกเหนือจาก API ของแพลตฟอร์ม ข้อมูลนี้ประกอบด้วยไลบรารีชั้นข้อมูลที่ช่วยสร้างการเชื่อมต่อระหว่าง อุปกรณ์เคลื่อนที่และอุปกรณ์ Wear OS นอกจากนี้ยังมี API ที่ใช้งานง่าย ทำสิ่งต่อไปนี้ได้

  • ติดตั้งแอปในอุปกรณ์อีกเครื่อง
  • เปิดแอปในอุปกรณ์อีกเครื่อง
  • เปิดกิจกรรมที่ต้องการบนอุปกรณ์อีกเครื่องหนึ่ง
  • เปิดแอปที่ใช้ร่วมกัน

เข้าถึงชั้นข้อมูล

หากต้องการเรียกใช้ Data Layer API ให้ใช้คลาส Wearable เพื่อรับอินสแตนซ์ของ คลาสไคลเอ็นต์ต่างๆ เช่น DataClient และ MessageClient

สำหรับข้อมูลเพิ่มเติม โปรดดูตัวอย่างชั้นข้อมูล

ใช้ไคลเอ็นต์ให้น้อยที่สุด

หากต้องการสร้างไคลเอ็นต์ โปรดดูโค้ดตัวอย่างต่อไปนี้

Kotlin

val dataClient: DataClient = Wearable.getDataClient(context)

Java

DataClient dataClient = Wearable.getDataClient(context);

บริบทอาจเป็นบริบท Android ที่ถูกต้องแบบใดก็ได้ หากคุณใช้ API ภายใน ขอบเขตของ Activity ให้ใช้เมธอด getDataClient() ของ Wearable วิธีนี้จะช่วยให้การโต้ตอบบางอย่างปรากฏเป็นกล่องโต้ตอบ ไม่ใช่ เช่น เมื่อผู้ใช้ถูกขอให้อัปเดตเวอร์ชันของ Google บริการ Google Play

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