Tổng quan về Data Layer API (API Lớp dữ liệu)

Nút dựa trên đám mây được kiểm soát bởi một máy chủ thuộc sở hữu của Google
Hình 1. Một mạng mẫu gồm các nút với thiết bị cầm tay và thiết bị Wear OS.

API Lớp dữ liệu trên thiết bị đeo là một phần của Dịch vụ Google Play, cung cấp một kênh liên lạc giữa các thiết bị đeo (chẳng hạn như đồng hồ thông minh) và các thiết bị cầm tay được kết nối (thường là điện thoại thông minh). Đây là một cách để đồng bộ hoá và truyền dữ liệu giữa các thiết bị.

Lưu ý: API này chỉ có trên đồng hồ Wear OS và các thiết bị Android được ghép nối. Đối với đồng hồ Wear OS được ghép nối với điện thoại iOS, ứng dụng có thể truy vấn các API khác trên đám mây nếu có kết nối Internet. Để biết thêm thông tin về các API khác này, hãy truy cập vào bài viết Quyền truy cập mạng và đồng bộ hoá trên Wear OS.

Thận trọng: Vì các API lớp dữ liệu được thiết kế để giao tiếp giữa thiết bị cầm tay và thiết bị đeo, nên bạn chỉ có thể sử dụng các API này để thiết lập hoạt động giao tiếp giữa các thiết bị này. Ví dụ: đừng cố mở ổ cắm cấp thấp để tạo kênh giao tiếp.

Các trường hợp sử dụng phổ biến

Data Layer API đặc biệt hữu ích cho các trường hợp sử dụng liên quan đến hoạt động thể dục và nội dung nghe nhìn.

Ứng dụng thể dục

Gửi dữ liệu bài tập từ ứng dụng Wear OS đến ứng dụng di động Các ứng dụng Thể dục thường cần ghi dữ liệu bài tập mà đồng hồ ghi lại vào một ứng dụng di động hoặc vào Health Connect. Nếu dùng Data Layer API để chuyển dữ liệu, hãy dùng ứng dụng nhắn tin để gửi dữ liệu bài tập từ ứng dụng Wear OS đến ứng dụng di động nhằm ghi vào Health Connect.

Truyền dữ liệu trực tiếp đến thiết bị di động trong lúc tập luyện tại nhà

Một tình huống tập luyện tại nhà thường gặp là truyền dữ liệu nhịp tim từ thiết bị Wear OS đến thiết bị di động và cho người dùng thấy thông tin nhịp tim mới nhất trên màn hình thiết bị di động của họ. Để truyền trực tuyến dữ liệu này, hãy sử dụng một máy khách kênh.

Ứng dụng đa phương tiện

Để điều khiển một trình phát nội dung nghe nhìn thông qua thao tác tạm dừng/tiếp tục/bắt đầu/kết thúc từ đồng hồ sang điện thoại, hãy sử dụng một máy khách tin nhắn.

Các lựa chọn liên lạc

Dữ liệu được chuyển theo một trong những cách sau:

  1. Trực tiếp, khi đã có kết nối Bluetooth giữa thiết bị Wear OS và một thiết bị khác.
  2. Qua mạng có sẵn, chẳng hạn như LTE hoặc Wi-Fi, bằng cách sử dụng một nút mạng trên máy chủ của Google làm trung gian.

Tất cả ứng dụng Lớp dữ liệu đều có thể trao đổi dữ liệu qua Bluetooth hoặc qua đám mây, tuỳ thuộc vào loại kết nối có trên thiết bị. Giả sử tại một thời điểm nào đó, dữ liệu được truyền tại Lớp dữ liệu có thể sử dụng máy chủ do Google sở hữu.

Bluetooth

Khi các thiết bị được kết nối bằng Bluetooth, Lớp dữ liệu sẽ sử dụng loại kết nối này. Dịch vụ Google Play quản lý một kênh mã hoá (bằng phương thức mã hoá Bluetooth tiêu chuẩn) duy nhất giữa các thiết bị.

Đám mây

Dữ liệu sẽ tự động được định tuyến qua Google Cloud khi không có Bluetooth. Tất cả dữ liệu được chuyển thông qua Google Cloud đều được mã hoá hai đầu.

Bảo mật thông tin liên lạc

Dịch vụ Google Play thực thi các hạn chế sau đây để cung cấp thông tin liên lạc an toàn hơn giữa ứng dụng được cài đặt trên thiết bị Wear OS và ứng dụng tương tự được cài đặt trên thiết bị cầm tay ở gần:

  • Tên gói phải giống nhau trên các thiết bị.
  • Chữ ký của gói phải giống nhau trên các thiết bị.

Không có ứng dụng nào khác có quyền truy cập vào dữ liệu, bất kể loại kết nối.

Thiết lập

API Lớp dữ liệu trên thiết bị đeo có các phần phụ thuộc sau:

Đưa phần phụ thuộc sau đây vào tệp build.gradle của mô-đun Wear:

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

Tạo điều kiện thuận lợi cho quy trình ghép nối ban đầu

Horologist cung cấp một số thư viện trợ giúp dựa trên các API nền tảng. Thư viện này bao gồm một thư viện lớp dữ liệu giúp thiết lập kết nối giữa thiết bị di động và thiết bị Wear OS. Ngoài ra, nó còn cung cấp các API tiện lợi để làm những việc sau:

  • Cài đặt ứng dụng trên thiết bị khác.
  • Khởi chạy ứng dụng trên thiết bị kia.
  • Khởi chạy một hoạt động cụ thể trên thiết bị kia.
  • Khởi chạy ứng dụng đồng hành.

Truy cập vào lớp dữ liệu

Để gọi Data Layer API, hãy sử dụng lớp Wearable để nhận các phiên bản của nhiều lớp ứng dụng, chẳng hạn như DataClientMessageClient.

Để biết thêm thông tin, hãy tham khảo mẫu DataLayer.

Sử dụng một ứng dụng tối giản

Để tạo một ứng dụng khách, hãy xem đoạn mã ví dụ sau:

Kotlin

val dataClient: DataClient = Wearable.getDataClient(context)

Java

DataClient dataClient = Wearable.getDataClient(context);

Ngữ cảnh có thể là bất kỳ ngữ cảnh Android hợp lệ nào. Nếu bạn đang sử dụng API trong phạm vi của Activity, hãy sử dụng phương thức getDataClient() của lớp Wearable. Điều này cho phép một số lượt tương tác nhất định xuất hiện dưới dạng hộp thoại thay vì thông báo, chẳng hạn như khi người dùng được yêu cầu cập nhật phiên bản Dịch vụ Google Play.

Theo mặc định, lệnh gọi lại đến trình nghe được thực hiện trên luồng giao diện người dùng chính của ứng dụng. Để có các lệnh gọi lại được thực hiện trên một luồng khác, hãy sử dụng đối tượng WearableOptions để chỉ định Looper tuỳ chỉnh:

Kotlin

runBlocking {
    Wearable.getDataClient(context, options)
}

Java

WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build();
DataClient dataClient = Wearable.getDataClient(context, options);

Để biết thêm thông tin, hãy xem tài liệu tham khảo về WearableOptions.Builder.

Tạo lại các phiên bản ứng dụng nếu cần

Các ứng dụng API dành cho thiết bị đeo, chẳng hạn như DataClientMessageClient, không tốn kém khi tạo. Vì vậy, thay vì giữ lại các ứng dụng, hãy tạo lại chúng khi bạn cần, bằng cách sử dụng kiểu phù hợp với ứng dụng của bạn.

Trạng thái của ứng dụng (chẳng hạn như tập hợp trình nghe đã đăng ký) sẽ được chia sẻ trên mọi ứng dụng và được giữ nguyên nếu bạn cập nhật Dịch vụ Google Play trong lúc ứng dụng đang chạy.