Khi ứng dụng của bạn phát triển, các bản phát hành mới có thể gây ra thay đổi có thể gây lỗi cho API phụ trợ, giải quyết các lỗ hổng bảo mật nghiêm trọng hoặc thay thế các dịch vụ và mô hình AI không còn được dùng nữa. Trong những trường hợp này, các phiên bản ứng dụng cũ có thể ngừng hoạt động một cách đáng tin cậy hoặc an toàn.
Khi sử dụng Remote Config, bạn có thể kiểm soát các yêu cầu về phiên bản ứng dụng một cách linh động từ đám mây. Bằng cách xác định các tham số phiên bản trong Remote Config, bạn có thể nhắc hoặc yêu cầu người dùng cập nhật ứng dụng mà không cần triển khai cơ sở hạ tầng máy chủ tuỳ chỉnh hoặc phát hành bản cập nhật khẩn cấp.
Chọn chiến lược cập nhật
Remote Config cung cấp các tham số phiên bản để đánh giá trên ứng dụng, cho phép bạn định cấu hình giao diện người dùng cập nhật của ứng dụng cho một trong hai chiến lược tuỳ thuộc vào mức độ nghiêm trọng của thay đổi:
- Bản cập nhật bắt buộc (chặn): Nếu phiên bản ứng dụng cũ hơn không tương thích với phần phụ trợ của bạn hoặc gây ra rủi ro bảo mật, thì bạn có thể chặn quyền truy cập vào ứng dụng cho đến khi người dùng cập nhật. Khi phiên bản đã cài đặt cũ hơn phiên bản tối thiểu bắt buộc, bạn có thể định cấu hình ứng dụng để hiển thị một hộp thoại không thể đóng, hướng người dùng đến cửa hàng ứng dụng của nền tảng để cài đặt phiên bản mới nhất.
- Bản cập nhật linh hoạt (không bắt buộc): Nếu bản cập nhật giới thiệu các tính năng mới, cải thiện hiệu suất hoặc bản sửa lỗi nhỏ, bạn có thể định cấu hình ứng dụng để hiển thị biểu ngữ hoặc lời nhắc có thể đóng, khuyến khích người dùng cập nhật khi thuận tiện trong khi vẫn cho phép họ tiếp tục sử dụng ứng dụng.
Bước 1: Định cấu hình các tham số trong bảng điều khiển Firebase
Để quản lý các phiên bản ứng dụng, hãy xác định các tham số trong mẫu Remote Config:
- Trong bảng điều khiển Firebase, hãy chuyển đến trang DevOps & Engagement (DevOps và Mức độ tương tác) > Remote Config (Cấu hình từ xa) > Parameters (Tham số).
- Nhấp vào Thêm tham số (hoặc Tạo cấu hình nếu đây là tham số đầu tiên của bạn).
- Xác định các tham số sau:
minimum_version: Một chuỗi đại diện cho phiên bản được hỗ trợ sớm nhất của ứng dụng (ví dụ:"2.4.0"). Các ứng dụng chạy phiên bản cũ hơn giá trị này sẽ bị chặn cho đến khi được cập nhật.latest_version(không bắt buộc): Một chuỗi đại diện cho phiên bản mới nhất hiện có của ứng dụng (ví dụ:"2.5.1"). Các ứng dụng đang chạy phiên bản từminimum_versionđếnlatest_versioncó thể hiển thị đề xuất cập nhật không bắt buộc.update_url(không bắt buộc): URL của cửa hàng nơi người dùng có thể tải bản cập nhật xuống (chẳng hạn như trang thông tin của bạn trên Cửa hàng Google Play hoặc Apple App Store).
- Không bắt buộc: Thêm điều kiện dành riêng cho nền tảng:
- Vì ứng dụng Android và Apple thường sử dụng các phiên bản phát hành và URL cửa hàng khác nhau, nên bạn có thể thêm giá trị có điều kiện cho từng nền tảng trong cùng một tham số.
- Nhấp vào Thêm giá trị cho điều kiện > Tạo điều kiện. Đặt tên cho điều kiện (chẳng hạn như
Android ApphoặciOS App), chọn Ứng dụng làm quy tắc nhắm mục tiêu, rồi chọn ứng dụng của bạn. - Đặt chuỗi phiên bản thích hợp cho từng điều kiện nền tảng và giữ giá trị mặc định làm giá trị dự phòng.
- Nhấp vào Lưu, rồi nhấp vào Xuất bản thay đổi để áp dụng mẫu.
Bước 2: Triển khai quy trình kiểm tra phiên bản phía máy khách
Trên ứng dụng, hãy kiểm tra phiên bản ứng dụng cần cài đặt so với các tham số Remote Config trong quá trình khởi động:
- Đặt giá trị mặc định trong ứng dụng: Luôn cung cấp giá trị mặc định an toàn trong ứng dụng trong gói ứng dụng (ví dụ: đặt
minimum_versionthành bản phát hành ứng dụng ban đầu, chẳng hạn như"1.0.0"). Cấu hình dự phòng này đảm bảo rằng ứng dụng của bạn tiếp tục hoạt động bình thường nếu thiết bị không có mạng hoặc yêu cầu tìm nạp ban đầu không thành công. Để biết hướng dẫn dành riêng cho nền tảng, hãy xem bài viết Tải mẫu mặc định của Remote Config xuống. - Tìm nạp và kích hoạt Remote Config: Tìm nạp và kích hoạt các giá trị mẫu mới nhất khi ứng dụng của bạn khởi động.
So sánh các phiên bản: Truy xuất chuỗi
minimum_versionvàlatest_versionđang hoạt động rồi so sánh với phiên bản ứng dụng hiện được cài đặt.Thực hiện hành động dựa trên kết quả so sánh phiên bản:
- Thực thi bản cập nhật bắt buộc: Nếu
current_versionsớm hơnminimum_version, hãy hiển thị cảnh báo phương thức toàn màn hình, không thể đóng. Tắt tính năng điều hướng đến phần còn lại của ứng dụng và cung cấp một nút mởupdate_urltrong cửa hàng ứng dụng của nền tảng. - Nhắc cập nhật không bắt buộc: Nếu
current_versionsớm hơnlatest_version, hãy hiển thị một hộp thoại hoặc thông báo có thể đóng để cho người dùng biết rằng có bản cập nhật, kèm theo các lựa chọn Cập nhật ngay hoặc Để sau. - Cho phép truy cập: Nếu không, hãy cho phép người dùng tiếp tục truy cập vào ứng dụng.
- Thực thi bản cập nhật bắt buộc: Nếu
Các phương pháp hay nhất
- Thêm trình nghe theo thời gian thực: Khi cần cập nhật phiên bản do vấn đề bảo mật hoặc trải nghiệm người dùng bị suy giảm nghiêm trọng, việc thêm trình nghe Remote Config theo thời gian thực vào ứng dụng có thể giúp đảm bảo rằng các thay đổi về yêu cầu phiên bản sẽ có hiệu lực ngay lập tức trên các thiết bị đang hoạt động mà không cần chờ lần tìm nạp theo lịch tiếp theo hoặc lần khởi động lại ứng dụng tiếp theo.
- Thử nghiệm với một nhóm thử nghiệm giới hạn: Trước khi tăng
minimum_versioncho tất cả người dùng chính thức, hãy thử nghiệm điều kiện này với một nhóm thử nghiệm giới hạn hoặc nhắm đến người thử nghiệm nội bộ bằng cách sử dụng các thuộc tính tuỳ chỉnh của người dùng. Quá trình kiểm thử này xác minh rằng phương thức chặn hiển thị chính xác và các đường liên kết đến cửa hàng hoạt động đúng cách. - Sử dụng API cập nhật trong ứng dụng của nền tảng: Trên Android, hãy cân nhắc việc tích hợp Tính năng cập nhật trong ứng dụng của Google Play cùng với các quy trình kiểm tra Remote Config để cho phép người dùng tải xuống và cài đặt bản cập nhật mà không cần rời khỏi ứng dụng của bạn.
- Đọc danh sách kiểm tra cho môi trường phát hành công khai: Đọc danh sách kiểm tra khi phát hành của Firebase và danh sách kiểm tra cho môi trường phát hành công khai của AI Logic để biết thêm hướng dẫn về cách chuẩn bị ứng dụng và các tính năng AI cho môi trường phát hành công khai.