Các nhiệm vụ quản lý điển hình

Các EMM có thể triển khai một loạt nhiệm vụ quản lý thông thường trong các giải pháp dành cho Android của doanh nghiệp, chẳng hạn như các nhiệm vụ được trình bày trong hướng dẫn này. Mã mẫu sử dụng Thư viện ứng dụng API EMM của Google Play cho Java®.

Tra cứu người dùng và nhận thông tin chi tiết về người dùng

Nhiều API EMM của Google Play yêu cầu phải có userId (ngoài enterpriseId) để thực hiện một số thao tác liên quan đến người dùng, chẳng hạn như cài đặt ứng dụng, lấy quyền và cấp phép. Một số lệnh gọi yêu cầu một đối tượng người dùng.

Nếu một tổ chức sử dụng Tài khoản Google Play được quản lý, bạn sẽ duy trì liên kết giữa địa chỉ email của người dùng và mã nhận dạng người dùng của các tài khoản đó. Với Tài khoản Google, bạn sử dụng UsersListResponse.

Tra cứu người dùng

Mã mẫu này lấy mã nhận dạng người dùng liên kết với Tài khoản Google. Chính sách này không áp dụng cho các tổ chức sử dụng Tài khoản Google Play được quản lý.

Ví dụ này giả định rằng bạn đã nhập mô hình UserUsersListResponse vào mã của mình. Để có một tài khoản người dùng cụ thể, hãy lấy userId của tài khoản đó bằng cách truyền enterpriseId và email đến UsersListResponse.

public UsersListResponse list(String enterpriseId, String email) throws
   IOException {
    return androidEnterprise
        .users()
        .list(enterpriseId, email)
        .execute();
}

Lấy thông tin chi tiết về người dùng

Sau khi có userId, bạn có thể truy xuất các thông tin chi tiết khác. Vui lòng xem Users.Get.

public User get(String enterpriseId, String userId) throws IOException {
    return androidEnterprise
        .users()
        .get(enterpriseId, userId)
        .execute();
}

Cấp cho người dùng quyền truy cập vào ứng dụng

Bạn có thể sử dụng API EMM của Google Play để kiểm soát những ứng dụng mà người dùng có thể truy cập từ Cửa hàng Managed Google Play. Quyền truy cập vào ứng dụng bao gồm khả năng tìm kiếm, xem, cài đặt và cập nhật ứng dụng. Có 3 cấp truy cập:

  • Chỉ ứng dụng được cho phép: Người dùng chỉ có quyền truy cập vào một số ứng dụng.
  • Tất cả ứng dụng được phê duyệt: Người dùng có quyền truy cập vào tất cả ứng dụng được phê duyệt cho doanh nghiệp.
  • Tất cả ứng dụng: Người dùng có quyền truy cập vào tất cả các ứng dụng được cung cấp công khai trên Cửa hàng Google Play.

Chỉ cấp cho người dùng quyền truy cập vào một số ứng dụng

Ví dụ bên dưới cho biết cách cấp cho người dùng quyền truy cập vào một nhóm ứng dụng cụ thể từ Cửa hàng Managed Google Play. Quy trình này bao gồm các bước sau:

  • Thu thập danh sách productIds (ứng dụng) được phê duyệt cho người dùng (productSet).
  • Chỉ định rằng người dùng chỉ có thể truy cập vào các ứng dụng trong danh sách đã cho bằng cách đặt giá trị của chuỗi productSetBehavior thành "whitelist".
  • Áp dụng danh sách productIds và chế độ cài đặt hành vi cho tập hợp sản phẩm có sẵn của người dùng bằng cách sử dụng setAvailableProductSet.
public ProductSet setProductSet(String enterpriseId, String userId,
    List<String> productIds) throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductId(productIds);
  productSet.setProductSetBehavior("whitelist");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

Cấp cho người dùng quyền truy cập vào tất cả các ứng dụng được phê duyệt

Ví dụ dưới đây cho biết cách cấp cho người dùng quyền truy cập vào bất kỳ ứng dụng nào đã được phê duyệt cho doanh nghiệp trên Cửa hàng Managed Google Play. Quy trình này bao gồm các bước sau:

  • Hãy chỉ định rằng người dùng này có thể truy cập vào tất cả các ứng dụng được phê duyệt cho doanh nghiệp bằng cách đặt giá trị của chuỗi productSetBehavior thành "allApproved".
  • Áp dụng chế độ cài đặt này cho người dùng bằng setAvailableProductSet.
public ProductSet setUserIncludeApprovedApps(String enterpriseId, String userId)
    throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductSetBehavior("allApproved");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

Lưu ý: Khi productSetBehavior được đặt thành "allApproved", bạn không cần chỉ định bất kỳ productIds nào cho productSet.

Cấp cho người dùng quyền truy cập vào tất cả ứng dụng

Ví dụ bên dưới cho biết cách cấp cho người dùng khả năng trong Cửa hàng Google Play được quản lý để truy cập vào bất kỳ ứng dụng nào có sẵn trong Cửa hàng Google Play công khai. Khi mở Managed Google Play, người dùng có quyền truy cập vào tất cả ứng dụng vẫn chỉ thấy bố cục cửa hàng cho doanh nghiệp của họ, nhưng vẫn có thể tìm thấy các ứng dụng khác thông qua tính năng tìm kiếm.

Một số người dùng đáng tin cậy, chẳng hạn như quản trị viên CNTT, có thể yêu cầu cấp truy cập lớn hơn này để kiểm thử và đánh giá ứng dụng trước khi phê duyệt ứng dụng cho doanh nghiệp. Quy trình cấp cho người dùng quyền truy cập vào tất cả các ứng dụng bao gồm các bước sau:

  • Hãy chỉ định rằng người dùng có thể truy cập vào tất cả ứng dụng trong Cửa hàng Google Play bằng cách đặt giá trị của chuỗi productSetBehavior thành "includeAll".
  • Áp dụng chế độ cài đặt này cho người dùng bằng setAvailableProductSet.
public ProductSet setUserIncludeAllApps(String enterpriseId, String userId)
    throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductSetBehavior("includeAll");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

Lưu ý: Khi productSetBehavior được đặt thành "includeAll", bạn không cần chỉ định bất kỳ productIds nào cho productSet.

Tạo bố cục cửa hàng

Sau khi cấp cho người dùng quyền truy cập vào ứng dụng, hãy nhóm các ứng dụng thành nhiều cụm để hiển thị trên trang chủ Cửa hàng Managed Google Play.

Bạn có thể tạo bố cục cửa hàng tuỳ chỉnh duy nhất cho từng khách hàng bằng cách sử dụng API Storelayoutpages Storelayoutclusters. Bố cục thông thường bao gồm một tập hợp các trang và mỗi trang có thể chứa cụm ứng dụng. Bạn có thể đặt các ứng dụng liên quan vào cùng một cụm. Xem bài viết Tạo bố cục cửa hàng tuỳ chỉnh để biết thông tin chi tiết và mã mẫu.

Lấy quyền của ứng dụng

Để thêm ứng dụng vào bố cục cửa hàng tuỳ chỉnh (hoặc tự động cài đặt ứng dụng trên thiết bị của người dùng) và hiển thị ứng dụng để người dùng có thể chọn, quản trị viên phải chấp nhận quyền đối với ứng dụng đó cho toàn bộ tổ chức. Quản trị viên có thể chấp nhận quyền cho ứng dụng và đánh dấu ứng dụng là đã được phê duyệt phân phối trong Managed Google Play Console (xem tổng quan về Managed Google Play).

Tốt nhất là bạn nên nhúng iframe về quyền vào bảng điều khiển EMM. Điều này có nghĩa là người dùng không phải chuyển riêng đến Managed Google Play Console. Sử dụng Products.getApprovalUrl để nhận URL của iframe.

public String getApprovalUrl(String enterpriseId, String productId)
    throws IOException {
  return androidEnterprise
      .products()
      .generateApprovalUrl(enterpriseId, productId)
      .execute()
      .getUrl();
}

Sử dụng Products.approve để chấp nhận các quyền đó.

public void approveProduct(String enterpriseId,
    String productId,
    String approvalUrl) throws IOException {
  ProductsApproveRequest productsApproveRequest =
      new ProductsApproveRequest()
          .setApprovalUrlInfo(
              new ApprovalUrlInfo().setApprovalUrl(approvalUrl));
  androidEnterprise
      .products()
      .approve(enterpriseId, productId, productsApproveRequest)
      .execute();
  }

Lấy thiết bị của người dùng

Để thực hiện các thao tác cụ thể theo thiết bị, bạn cần xác định các thiết bị liên kết với người dùng. Ví dụ này trả về danh sách các thiết bị cho một userID nhất định bằng cách sử dụng DevicesListResponse.

public DevicesListResponse list(String enterpriseId, String userId) throws
   IOException {

    return androidEnterprise
        .devices()
        .list(enterpriseId, userId)
        .execute();
}

Nếu người dùng đồng ý với Điều khoản dịch vụ được đưa ra khi họ cố truy cập vào Managed Google Play lần đầu tiên, thì phản hồi sẽ bao gồm các thiết bị không được quản lý (thiết bị thuộc loại quản lý unmanagedProfile).

Nhận và đặt trạng thái của thiết bị

Công việc quản lý này chỉ áp dụng cho những tổ chức sử dụng Tài khoản Google. Chính sách này không áp dụng cho những tổ chức sử dụng Tài khoản Google Play được quản lý.

Khi Tài khoản Google được quản lý của người dùng được kích hoạt trên một thiết bị được quản lý, quyền truy cập vào các dịch vụ của Google sẽ được bật (hoặc tắt) dựa trên:

  • Trạng thái thiết bị.
  • Liệu quản trị viên miền có thực thi các chính sách EMM (quản lý thiết bị di động doanh nghiệp) hay không (bằng cách đặt Thực thi chính sách EMM trên thiết bị Android trong Bảng điều khiển dành cho quản trị viên của Google).

Nếu bạn tắt tính năng thực thi EMM, thì trạng thái thiết bị sẽ bị bỏ qua và tài khoản sẽ được cấp quyền truy cập vào các dịch vụ của Google bất cứ khi nào tài khoản được kích hoạt trên thiết bị Android. Nếu bạn đã bật tính năng thực thi EMM nhưng trạng thái của thiết bị lại không được bật, thì người dùng sẽ không thể cài đặt ứng dụng từ Google Play và API EMM của Google Play không thể tự động cài đặt ứng dụng cho người dùng đó trên thiết bị.

Ví dụ này cho thấy cách nhận trạng thái của một thiết bị nhất định (được chỉ định bằng cách truyền enterpriseId, userIddeviceId).

Các thao tác getState()setState() chỉ hoạt động trên thiết bị có managementTypemanagedDevice hoặc managedProfile (trên tài nguyên Devices). Bạn không thể kiểm soát thiết bị có managementTypeunmanagedProfile bằng các API này.

public DeviceState getState(String enterpriseId, String userId, String
   deviceId) throws IOException {

    return androidEnterprise
        .devices()
        .getState(enterpriseId, userId, deviceId)
        .execute();
}

Bạn có thể bật hoặc tắt các dịch vụ của Google cho tài khoản trên một thiết bị bằng cách đặt chuỗi AccountState thành hằng số thích hợp.

public DeviceState setState(String enterpriseId, String userId, String
   deviceId, String accountState) throws IOException {

    DeviceState deviceState = new DeviceState();
    deviceState.setAccountState(accountState);

    return androidEnterprise
        .devices()
        .setState(enterpriseId, userId, deviceId, deviceState)
        .execute();
}

Đẩy chế độ cài đặt ứng dụng trên thiết bị

Quản trị viên có thể tự động cài đặt các ứng dụng. Không bắt buộc phải tương tác với người dùng. Ví dụ này sử dụng Installs.Update để tự động cài đặt một ứng dụng (được productId xác định) vào một thiết bị (được xác định bằng deviceId).

public Install update(String enterpriseId, String userId, String
   deviceId, String productId) throws IOException {

    return androidEnterprise
        .installs()
        .update(enterpriseId, userId, deviceId, productId,
           new Install())
        .execute();
}

Nếu ứng dụng đã tồn tại trên thiết bị và có phiên bản đã cập nhật, thì ứng dụng sẽ được cập nhật lên phiên bản mới.

Tìm và tải ứng dụng từ danh sách ứng dụng được phê duyệt

Quản trị viên tạo và quản lý danh sách ứng dụng được phê duyệt và cung cấp cho người dùng của họ trong Managed Google Play. Người dùng sử dụng thiết bị sử dụng thiết bị cá nhân có hồ sơ công việc và người dùng sử dụng thiết bị thuộc trách nhiệm của công ty mà toàn bộ thiết bị do tổ chức quản lý chỉ có thể tải ứng dụng xuống từ danh sách đã phê duyệt này.

Bạn có thể tuỳ chỉnh bảng điều khiển của EMM đó để thêm hộp tìm kiếm. Nhờ đó, quản trị viên chỉ có thể tìm kiếm các ứng dụng trong danh sách ứng dụng được phê duyệt. Chức năng tìm kiếm này chấp nhận các thông số giống như chức năng tìm kiếm tiêu chuẩn trên Managed Google Play, nhưng chỉ tìm kiếm các ứng dụng trong danh sách ứng dụng được phê duyệt.

Ví dụ: nếu quản trị viên muốn chuyển một ứng dụng thuộc danh sách ứng dụng được phê duyệt sang thiết bị thuộc doanh nghiệp của họ, thì họ có thể sử dụng chức năng tìm kiếm này trong bảng điều khiển EMM để tìm ứng dụng đó.

Trong truy vấn, bạn có thể chỉ định số lượng sản phẩm tối đa mà kết quả cần chứa, chẳng hạn như setMaxResults(10L), chỉ đủ để lấp đầy màn hình. Giá trị mặc định là 100, cũng là giá trị tối đa có thể được trả về cùng một lúc. Khi kết quả chứa mã phân trang, bạn có thể truy xuất thêm kết quả bằng cách truyền mã thông báo phân trang.

Ví dụ này cho biết cách nhận được 10 kết quả đầu tiên của một lượt tìm kiếm ứng dụng cải thiện hiệu suất. Vui lòng xem Products.List.

public List searchProducts(String enterpriseId) throws IOException {
  ProductsListResponse executeResult =
      androidEnterprise
          .products()
          .list(enterpriseId)
          .setMaxResults(10L)
          .setQuery("productivity")
          .execute();
  return executeResult.getProduct();
}

Nếu kết quả tìm kiếm chứa mã phân trang, thì trong ví dụ này, lượt tìm kiếm tạo ra nhiều hơn setMaxResults kết quả, hoặc hơn 10 kết quả. Để truy xuất thêm kết quả, hãy thực hiện lại tìm kiếm và đưa mã phân trang vào yêu cầu. Ví dụ này cung cấp 10 kết quả tiếp theo.

public ProductsListResponse continueSearch(
    String enterpriseId, ProductsListResponse previousResponse) throws IOException {
  ProductsListResponse nextResults =
      androidEnterprise
          .products()
          .list(enterpriseId)
          .setMaxResults(10L)
          .setToken(previousResponse.getTokenPagination().getNextPageToken())
          .setQuery("productivity")
          .execute();
  return nextResults;
}