Tạo ứng dụng Wear OS cho Trung Quốc

Khi tạo ứng dụng Wear OS cho Trung Quốc, bạn cần tính đến điện thoại di động không cài đặt sẵn Dịch vụ Google Play. Trang này chứa các thay đổi phổ biến mà các nhà phát triển có thể cần phải áp dụng cho thị trường Trung Quốc.

Sử dụng đúng phiên bản Dịch vụ Google Play

Dịch vụ Google Play phiên bản 10.2.0 cung cấp dịch vụ hỗ trợ trên toàn thế giới cho API Trình cung cấp vị trí kết hợpAPI Lớp dữ liệu. Bạn phải dùng phiên bản này của Dịch vụ Google Play nếu sử dụng những API này để đảm bảo có thể hỗ trợ nhiều thiết bị Wear OS ở Trung Quốc hơn. Phần phụ thuộc này là không bắt buộc đối với các trường hợp khác.

Lưu ý: Mặc dù các dịch vụ Google Play chứa API cho ứng dụng Wear OS, nhưng các ứng dụng Wear OS dành cho Trung Quốc vẫn nên tiếp tục sử dụng các API liên quan đến GoogleApiClient; hãy xem phần Truy cập Wearable API (API cho thiết bị đeo).

API Trình cung cấp vị trí kết hợp

Nếu bạn sử dụng API Trình cung cấp vị trí kết hợp, hãy đưa phần phụ thuộc sau vào tệp build.gradle của mô-đun Wear OS:

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-location:10.2.0'
}

Kotlin

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

Data Layer API (API Lớp dữ liệu)

Nếu ứng dụng của bạn dùng API Lớp dữ liệu, thì bạn cần thêm dòng sau vào tệp build.gradle của mô-đun Wear OS. Dòng này yêu cầu bạn phải sử dụng phiên bản 10.2.0 của thư viện ứng dụng.

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
    ...
}

Kotlin

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

Thêm dòng sau vào tệp build.gradle của mô-đun cho thiết bị di động. Thay thế phần phụ thuộc Dịch vụ Google Play bằng một tệp tham chiếu đến phiên bản 10.2.0.

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
}

Kotlin

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

Xác thực

Trước khi triển khai quá trình xác thực, hãy xem lại các trường hợp sử dụng của bạn để xem liệu quá trình xác thực có thực sự cần thiết hay không. Ví dụ: đối với một ứng dụng cung cấp tính năng dự báo thời tiết, có thể bạn sẽ không cần phải đăng nhập để xác thực.

Nếu cần yêu cầu xác thực thì bạn nên dùng thư viện AndroidX Oauth. Bạn cần sử dụng quy trình Cấp mã uỷ quyền bằng PKCE. Bạn cũng có thể sử dụng một trong những phương thức khác được mô tả trong phần Xác thực trên thiết bị đeo. Bạn không nên sử dụng Thư viện hỗ trợ thiết bị đeo.

Để biết thêm thông tin, hãy xem bài viết Wear OS OAuth Sample (Mẫu OAuth cho Wear OS) trên GitHub.

Thông báo cầu nối

Thông báo cầu nối không được hỗ trợ ở Trung Quốc. Thông báo trên điện thoại chỉ được kết nối với Wear OS nếu thiết bị Wear OS được kết nối với điện thoại qua Bluetooth.

Khả năng tương thích với vị trí và toạ độ liên kết

Sử dụng FusedLocationProvider (FLP) để phát hiện vị trí của người dùng ở Trung Quốc, giống như cách bạn làm ở các nơi khác trên thế giới. Việc này đảm bảo ứng dụng của bạn xem xét thông tin tốt nhất bất kể phần cứng đồng hồ và nền tảng điện thoại mà đồng hồ đang ghép nối. Việc sử dụng FLP cũng giúp tối ưu hoá pin được tích hợp sẵn trong nền tảng Wear OS.

Khi tích hợp FusedLocationProvider với SDK bản đồ của bên thứ ba, hãy tính đến khả năng tương thích toạ độ giữa các nhà cung cấp. FusedLocationProvider báo cáo vị trí theo tiêu chuẩn WGS84. Hãy nhớ chuyển đổi hệ thống toạ độ khi thích hợp.

Hỗ trợ Google Fit

Bộ đếm bước tích luỹ, số phút vận động và điểm nhịp tim của Google Fit được hỗ trợ ở Trung Quốc với nhật ký lưu trữ lên đến 7 ngày. Bạn có thể truy cập vào tệp này mà không cần cung cấp thông tin đăng nhập của người dùng.

Hỗ trợ thao tác bằng giọng nói

Nền tảng Wear OS cung cấp một số ý định bằng giọng nói dựa trên các thao tác của người dùng, chẳng hạn như _"Hiển thị nhịp tim"_ hoặc _"Đặt chuông báo"_. Điều này cho phép người dùng nói việc họ muốn làm và cho phép hệ thống tìm ra hoạt động phù hợp nhất để bắt đầu.

Khi người dùng nói một thao tác bằng giọng nói, ứng dụng của bạn có thể lọc ý định được kích hoạt để bắt đầu một hoạt động. Để bắt đầu một dịch vụ trong nền, hãy hiển thị một hoạt động dưới dạng chỉ dẫn hình ảnh và bắt đầu dịch vụ đó trong hoạt động. Hãy nhớ gọi finish() để loại bỏ tín hiệu hình ảnh.

Dưới đây là danh sách các ý định bằng giọng nói mà nền tảng Wear OS hỗ trợ:

Danh mục Ví dụ Thông số kỹ thuật của ý định
Gọi xe 打车去三里屯 Hành động

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Thông tin khác

to: điểm đến được xác nhận

Thông tin bổ sung này không bắt buộc.

Đặt chuông báo 设置一个明早七点的闹钟 Hành động

android.intent.action.SET_ALARM

Thông tin khác

android.provider.AlarmClock.EXTRA_HOUR: một số nguyên thể hiện giờ báo thức

android.provider.AlarmClock.EXTRA_MINUTES: một số nguyên thể hiện phút báo thức

Thông tin bổ sung này là không bắt buộc. Bạn có thể không cung cấp, cung cấp một trong hai hoặc cung cấp cả hai thông tin bổ sung này.

Hẹn giờ 设置一个三分钟的倒计时 Hành động

android.intent.action.SET_TIMER

Thông tin khác

android.provider.AlarmClock.EXTRA_LENGTH: một số nguyên trong khoảng từ 1 đến 86400 (số giây trong 24 giờ) thể hiện thời lượng của bộ tính giờ

Bắt đầu đồng hồ bấm giờ 开始计时 Hành động

com.google.android.wearable.action.STOPWATCH

Bắt đầu hoặc dừng việc đạp xe 开始骑车 Hành động

vnd.google.fitness.TRACK

Loại Mime

vnd.google.fitness.activity/biking

Thông tin khác

actionStatus: một chuỗi có giá trị ActiveActionStatus khi bắt đầu và có giá trị CompletedActionStatus khi dừng lại

Bắt đầu hoặc dừng chạy 开始跑步 Hành động

vnd.google.fitness.TRACK

Loại Mime

vnd.google.fitness.activity/running

Thông tin khác

actionStatus: một chuỗi có giá trị ActiveActionStatus khi bắt đầu và có giá trị CompletedActionStatus khi dừng lại

Bắt đầu hoặc dừng một bài tập thể dục 开始锻炼 Hành động

vnd.google.fitness.TRACK

Loại Mime

vnd.google.fitness.activity/other

Thông tin khác

actionStatus: một chuỗi có giá trị ActiveActionStatus khi bắt đầu và có giá trị CompletedActionStatus khi dừng lại

Hiển thị nhịp tim 查看心率 Hành động

vnd.google.fitness.VIEW

Loại Mime

vnd.google.fitness.data_type/com.google.heart_rate.bpm

Hiển thị số bước 查看步数 Hành động

vnd.google.fitness.VIEW

Loại Mime

vnd.google.fitness.data_type/com.google.step_count.cumulative

Điều hướng 导航去三里屯 Hành động

android.intent.action.VIEW

Dữ liệu

geo:latitude,longitude?q=融科资讯中心

Trợ lý thoại cũng có thể sử dụng các ý định phổ biến của Android hiện có để kích hoạt một số hành vi nhất định (nếu có).

Hỗ trợ trình mô phỏng

Bạn có thể sử dụng phiên bản Trung Quốc của hình ảnh trình mô phỏng Wear OS để thử nghiệm ứng dụng. Tính năng này được Android Studio 3.0 trở lên hỗ trợ.

Để kiểm thử ứng dụng trên phiên bản của trình mô phỏng ở Trung Quốc, hãy làm theo các bước sau:

  1. Cài đặt Trình mô phỏng Android.
  2. Tải hình ảnh Wear OS cho Trung Quốc xuống từ trình quản lý SDK. Sử dụng phiên bản cho Wear OS 3.5 (API cấp 30).
  3. Chọn hình ảnh Wear OS cho Trung Quốc khi tạo hồ sơ AVD.
  4. Chạy trình mô phỏng Wear OS cho Trung Quốc để phát triển.
  5. Hình 1. Ví dụ về phiên bản trình mô phỏng Wear OS cho Trung Quốc.

Phiên bản trình mô phỏng Wear OS này đi kèm với một số ứng dụng cài sẵn:

  • Chế độ môi trường xung quanh
  • Danh bạ
  • Google Handwriting Input
  • Dịch vụ Google Play
  • Dịch vụ sức khoẻ dành cho Wear OS
  • Nhận dạng cụm từ kích hoạt cho thiết bị LE
  • Pinyin
  • Cửa hàng Play (được điều chỉnh cho phù hợp với các thiết bị ở Trung Quốc)
  • Pocketwatch
  • TalkBack
  • Mặt đồng hồ (cả phiên bản analog và kỹ thuật số)
  • Các dịch vụ chính trên Wear

Bắt đầu kênh Wi-Fi và Bluetooth dành riêng cho ứng dụng

Wear OS tự động định tuyến các yêu cầu về mạng. Trong hầu hết các trường hợp, việc mở kênh Bluetooth và Wi-Fi dành riêng cho ứng dụng là không bắt buộc.

Nếu một ứng dụng yêu cầu kênh Bluetooth và Wi-Fi dành riêng cho ứng dụng ở Trung Quốc, thì yêu cầu đó sẽ tự động không thành công. Thay vào đó, một hộp thoại sẽ xuất hiện yêu cầu người dùng xác nhận. Nếu người dùng xác nhận thì kênh sẽ mở ra. Quá trình này sẽ diễn ra mỗi lần người dùng xác nhận chứ không chỉ trong lần sử dụng đầu tiên. BluetoothAdapter.enable() hoặc WifiManager.setEnabled(true) sẽ được gọi.

Lưu ý: Để một ứng dụng nhắm đến Android 10 (API cấp 29) trở lên gọi WifiManager.setEnabled(), ứng dụng đó phải là ứng dụng hệ thống hoặc trình kiểm soát chính sách thiết bị (DPC).

Chế độ xem xét quyền

Tại Trung Quốc, các thiết bị Wear OS cho Trung Quốc chạy ở Chế độ xem xét quyền. Chế độ này áp dụng một số giới hạn về cách dùng các ứng dụng có targetApiLevel thấp hơn 23. Xem lại các giới hạn sau:

  • Mặc dù quyền được cấp tại thời điểm cài đặt, nhưng trong lần đầu tiên một ứng dụng có targetApiLevel thấp hơn 23 được kích hoạt, một hộp thoại sẽ xuất hiện và yêu cầu người dùng xác nhận quyền cho ứng dụng này.
  • Các thành phần trong ứng dụng, chẳng hạn như broadcast receiver, dịch vụ và hoạt động sẽ không phản hồi các sự kiện tương ứng trước khi ứng dụng được sử dụng lần đầu tiên.

Do đó, bạn nên sử dụng targetApiLevel 23 trở lên và áp dụng các phương pháp hay nhất về quyền cho ứng dụng.

Sử dụng các API khác của Dịch vụ Google Play

Nếu ứng dụng của bạn dùng API Dịch vụ Google Play thay vì API cho Thiết bị đeo, thì ứng dụng cần kiểm tra xem các API này có dùng được trong thời gian chạy và phản hồi đúng cách hay không. Có hai cách để kiểm tra phạm vi cung cấp của API Dịch vụ Google Play:

  1. Sử dụng một thực thể GoogleApiClient riêng biệt để kết nối với các API khác. Giao diện này chứa các lệnh gọi lại để thông báo cho ứng dụng của bạn về việc kết nối thành công hoặc lỗi kết nối. Trong trường hợp không kết nối được, ConnectionResult sẽ hiển thị API_UNAVAILABLE. Để tìm hiểu cách xử lý các lỗi kết nối, hãy xem bài viết Truy cập các API của Google.
  2. Hãy sử dụng phương thức addApiIfAvailable() của GoogleApiClient.Builder để kết nối với các API bắt buộc. Sau khi lệnh gọi lại onConnected() kích hoạt, hãy dùng phương thức hasConnectedApi() để đảm bảo rằng mỗi API được yêu cầu đều được kết nối chính xác.

Phân phối ứng dụng tại Trung Quốc

Để tiếp cận người dùng Wear OS ở Trung Quốc một cách hiệu quả, bạn có thể phân phối thông qua các cửa hàng ứng dụng Wear OS của bên thứ ba như sau: