Dynamic feature module sử dụng Android App Bundle

Tram Ho

Trong bài viết này, chúng ta sẽ nói về mô-đun tính năng động cho phép chúng ta tách các tính năng và tài nguyên nhất định khỏi mô-đun cơ sở của ứng dụng và đưa chúng vào gói ứng dụng. Thông qua dynamic delivery, người dùng sau đó có thể tải xuống và cài đặt các tính năng sau khi họ đã cài đặt APK cơ bản của ứng dụng.

Để hiểu chi tiết điều này, chúng tôi sẽ xem xét ứng dụng nhạc chuông cơ bản trong đó người dùng có thể phát và đặt nhạc chuông trên điện thoại của họ:

Có một nút fab “About” trong hình ảnh đầu tiên mà chúng tôi thấy hiếm khi được người dùng sử dụng. Vì vậy, thay vì cung cấp tính năng này với base APK, chúng ta sẽ tạo một dynamic feature module riêng biệt trong code cơ sở , nơi sẽ có code chỉ dành cho Giới thiệu. Đối với điều này ,trước tiên ta sẽ thêm một “dynamic feature module”:

Ở bước cuối cùng của quy trình này, hãy kiểm tra cả hai “Enable on-demand” and “Fusing”.
Fusing dành cho các thiết bị trước Lollipop không hỗ trợ dynamic feature module, mô-đun “About” sẽ được cài đặt và tải xuống với base APK:

Sau đó, chúng ta có thể thấy bên dưới chúng ta có mô-đun riêng được thêm vào trong dự án. có một build.gradle khác cũng như manifest file.

Và đừng quên thiết lập mối quan hệ với base module:

Bây giờ, đã đến lúc để xem code tải xuống và cài đặt module About. Ta sẽ xử lý chức năng này trong onclick của nút About:

Và trong onCreate () của MainActivity của tính năng cơ bản:

Chúng tôi cần phải có một listener khi yêu cầu cài đặt tính năng About về trong đoạn code đầu tiên:

Nhưng chờ đã, chúng tôi đã bỏ lỡ một tên phương thức onSuccessfulLoad (), hãy thêm implementation này:

Điều này sẽ khởi chạy tính năng MainActivity của tính năng Giới thiệu về chúng tôi. Lần đầu tiên có thể mất một chút thời gian để khởi chạy vì tải xuống theo yêu cầu nhưng sau đó, nó sẽ hoạt động như một cơ duyên.

Lợi ích đáng kể của mô-đun tính năng động này là nó làm giảm kích thước của ứng dụng vì chúng tôi đang cung cấp các tính năng bổ sung theo yêu cầu.

Và, điểm quan trọng cần lưu ý là chúng tôi sẽ tải lên gói ứng dụng (.aab) thay vì .apk cho giao hàng này.

Nguồn : https://medium.com/mindorks/dynamic-feature-module-using-android-app-bundle-d5b163aaf91d

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo