Phân phối ứng dụng

API EMM của Google Play hỗ trợ các phương thức phân phối sau đây cho ứng dụng công khai và riêng tư:

Tự cài đặt ứng dụng từ Cửa hàng Managed Google Play

Bạn có thể xác định ứng dụng nào có sẵn để người dùng cài đặt trong policy của Device và đặt ứng dụng đó bằng cách gọi Devices.update. Khi cấp phép cho một thiết bị mới, bạn nên đặt chính sách này trước khi thêm Tài khoản Google Play được quản lý vào thiết bị. Nếu không, chính sách này sẽ không được áp dụng trong một khoảng thời gian ngắn sau khi thêm tài khoản vào thiết bị.

Hành vi của Cửa hàng Play được quản lý được xác định bằng giá trị của policy.productAvailabilityPolicy:

  • all: Tất cả các ứng dụng công khai trên Cửa hàng Play đều có sẵn.
  • whitelist: Bạn chỉ có thể dùng những ứng dụng được liệt kê trong policy.productPolicy.

Trong cả hai trường hợp, theo mặc định, tất cả các ứng dụng trong policy.productPolicy đều được thêm vào bố cục cửa hàng của doanh nghiệp. Bố cục cửa hàng của doanh nghiệp là trang chủ của Cửa hàng Play được quản lý khi chọn whitelist. Bạn có thể truy cập vào bố cục này trong thẻ "Ứng dụng công việc" khi chọn all. Bạn có thể cho phép khách hàng tuỳ chỉnh bố cục cửa hàng của doanh nghiệp bằng cách nhúng iframe Managed Google Play (xem bài viết Sắp xếp ứng dụng bằng iframe Managed Google Play).

Cài đặt từ xa ứng dụng trên thiết bị của người dùng

Để cài đặt từ xa (còn gọi là cài đặt đẩy) một ứng dụng trên thiết bị của người dùng, hãy đặt policy.productPolicy.autoInstallPolicy trong policy của Device. Khi cấp phép cho một thiết bị mới, bạn nên đặt chính sách này trước khi thêm Tài khoản Google Play được quản lý vào thiết bị. Nếu không, chính sách này sẽ không được áp dụng trong một khoảng thời gian ngắn sau khi thêm tài khoản vào thiết bị.

Bạn có thể đặt autoInstallMode thành:

  • doNotAutoInstall: Ứng dụng không được cài đặt tự động.
  • autoInstallOnce: Ứng dụng sẽ tự động được cài đặt một lần, nếu người dùng gỡ cài đặt, thì ứng dụng sẽ không được cài đặt lại.
  • forceAutoInstall: Ứng dụng được cài đặt tự động, nếu người dùng gỡ cài đặt, ứng dụng sẽ được cài đặt lại. Trên các thiết bị được quản lý, DPC sẽ chặn gỡ cài đặt bằng cách sử dụng DevicePolicyManager.setUninstallBlocked.

Trong trường hợp không thành công (mất kết nối, thiếu bộ nhớ, v.v.), quá trình cài đặt sẽ tự động được thử lại cho đến khi thành công. Chiến lược thử lại theo thuật toán thời gian đợi luỹ thừa được áp dụng để tránh lãng phí pin và dữ liệu trong trường hợp lỗi không thể khôi phục.

Mức độ ưu tiên cài đặt

Bạn có thể chọn thứ tự cài đặt bằng cách thiết lập autoInstallPriority. Mức độ ưu tiên phải là số nguyên chưa ký và giá trị mặc định là 0. Các ứng dụng sẽ được cài đặt theo thứ tự hoặc mức độ ưu tiên tăng dần, tức là ứng dụng có giá trị ưu tiên thấp hơn sẽ được cài đặt trước.

Các quy tắc ràng buộc đối với hoạt động cài đặt

Bạn có thể đặt các điều kiện ràng buộc cài đặt cho từng ứng dụng bằng cách đặt autoInstallConstraint, cho phép bạn kiểm soát trạng thái bắt buộc của thiết bị trong quá trình cài đặt:

  • xem thiết bị có cần kết nối với mạng Wi-Fi hay không,
  • liệu thiết bị có đang sạc hay không
  • và liệu thiết bị có ở trạng thái rảnh (người dùng không chủ động sử dụng) hay không.

Nếu bạn không đáp ứng các điều kiện ràng buộc ngay lập tức, thì những lượt cài đặt bị ảnh hưởng sẽ được đưa vào hàng đợi cho đến khi đáp ứng các điều kiện ràng buộc.

Trong autoInstallConstraint, quy tắc AND được áp dụng giữa các trường. Ví dụ: với autoInstallConstraint sau đây, thiết bị phải vừa sạc vừa kết nối với một mạng không đo lượng dữ liệu (ví dụ: Wi-Fi) thì mới cài đặt được ứng dụng:

"autoInstallConstraint": [
  "chargingStateConstraint" : "chargingRequired",
  "networkTypeConstraint" : "unmeteredNetwork"
]

Tự động cài đặt ứng dụng trên các thiết bị mới được cấp phép

API EMM của Google Play sẽ gửi thông báo NewDeviceEvent khi thiết bị được cấp phép lần đầu. Để tự động đẩy ứng dụng cài đặt vào các thiết bị mới được cấp phép, hãy theo dõi thông báo của NewDeviceEvent. Từ mỗi NewDeviceEvent, hãy truy xuất userIddeviceId, sau đó gọi Devices.update để đặt chính sách cho thiết bị đó.

Để tìm hiểu cách đăng ký nhận thông báo EMM, hãy xem phần Thiết lập thông báo EMM.

Phân phối ứng dụng cho thử nghiệm khép kín

Quy trình kiểm thử khép kín cho phép nhà phát triển ứng dụng nhận ý kiến phản hồi về các phiên bản ban đầu của ứng dụng từ những người dùng đáng tin cậy. Nhà phát triển có thể thiết lập kiểm thử khép kín trong Google Play Console. Bạn sử dụng API Play EMM để cho phép quản trị viên CNTT phân phối phiên bản khép kín (còn gọi là kênh) của ứng dụng cho người dùng cụ thể. Khách hàng doanh nghiệp của bạn có thể sử dụng tính năng này để không chỉ kiểm thử các ứng dụng của bên thứ ba, mà còn để kiểm thử các ứng dụng riêng tư được phát triển nội bộ.

Ứng dụng đủ điều kiện

Trước khi nhà phát triển thêm một doanh nghiệp vào danh sách người kiểm thử khép kín của một ứng dụng, ứng dụng đó phải đáp ứng các tiêu chí sau:

  • Phiên bản phát hành công khai của ứng dụng đã được phát hành trên Google Play.
  • Trong Google Play Console, bạn có thể bật chế độ Managed Google Play (Google Play được quản lý) trên trang Cài đặt nâng cao của ứng dụng.
  • Mọi phiên bản khép kín của ứng dụng đều đáp ứng các yêu cầu về mã phiên bản.

Thêm doanh nghiệp vào kiểm thử khép kín

Nhà phát triển ứng dụng có thể thêm doanh nghiệp vào các thử nghiệm sử dụng phương thức Thử nghiệm alpha khép kín hoặc Thử nghiệm alpha bằng Google Groups. Để được hướng dẫn, hãy xem hướng dẫn về cách thiết lập kiểm thử công khai, khép kín hoặc nội bộ. Nhà phát triển cần nhập mã tổ chức (còn gọi là mã doanh nghiệp) của từng doanh nghiệp tham gia. Quản trị viên CNTT có thể cung cấp mã nhận dạng của tổ chức họ cho nhà phát triển ứng dụng bên thứ ba bằng cách làm theo các bước sau:

  1. Đăng nhập vào cửa hàng Managed Google Play.
  2. Nhấp vào Cài đặt quản trị viên.
  3. Sao chép chuỗi mã tổ chức từ hộp Thông tin tổ chức rồi gửi cho nhà phát triển.

Yêu cầu bổ sung đối với ứng dụng riêng tư

Đối với các ứng dụng riêng tư, nhà phát triển cũng cần thêm mã tổ chức của từng doanh nghiệp tham gia trong thẻ Managed Google Play trên trang Cài đặt nâng cao của ứng dụng. Để biết hướng dẫn, hãy xem nội dung Phát hành ứng dụng riêng tư.

Phân phối kênh kiểm thử khép kín cho người dùng

Để truy xuất danh sách kênh có sẵn cho doanh nghiệp trong một ứng dụng cụ thể, hãy gọi Products.get. Danh sách appTracks[] có trong phản hồi bao gồm các kênh dành cho từng ứng dụng. appTracks[].trackAlias là tên mà người dùng có thể đọc được của kênh mà bạn có thể hiển thị trong bảng điều khiển của EMM, còn appTracks[].trackId là mã nhận dạng mà máy có thể đọc được của kênh đó.

Để cấp cho người dùng quyền xem kênh khép kín của một ứng dụng, hãy đặt policy.productPolicy[].trackIds[] trong policy của Device. Nếu một thiết bị có nhiều kênh, thì phiên bản có sẵn có mã phiên bản cao nhất sẽ được cài đặt.

Mã theo dõi sẽ tự động bị xoá khỏi lệnh gọi Products.get trong một số trường hợp nhất định, chẳng hạn như sau:

  • APK của kênh được quảng bá lên một kênh khác hoặc lên kênh phát hành công khai.
  • Phiên bản phát hành công khai được cập nhật lên một phiên bản cao hơn phiên bản của kênh.
  • Một nhà phát triển cho dừng kênh này.

Theo dõi giấy phép ứng dụng có tính phí

Đối với các ứng dụng có tính phí, đối tượng Grouplicenses theo dõi số lượng giấy phép mà một doanh nghiệp sở hữu và số lượng giấy phép đang sử dụng. Bạn có thể gọi Grouplicenses.get để lấy thông tin chi tiết về giấy phép cho một ứng dụng.

Trước khi có thể cài đặt một ứng dụng có tính phí trên thiết bị, doanh nghiệp cần có giấy phép cho ứng dụng đó. Nếu có giấy phép, ứng dụng sẽ được cài đặt trên thiết bị và một đối tượng Entitlements sẽ được tạo. Đối tượng Entitlements liên kết giấy phép với người dùng và giảm số lượng giấy phép hiện có cho ứng dụng. Nếu không có giấy phép nào, thì quá trình cài đặt ứng dụng sẽ không thành công và không có đối tượng Entitlements nào được tạo.

Các ứng dụng được phân phối không tính phí sử dụng đối tượng GrouplicensesEntitlements.