AI-generated Key Takeaways
-
The Google Play EMM API uses a
Devicesresource to represent managed devices associated with a user. -
Devices can have a
managementTypeofmanagedDevice(entire device managed) ormanagedProfile(only work profile managed). -
Devices with an
unmanagedProfiletype include legacy devices or those not controlled by a DPC that still access managed Google Play. -
The
unmanagedProfiletype allows users on legacy devices to access managed Google Play apps and administrators to see installed work apps. -
User consent to Terms of Service is required before an
unmanagedProfilerecord is created and the device appears in the Google Play EMM API.
The Google Play EMM API includes a Devices resource that represents each entity that’s managed by an EMM and associated with a specific user. At your customer sites, devices are managed using your EMM console and your
device policy controller (DPC). Organizations provide apps to users through
managed Google Play.
Devices and management types
If your DPC manages an entire device, the device has a managementType value of managedDevice. If your DPC manages only the work profile, the device has a managementType of managedProfile , which represents only the managed profile on the physical device. These devices are called “managed devices.”
Devices with an unmanagedProfile management type are called “unmanaged devices,” including:
- Legacy devices that run Android versions earlier than 5.0 or don’t support work profiles.
- Devices that aren’t controlled by a DPC and don’t have
managedDeviceormanagedProfileas their management type. For example, a G Suite administrator at an organization could allow users to add their corporate email accounts to their personal Android devices without setting up a work profile.
What you can do with the unmanagedProfile management type
Using the unmanagedProfile management type, users of legacy devices can get apps through their organizations’ managed Google Play store, and:
- Access private apps that are made available to them using per-user and per-app ACLs.
- Draw down licences from bulk-licensed applications purchased by their business.
- Access managed Google Play to install apps recommended and curated by an administrator.
In addition, administrators can see which work apps are installed on the device.
You can use the unmanagedProfile management type on devices that run Android versions earlier than 5.0 or devices that don’t support work profiles. If a device supports work profiles, use the managedDevice or managedProfile management types.
User consent and managed Google Play
A user has to agree to the Terms of Service (ToS) presented when they attempt to access managed Google Play for the first time. After a user agrees to the ToS:
- An
unmanagedProfilerecord is created in managed Google Play for each unmanaged device a user has. - You can see the devices on the Google Play EMM API.
- The user can install apps in the same way as users whose devices are managed directly by your DPC.
Summary of resources, methods, and management types
| Resource and method           | Description | managedDevice
|
managedProfile |
unmanagedProfile
|
Devices.get
|
Returns a Devices resource that contains details about the device.
|
✔ | ✔ | ✔ |
Devices.getState
|
Retrieves whether a device's access to Google services is enabled or disabled. | ✔ (Google- managed users only) | ✔ (Google- managed users only) | |
Devices.list
|
Retrieves a list of Device resources for the specified userID.
|
✔ | ✔ | ✔ |
Devices.setState
|
Sets whether a device's access to Google services is enabled or disabled. Requires setting up mobile device management for Android devices in the Google Admin console. | ✔ (Google- managed users only) | ✔ (Google- managed users only) | |
Entitlements.delete
|
Removes the entitlement and the app from the device. |
✔ | ✔ | ✔ (the app isn't removed from the device) |
Entitlements.update
|
When invoked with the optional install parameter, attempts to install the app on the device along with assigning the entitlement to the user. | ✔ | ✔ | ✔ |
Installs.get
|
Retrieves the details of an app installation on a device. | ✔ | ✔ | ✔ (limited to apps installed by the work account) |
Installs.list
|
Retrieves the details of all apps installed on a device. | ✔ | ✔ | ✔ (limited to apps installed by the work account) |
Installs.delete
|
Requests to remove an app from a device. | ✔ | ✔ | ✔ |
Installs.update
|
Requests to install the latest app version on a device. | ✔ | ✔ | ✔ |