Tin tức về sản phẩm

Đưa Androidify lên Wear OS bằng tính năng Đẩy mặt đồng hồ

3 phút đọc
Garan Jenkin
Kỹ sư quan hệ nhà phát triển

 

 

Vài tháng trước, chúng tôi đã ra mắt lại Androidify dưới dạng một ứng dụng để tạo bot Android được cá nhân hoá. Androidify biến đổi ảnh selfie của bạn thành một bot Android vui nhộn bằng Gemini và Imagen.

Tuy nhiên, do Android có nhiều kiểu dáng thiết bị, bao gồm cả kiểu dáng thiết bị mới nhất là XR, nên chúng tôi đã nghĩ: làm thế nào để mang niềm vui của Androidify lên Wear OS?

Mặt đồng hồ Androidify

Vì bot Androidify được cá nhân hoá cao, nên nơi thích hợp nhất để giới thiệu chúng là mặt đồng hồ. Đây không chỉ là bề mặt hiển thị thường xuyên nhất mà còn là bề mặt mang tính cá nhân nhất, cho phép bạn thể hiện bản thân.

demonstration.gif

Mặt đồng hồ Androidify được cá nhân hoá, tạo từ ảnh selfie

Androidify hiện có khả năng tạo mặt đồng hồ một cách linh hoạt trong ứng dụng điện thoại, sau đó gửi mặt đồng hồ đó đến đồng hồ của bạn. Tại đó, mặt đồng hồ sẽ tự động được đặt làm mặt đồng hồ. Tất cả quá trình này chỉ diễn ra trong vài giây!

Thiết kế cao cấp

image.png

Quy trình từ đầu đến cuối để tạo và cài đặt mặt đồng hồ

Để đạt được trải nghiệm từ đầu đến cuối, bạn cần kết hợp một số công nghệ, như minh hoạ trong sơ đồ thiết kế cấp cao này.

Trước hết, hình đại diện của người dùng được kết hợp với một mẫu Định dạng mặt đồng hồ có sẵn, sau đó được đóng gói thành một APK. APK này được xác thực – vì những lý do sẽ được giải thích! – và được gửi đến đồng hồ.

Khi được đồng hồ nhận, API Đẩy mặt đồng hồ mới – một phần của Wear OS 6 – sẽ được dùng để cài đặt và kích hoạt mặt đồng hồ.

Hãy cùng khám phá thông tin chi tiết:

Tạo mẫu mặt đồng hồ

Mặt đồng hồ được tạo từ một mẫu, bản thân mẫu này được thiết kế trong Watch Face Designer.Đây là trình bổ trợ Figma mới của chúng tôi, cho phép bạn tạo Định dạng mặt đồng hồ mặt đồng hồ ngay trong Figma.

image.png

Mẫu mặt đồng hồ Androidify trong Watch Face Designer

Trình bổ trợ cho phép xuất mặt đồng hồ theo nhiều cách khác nhau, bao gồm cả dưới dạng tài nguyên Định dạng mặt đồng hồ (WFF). Sau đó, bạn có thể dễ dàng kết hợp các tài nguyên này dưới dạng thành phần trong ứng dụng Androidify để tạo mặt đồng hồ hoàn chỉnh một cách linh hoạt.

Đóng gói và xác thực

Sau khi kết hợp mẫu và hình đại diệnBộ công cụ trình biên dịch thành phần di động (Pack) sẽ được dùng để tạo một APK.

Trong Androidify, Pack được dùng làm thư viện gốc trên điện thoại.Để biết thêm thông tin chi tiết về cách Androidify tương tác với thư viện Pack, hãy xem kho lưu trữ GitHub.

Là bước cuối cùng trước khi truyền, APK sẽ được trình xác thực Đẩy mặt đồng hồ kiểm tra.

Trình xác thực này kiểm tra để đảm bảo APK phù hợp để cài đặt. Quá trình này bao gồm việc kiểm tra nội dung của APK để đảm bảo đó là một mặt đồng hồ hợp lệ, cũng như một số kiểm tra hiệu suất. Nếu hợp lệ, thì trình xác thực sẽ tạo ra một mã thông báo.

Đồng hồ cần có mã thông báo này để cài đặt.

Gửi mặt đồng hồ

Ứng dụng Androidify trên Wear OS sử dụng WearableListenerService để theo dõi các sự kiện trên Lớp dữ liệu trên thiết bị đeo.

Ứng dụng điện thoại chuyển mặt đồng hồ bằng cách kết hợp MessageClient để thiết lập quy trình, sau đó là ChannelClient để truyền trực tuyến APK.

Cài đặt mặt đồng hồ trên đồng hồ

Sau khi nhận được mặt đồng hồ trên thiết bị Wear OS, ứng dụng Androidify sẽ sử dụng API Đẩy mặt đồng hồ mới để cài đặt mặt đồng hồ:

  val wfpManager = 

    WatchFacePushManagerFactory.createWatchFacePushManager(context)

val response = wfpManager.listWatchFaces()



try {

    if (response.remainingSlotCount > 0) {

        wfpManager.addWatchFace(apkFd, token)

    } else {

        val slotId = response.installedWatchFaceDetails.first().slotId

        wfpManager.updateWatchFace(slotId, apkFd, token)

    }

} catch (a: WatchFacePushManager.AddWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

} catch (u: WatchFacePushManager.UpdateWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

}

Androidify sử dụng phương thức addWatchFace hoặc updateWatchFace, tuỳ thuộc vào tình huống: Đẩy mặt đồng hồ xác định khái niệm về "vị trí" – số lượng mặt đồng hồ mà một ứng dụng nhất định có thể cài đặt tại bất kỳ thời điểm nào. Đối với Wear OS 6, giá trị này thực tế là 1.

Phương pháp của Androidify là cài đặt mặt đồng hồ nếu có một vị trí trống. Nếu không, mọi mặt đồng hồ hiện có sẽ được thay thế bằng mặt đồng hồ mới.

Đặt mặt đồng hồ đang hoạt động

Cài đặt mặt đồng hồ theo phương thức lập trình là một bước quan trọng, nhưng Androidify muốn đảm bảo mặt đồng hồ cũng là mặt đồng hồ đang hoạt động. 

Tính năng Đẩy mặt đồng hồ giới thiệu một quyền khi bắt đầu chạy mới mà bạn phải cấp để các ứng dụng có thể đạt được điều này:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

Sau khi có được quyền này, bạn có thể gọi phương thức wfpManager.setWatchFaceAsActive() để đặt một mặt đồng hồ đã cài đặt làm mặt đồng hồ đang hoạt động.

Tuy nhiên, Androidify phải giải quyết một số vấn đề cần cân nhắc:

  • Bạn chỉ có thể sử dụng setWatchFaceAsActive một lần.
  • Bạn không thể yêu cầu lại SET_PUSHED_WATCH_FACE_AS_ACTIVE sau khi người dùng từ chối.
  • Androidify có thể đã kiểm soát mặt đồng hồ đang hoạt động.

Để biết thêm thông tin chi tiết, hãy xem cách Androidify triển khai logic đặt hoạt động.

Bắt đầu sử dụng tính năng Đẩy mặt đồng hồ cho Wear OS

Đẩy mặt đồng hồ là một API linh hoạt, phù hợp với việc cải thiện Androidify cũng như xây dựng các thị trường mặt đồng hồ có đầy đủ tính năng.

Có lẽ bạn có một ứng dụng điện thoại hiện có và đang tìm kiếm cơ hội để thu hút và làm hài lòng người dùng hơn nữa?

Hoặc có lẽ bạn là một nhà phát triển mặt đồng hồ hiện có đang muốn tạo cộng đồng và thư viện của riêng mình thông qua việc phát hành một ứng dụng thị trường?

Hãy xem các tài nguyên sau:

Ngoài ra, hãy xem video đi kèm để tìm hiểu kỹ hơn về cách chúng tôi đưa Androidify lên Wear OS!

Chúng tôi rất mong chờ những tác phẩm sáng tạo của bạn với tính năng Đẩy mặt đồng hồ!

Tác giả:

Tiếp tục đọc