Gửi phản hồi về ứng dụng cho EMM

Nhà cung cấp giải pháp quản lý di động dành cho doanh nghiệp (EMM) cung cấp các giải pháp cho các tổ chức để quản lý thiết bị Android và ứng dụng được cài đặt trên đó. Các giải pháp này thường được cung cấp dưới dạng bảng điều khiển web, hay còn gọi là bảng điều khiển EMM. Bằng cách sử dụng bảng điều khiển EMM, quản trị viên CNTT thay mặt tổ chức của họ thực hiện các công việc quản lý thiết bị và ứng dụng.

Các ứng dụng nhắm đến tổ chức doanh nghiệp có thể gửi ý kiến phản hồi cho EMM dưới dạng trạng thái ứng dụng theo khoá. EMM có thể sử dụng các API để truy xuất dữ liệu trạng thái ứng dụng đã khoá. Sau đó, các API này có thể hiển thị trong bảng điều khiển của EMM. Kênh liên lạc này cho phép quản trị viên CNTT nhận phản hồi về trạng thái của những ứng dụng đã cài đặt trên thiết bị mà họ quản lý.

Ví dụ: ứng dụng email khách có thể sử dụng các trạng thái ứng dụng được khoá để xác nhận rằng một tài khoản đã được định cấu hình thành công, báo cáo khi xảy ra lỗi đồng bộ hoá hoặc gửi mọi thông tin cập nhật trạng thái khác mà nhà phát triển ứng dụng cho là phù hợp.

Các thành phần của trạng thái ứng dụng được khoá

Trạng thái ứng dụng được khoá bao gồm:

  • Khoá: Giá trị nhận dạng duy nhất của trạng thái ứng dụng. Tối đa 100 ký tự.
  • Thông báo: Thông báo không bắt buộc để mô tả trạng thái ứng dụng. Tối đa 1.000 ký tự. Lưu ý: Thông thường, các thư phải ngắn hơn đáng kể so với thời lượng này.
  • Dữ liệu: Giá trị tuỳ chọn mà máy có thể đọc được dành cho EMM để cho phép quản trị viên CNTT thiết lập cảnh báo hoặc bộ lọc dựa trên giá trị này. Ví dụ: Quản trị viên CNTT có thể thiết lập cảnh báo nếu trường dữ liệu battery_percentage < 10. Tối đa 1.000 ký tự.
  • Mức độ nghiêm trọng: Mức độ nghiêm trọng của trạng thái ứng dụng. Các giá trị được phép là SEVERITY_ERRORSEVERITY_INFO (mặc định). Chỉ đặt mức độ nghiêm trọng thành SEVERITY_ERROR đối với các tình trạng lỗi thực sự mà tổ chức cần khắc phục.
  • Timestamp (Dấu thời gian): Khi đặt trạng thái khoá ứng dụng, trạng thái đó sẽ tự động được gửi kèm theo dấu thời gian tính bằng mili giây kể từ thời gian bắt đầu của hệ thống.

Gửi ý kiến phản hồi về cấu hình được quản lý

Nếu ứng dụng của bạn hỗ trợ cấu hình được quản lý, thì bạn nên gửi các trạng thái ứng dụng chính như một cách để cập nhật trạng thái của cấu hình họ đã đặt. Quy trình mẫu sau đây mô tả một cách thực hiện việc này.

trạng thái ứng dụng chính cho cấu hình được quản lý
  1. Quản trị viên CNTT sử dụng bảng điều khiển EMM để thiết lập và gửi cấu hình được quản lý cho một ứng dụng được cài đặt trên thiết bị được quản lý hoàn toàn hoặc trong hồ sơ công việc. Ví dụ:
    • Âm lượng: "50%"
    • Đơn vị tiền tệ: "USDD"
  2. Ứng dụng cố gắng áp dụng các cấu hình đó. Bạn đã đặt thành công số lượng thành 50%, nhưng mã đơn vị tiền tệ không hợp lệ nên không thể áp dụng được.
  3. Dựa trên trạng thái của từng cấu hình, ứng dụng sẽ đặt trạng thái ứng dụng theo khoá. Mỗi trạng thái ứng dụng được khoá chứa một khoá duy nhất và một thông báo kèm theo thông tin chi tiết về trạng thái. Bạn nên so khớp khoá cấu hình được quản lý nếu có thể. Ví dụ:
    Khoá Thông điệp Mức độ nghiêm trọng Dấu thời gian
    volume Đặt thành 50% SEVERITY_INFO 1554461130
    currency Không nhận dạng được đơn vị tiền tệ "USDD" SEVERITY_ERROR 1554461130
  4. Nhà cung cấp dịch vụ EMM truy xuất các trạng thái ứng dụng được khoá do ứng dụng đặt và hiển thị các trạng thái đó trong bảng điều khiển EMM. Ví dụ:
    Cấu hình Trạng thái Việc cần làm Giờ
    Âm lượng Đặt thành 50% Không ngày 5 tháng 4 năm 2019; 10:45:30 sáng
    Đơn vị tiền tệ LỖI: Không nhận dạng được đơn vị tiền tệ 'USDD'. ngày 5 tháng 4 năm 2019; 10:45:30 sáng

    Nhà cung cấp EMM cũng phải gắn cờ rõ ràng mọi trạng thái đã nhận bằng SEVERITY_ERROR cho quản trị viên CNTT. Quản trị viên CNTT có thể xem thông tin trong bảng điều khiển EMM và có biện pháp khắc phục mọi lỗi trong cấu hình mà họ đã thiết lập.

Báo cáo lỗi đã giải quyết

Sau khi khắc phục lỗi, hãy gửi ngay trạng thái ứng dụng theo dõi để ngăn EMM hiển thị thông báo lỗi vô thời hạn. Trạng thái theo dõi này phải bao gồm:

  • Có cùng khoá như thông báo lỗi ban đầu.
  • Mức độ nghiêm trọng của SEVERITY_INFO, cho biết trạng thái không gặp lỗi và tổ chức không cần làm gì thêm.

Thêm tính năng hỗ trợ cho các trạng thái ứng dụng được khoá vào ứng dụng

Dưới đây là các bước mô tả cách tích hợp các trạng thái ứng dụng chính trong ứng dụng.

Bước 1: Thêm kho lưu trữ Maven của Google vào tệp settings.gradle

Thêm kho lưu trữ Maven của Google làm vị trí kho lưu trữ trong tệp settings.gradle của dự án, như minh hoạ dưới đây:

dependencyResolutionManagement {
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
       google()
  }
}

Bước 2: Thêm thư viện phản hồi dành cho doanh nghiệp vào tệp build.gradle cấp mô-đun

Thêm phần phụ thuộc sau đây vào tệp build.gradle ở cấp mô-đun:

dependencies {
    implementation 'androidx.enterprise:enterprise-feedback:1.0.0'
}

Bước 3: Lấy một thực thể của KeyedAppStatesReporter

Trong phương thức onCreate(), hãy lấy và lưu trữ một thực thể của KeyedAppStatesReporter. Việc này giúp tạo ra một kênh liên lạc giữa ứng dụng của bạn và nhà cung cấp dịch vụ EMM.

Kotlin

val reporter = KeyedAppStatesReporter.create(context)

Java

KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);

Bước 4: Tạo một tập hợp các trạng thái ứng dụng chính

Hãy làm theo các phương pháp hay nhất dưới đây khi tạo trạng thái ứng dụng chính:

  • Đừng bao giờ đưa thông tin nhận dạng cá nhân (PII) vào trạng thái – trạng thái ứng dụng được khoá sẽ không phù hợp với dữ liệu nhạy cảm.
  • Duy trì các trạng thái chính của ứng dụng trong giới hạn đã xác định trong MAX_KEY_LENGTH, MAX_MESSAGE_LENGTHMAX_DATA_LENGTH.
  • Một lệnh gọi setStates hoặc setStatesImmediate chỉ được có tổng dung lượng là 300 KB (khoảng 1/3 tổng số cuộc gọi có thể được lưu trữ mỗi ngày). Nếu vượt quá giới hạn này, sẽ dẫn đến hành vi không xác định.
  • Chỉ đặt mức độ nghiêm trọng của một trạng thái thành SEVERITY_ERROR nếu có một tình trạng mà tổ chức cần khắc phục.
  • Khi gửi trạng thái ứng dụng có chứa lỗi, hãy đảm bảo rằng bạn cũng gửi trạng thái theo dõi khi lỗi đã được khắc phục để EMM có thể ngừng gắn cờ lỗi trong bảng điều khiển của họ.
  • Đối với trạng thái tiếp theo, hãy sử dụng cùng một khoá như trạng thái ban đầu trả về lỗi và thiết lập mức độ nghiêm trọng thành SEVERITY_INFO.

Đoạn mã dưới đây sẽ tạo một tập hợp các trạng thái ứng dụng chính:

Kotlin

    val states = hashSetOf(KeyedAppState.builder()
             .setKey("key")
             .setSeverity(KeyedAppState.SEVERITY_INFO)
             .setMessage("message")
             .setData("data")
             .build())
    

Java

    Collection states = new HashSet<>();
    states.add(KeyedAppState.builder()
     .setKey("key")
     .setSeverity(KeyedAppState.SEVERITY_INFO)
     .setMessage("message")
     .setData("data")
     .build());
    

Bước 5: Đặt trạng thái khoá của ứng dụng

Phương thức setStates() sẽ ngay lập tức gửi trạng thái ứng dụng chính đến ứng dụng Cửa hàng Play (tên gói: com.android.vending) (nếu ứng dụng đã được cài đặt trên thiết bị), cũng như bất kỳ quản trị viên nào của thiết bị hoặc hồ sơ công việc.

Kotlin

keyedAppStatesReporter.setStates(states)

Java

keyedAppStatesReporter.setStates(states);

Kiểm thử trạng thái ứng dụng được khoá

Để biết hướng dẫn chi tiết về kiểm thử, hãy xem bài viết Phản hồi về kiểm thử ứng dụng.