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) mang đến các giải pháp cho các tổ chức để quản lý thiết bị Android và các ứng dụng đã cài đặt trên đó. Những giải pháp này thường có sẵn dưới dạng bảng điều khiển web, được gọi là bảng điều khiển EMM. Sử dụng EMM bảng điều khiển, quản trị viên CNTT thực hiện các công việc quản lý thiết bị và ứng dụng thay mặt cho tổ chức.

Ứng dụng nhắm đến các tổ chức doanh nghiệp có thể gửi phản hồi cho bộ phận EMM dưới dạng trạng thái khoá của ứng dụng. Nhà quản lý thiết bị di động doanh nghiệp (EMM) có thể sử dụng các API để truy xuất dữ liệu trạng thái ứng dụng đã được khoá, mà sau đó họ có thể hiển thị trong bảng điều khiển EMM của mình. 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 các ứng dụng đã cài đặt những thiết bị mà họ quản lý.

Ví dụ: ứng dụng email khách có thể dùng các trạng thái ứng dụng có khoá để xác nhận rằng 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 bất kỳ các nội dung 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 cho 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 của ứng dụng. Tối đa 1000 ký tự. Lưu ý: Thông thường, các thông báo phải ngắn hơn đáng kể so với giới hạn này.
  • Dữ liệu: Giá trị mà máy có thể đọc không bắt buộ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ị. Ví dụ: quản trị viên CNTT có thể hãy thiết lập cảnh báo nếu trường dữ liệu battery_percentage < 10. Tối đa 1000 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 là SEVERITY_ERROR để biết các điều kiện lỗi thực sự mà tổ chức cần thực hiện hành động để khắc phục.
  • Dấu thời gian: Khi bạn thiết lập một trạng thái ứng dụng có khoá, 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ý, nên gửi trạng thái ứng dụng chính để cập nhật cho quản trị viên CNTT trên trạng thái của các cấu hình mà chúng đã đặt. Quy trình làm việc mẫu sau mô tả một cách để làm việc này.

trạng thái ứng dụng được khoá 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 ứng dụng được cài đặt trên thiết bị được quản lý hoàn toàn hoặc bên trong hồ sơ công việc. Ví dụ:
    • Âm lượng: "50%"
    • Đơn vị tiền tệ: 'USDD'
  2. Ứng dụng sẽ cố gắng áp dụng các cấu hình. Đã đặt xong âm lượng đến 50%, nhưng mã đơn vị tiền tệ không hợp lệ nên không thể áp dụng.
  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 có khoá. Mỗi trạng thái của ứ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 ở mức 50% SEVERITY_INFO 1554461130
    currency Đơn vị tiền tệ "USDD" không nhận dạng được SEVERITY_ERROR 1554461130
  4. Nhà cung cấp EMM truy xuất các trạng thái ứng dụng có khoá do ứng dụng thiết lập và hiển thị 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 ở mức 50% Không ngày 5 tháng 4 năm 2019; 10:45:30 SA
    Đơn vị tiền tệ LỖI: Đơn vị tiền tệ "USDD" không nhận dạng được. ngày 5 tháng 4 năm 2019; 10:45:30 SA

    Nhà cung cấp dịch vụ EMM cũng phải gắn cờ rõ ràng mọi trạng thái nhận được 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 của họ và thực hiện hành động để khắc phục mọi lỗi trong cấu hình mà họ đã đặt.

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

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

  • Cùng một khoá làm thông báo lỗi ban đầu.
  • Mức độ nghiêm trọng của SEVERITY_INFO, cho biết rằng trạng thái không gặp lỗi và không yêu cầu tổ chức phải thực hiện thêm biện pháp xử lý.

Thêm tính năng hỗ trợ cho các trạng thái được khoá của ứng dụng 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 khoá của ứng dụng vào ứ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 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 về doanh nghiệp vào tệp build.gradle cấp mô-đun

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

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

Bước 3: Tải một thực thể của KeyedAppStatesReporter

Trong phương thức onCreate(), hãy nhận và lưu trữ một thực thể của KeyedAppStatesReporter. Việc này sẽ kích hoạt một kênh liên lạc giữa ứng dụng của bạn và các 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 trạng thái ứng dụng được khoá

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

  • Tuyệt đối không đưa thông tin nhận dạng cá nhân (PII) vào một trạng thái – trạng thái của ứng dụng chính thì không phù hợp với dữ liệu nhạy cảm.
  • Duy trì trạng thái của ứng dụng được khoá trong giới hạn đã xác định trong MAX_KEY_LENGTH! MAX_MESSAGE_LENGTH, và MAX_DATA_LENGTH.
  • Một lệnh gọi setStates hoặc setStatesImmediate bị giới hạn ở tổng dung lượng là 300 KB (khoảng 1/3 tổng số có thể được lưu trữ mỗi ngày). Việc vượt quá giá trị này sẽ dẫn đến hành vi không xác định.
  • Chỉ đặt mức độ nghiêm trọng của trạng thái thành SEVERITY_ERROR nếu xảy ra một điều kiện mà tổ chức cần thực hiện hành động để 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 giải quyết để EMM có thể ngừng gắn cờ trong bảng điều khiển của họ.
  • Đối với trạng thái theo dõi, hãy sử dụng cùng một key làm khoá trạng thái ban đầu trả về lỗi và đặt mức độ nghiêm trọng thành SEVERITY_INFO.

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

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á cho ứng dụng

setStates() phương thức gửi ngay các trạng thái ứng dụng đã khoá đến ứng dụng Cửa hàng Play (tên gói: com.android.vending) nếu phiên bản này đượ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 kiểm thử chi tiết, vui lòng xem nội dung Kiểm thử phản hồi về ứng dụng.