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

Nút dựa trên đám mây do một máy chủ của Google kiểm soát
Hình 1. Một mẫu mạng gồm các nút có 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 kênh liên lạc giữa thiết bị đeo (như đồng hồ thông minh) và thiết bị cầm tay được kết nối (thường là điện thoại thông minh). Đó là một cách để đồng bộ hoá và chuyể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à thiết bị Android đã 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 Tính năng truy cập mạng và đồng bộ hoá đang bật Wear OS.

Thận trọng: Bởi vì 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, đây là những API duy nhất mà bạn có thể sử dụng để thiết lập liên lạc giữa các thiết bị này. Ví dụ: đừng cố gắng mở ổ cắm cấp thấp để tạo kênh liên lạc.

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

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

Ứng dụng thể dục

Việc gửi dữ liệu tập thể dục từ ứng dụng Wear OS sang ứng dụng di động Các ứng dụng thể dục thường cần ghi dữ liệu tập thể dục do đồng hồ thu thập vào ứng dụng di động hoặc vào ứng dụng Sức khoẻ Kết nối. Nếu sử dụng API Lớp dữ liệu để chuyển dữ liệu, hãy sử dụng ứng dụng nhắn tin để gửi dữ liệu tập thể dục từ ứng dụng Wear OS đến ứng dụng di động để ghi dữ liệu vào Health Connect.

Truyền trực tuyến dữ liệu trực tiếp đến thiết bị di động trong khi tập thể dục tại nhà

Một trường hợp phổ biến khi tập thể dục tại nhà là truyền trực tuyến dữ liệu nhịp tim qua thiết bị Wear OS một thiết bị sang một thiết bị di động và hiển thị thông tin cập nhật về nhịp tim cho người dùng 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 dùng ứng dụng của kênh.

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

Để điều khiển trình phát nội dung đa phương tiệ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ồ đến điện thoại, sử dụng ứng dụng nhắn tin.

Các cách giao tiếp

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, sử dụng nút mạng trên máy chủ của Google làm bên 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 sử dụng đám mây, tuỳ thuộc vào kết nối có sẵn trên thiết bị. Giả sử dữ liệu được truyền bằng Lớp dữ liệu tại một thời điểm nào đó 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. Có một kênh mã hoá duy nhất giữa các thiết bị, sử dụng chuẩn Mã hoá Bluetooth, do Dịch vụ Google Play quản lý.

Đám mây

Dữ liệu được định tuyến tự động 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 để mang lại khả năng bảo mật cao hơn hoạt động giao tiếp giữa ứng dụng cài đặt trên thiết bị Wear OS và cùng một ứng dụng 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 này 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 vào tệp build.gradle của mô-đun Wear:

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

Tạo điều kiện cho quá trình ghép nối ban đầu

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

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

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

Để gọi API Lớp dữ liệu, hãy sử dụng lớp Wearable để nhận các thực thể của các lớp ứng dụng khác nhau, 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, hãy xem 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 Wearable . Điều này cho phép một số tương tác nhất định xuất hiện dưới dạng hộp thoại thay vì dưới dạng các 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 Google 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 một 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 cho thiết bị đeo, chẳng hạn như DataClientMessageClient, không tốn kém. Vì vậy, thay vì giữ lại khách hàng, hãy tạo lại họ như bạn cần chúng, bằng cách sử dụng phong cách phù hợp với ứng dụng của bạn.

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