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 cho ứng dụng công khai và riêng tư:

Cài đặt các ứng dụng theo cách thủ công từ cửa hàng Google Play được quản lý

Bạn có thể xác định những ứng dụng mà người dùng có thể cài đặt trong policy của Device và đặt giá trị này bằng cách gọi Devices.update. Thời gian khi cấp phép 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 cho thiết bị, nếu không chính sách sẽ không được áp dụng cho một 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 trên Cửa hàng Play được quản lý được xác định bằng giá trị của policy.productAvailabilityPolicy:

  • all: Mọi ứng dụng công khai trên Cửa hàng Play đều được cung cấp.
  • whitelist: Chỉ những ứng dụng trong policy.productPolicy dùng được.

Trong cả hai trường hợp, theo mặc định, tất 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 whitelist được chọn và có thể truy cập được trong "Ứng dụng công việc" khi chọn all. Bạn có thể cho phép khách hàng của mình tùy chỉnh bố cục cửa hàng của doanh nghiệp bằng cách nhúng Managed Google Play iframe (xem phần Sắp xếp ứng dụng bằng iframe trên 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. Thời gian khi cấp phép 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 cho thiết bị, nếu không chính sách sẽ không được áp dụng cho một 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ẽ được tự động cài đặt một lần, nếu người dùng gỡ cài đặt ứng dụng nhưng ứ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 thì ứ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 khả năng kết nối, thiếu bộ nhớ, v.v.), lượt cài đặt sẽ được đã tự động 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 không thể khôi phục lỗi.

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

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

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

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

  • liệu thiết bị có được kết nối với mạng Wi-Fi hay không
  • liệu thiết bị có nên sạc không,
  • và liệu thiết bị có ở trạng thái rảnh (không được người dùng chủ động sử dụ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ì các 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. Cho Ví dụ: với autoInstallConstraint sau, thiết bị phải đáp ứng cả đang sạc và kết nối với mạng không đo lượng dữ liệu (ví dụ: Wi-Fi) để ứng dụng đã cài đặt:

"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 một thiết bị được cấp phép lần đầu tiên. Để tự động đẩy các ứng dụng cài đặt lên các ứng dụng mới được cấp phép thiết bị, hãy theo dõi thông báo của NewDeviceEvent. Từ mỗi NewDeviceEvent, 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 Thiết lập thông báo EMM.

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

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

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

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

  • Một phiên bản phát hành công khai của ứng dụng đã được xuất bản lên Google Play.
  • Trong Google Play Console, Managed Google Play được bật trong Cài đặt nâng cao.
  • Mọi phiên bản khép kín của ứng dụng đều đáp ứng yêu cầu về mã phiên bản.

Thêm doanh nghiệp vào thử nghiệm 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 pháp Alpha đóng Thử nghiệm hoặc Thử nghiệm alpha bằng Google Groups. Để biết hướng dẫn, hãy xem hướng dẫn về cách thiết lập thử nghiệm 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 được 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 ID của tổ chức 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 mục Cài đặt quản trị viên.
  3. Sao chép chuỗi mã tổ chức trong hộp Thông tin về tổ chức và gửi mã đó 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 ứng dụng doanh nghiệp tham gia vào tab Managed Google Play của trang Cài đặt nâng cao. Để biết hướng dẫn, hãy xem Xuất bản ứng dụng riêng tư.

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

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

Để cho phép người dùng 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 có nhiều kênh phát hành cho một thiết bị, thì phiên bản có sẵn có mã phiên bản cao nhất sẽ được cài đặt.

TrackId sẽ tự động bị xoá khỏi lệnh gọi Products.get trong một số 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 bằng một phiên bản cao hơn kênh phát hành.
  • Một nhà phát triển sẽ dừng kênh.

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 sẽ 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 của một ứng dụng.

Trước khi có thể cài đặt một ứng dụng có tính phí trên một thiết bị, doanh nghiệp cần có giấy phép hiện có cho ứng dụng. Ứng dụng sẽ được cài đặt nếu có giấy phép trên thiết bị và một đối tượng Entitlements được tạo. Entitlements đối tượng liên kết một giấy phép với một 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 không dùng các đối tượng GrouplicensesEntitlements được phân phối mà không mất phí.