12.4 Distributing Work Apps to Users

Using Android enterprise you can distribute and manage work apps on users’ devices and leave the users’ personal apps under their control. ZENworks distributes these work apps to users through Managed Google Play, which is Android’s app management platform for enterprise users. Subsequently, all app licenses are managed by ZENworks through Managed Google Play.

12.4.1 Approving Apps in Google Play

After creating an Android Enterprise Subscription in ZCC, visit managed Google Play to approve apps for distribution.

The type of apps that are made available for distribution are:

  • Public Apps: : Available to the general public in Google Play.

  • Private Apps: : Customized apps developed for specific enterprise customers. These apps are of two types; Google-hosted private apps and Self-hosted private apps. For more information, see https://developers.google.com/android/work/distribute.

For more information on approving apps, see the managed Google Play Help Center.

As soon as the apps are approved in managed Google Play, ZENworks identifies these apps and populates them in ZCC. Simultaneously, bundles are created for these apps within the Android Enterprise Subscription folder, thereby enabling you to distribute the apps to users. You can view these apps in the Apps Catalog page.

12.4.2 Viewing Approved Apps in ZENworks

The Apps Catalog page in ZCC provides a single view of all the approved Android and iOS apps. To view the Apps Catalog page, click the Mobile Management panel and click the Apps Catalog tab. This page displays the app details, which includes license information and consumption. Using this page, you can also perform the following tasks:

  • Create Bundles: As soon as an Android Enterprise Subscription is configured, bundles for any approved apps are automatically created in ZENworks. However, you can create additional bundles by selecting an app or multiple apps (for each app an individual Android bundle is created) and clicking Action > Create Bundle. If a bundle for the same app already exists, then for the newly created bundle, the Android Enterprise Subscription name is suffixed to the name of the app. For subsequent bundles of the same app, a random GUID number is suffixed to the name of the app.

  • Edit Permissions: You can edit the default Runtime Permissions for specific apps by selecting an app and clicking Action > Edit Permissions. For more information, see Editing App Permissions.

  • Export as CSV: You can export all the app information displayed on this page as a CSV file. Click Export > As CSV. A .ZIP folder is created. This .ZIP folder contains two files; a Summary file which will display all the app information that is already displayed in the summary page and a Details file which displays information such as on which users’ devices the app is installed.

  • Search/Filter: You can filter the data displayed on this page by specifying either the App Name, Publisher, or the Android enterprise account in the search field. You can further filter the data to view apps based on the platform or based on the bundles associated with the apps. For this, click and select the appropriate option.

  • Show/Hide Columns To manage the columns in this page, click and select the columns that need to be displayed on the page. The columns available for display are as follows:

    • App: Displays the name of the app. You cannot hide this column. The following icons might appear against these apps that indicate the following:

      • : Indicates that the app is unapproved by the admin in the Google work store, removed by Google, unpublished by the app developer, or revoked due to permission changes. You will not be able to create bundles for these apps. All existing bundle assignments will be retained and you need to remove these assignments manually, if required. Permissions for unapproved apps cannot be edited in ZCC. Also, any new bundle assignments will not be processed.

      • : Indicates that the app contains permissions or configurations that require your attention. To update the permissions, select the app and click Action > Edit Permissions. To edit the configuration parameters, click the bundle count and navigate to the Details tab of the required bundle.

    • Publisher: Displays the name of the app publisher.

    • Cost: Displays the cost associated with the app.

    • Platform: Displays the app platform.

    • Subscription Name: Displays the name of the Android Enterprise Subscription.

    • Purchased: Displays the number of Android app licenses approved.

    • Consumed: Displays the number of app licenses that are consumed from Google Play. This indicates that the device has synced with the ZENworks Server and the app is sent to the device but might not necessarily mean that the app is installed on the device.

    • Available: Displays the number of unused licenses that are available for consumption.

    • User Licenses Installed: Displays the number of devices on which an app, having a user license, is installed. For example: if a specific app is assigned to a user having three devices associated and if the app is installed on only two devices, then the User License Installed count will be 2. You can select the Export option and view the Details file to identify the devices on which the app is installed.

    • User Licenses Consumed: Displays the number of user licenses that are consumed from Google Play. This indicates that the device associated with the user has synced with the ZENworks Server and the app is sent to the device but might not necessarily mean that the app is installed on the device.

    • Device Licenses Installed: This is not applicable for Android apps.

    • Device Licenses Consumed: This is not applicable for Android apps.

    • Total Apps Installed: Displays the user licenses installed.

    • App Size: This is not applicable for Android apps.

    • iTunes ID: This is not applicable for Android apps.

    • Total Bundles: Displays the number of bundles created for the specific app. You can click the number to view the bundles. To view these bundles you need to have the relevant Bundle Rights assigned to you.

  • Update View: Click to initiate:

    • a sync between the ZENworks Server and the Google server to update the license information.

    This option also revokes unused app licenses in the following scenarios:

    • Mobile device management on the device is disabled.

    • Device enrolled as Managed Device Only is unenrolled from the zone. In case of a user assignment, if the device is the last device associated with the user, then the app licenses are revoked from the user.

    • User does not exist anymore. For Android enterprise apps, this check is performed only during the LDAP server refresh.

    Unused app licenses are revoked when the device syncs with the ZENworks Server. Also, during specific intervals ZENworks automatically revokes unused licenses from devices that cannot sync with the ZENworks Server. However, if you do not want to wait for the device to sync or for ZENworks to automatically revoke licenses, then click to revoke licenses immediately.

12.4.3 Editing App Permissions

ZENworks lets you edit the default runtime permissions of the approved work apps in the Apps Catalog page. Runtime permissions are a set of dangerous permissions as defined by Google. You can edit permissions for apps against which the icon is displayed. This icon indicates that either the runtime permissions or managed configurations require your attention.

To edit the permissions, in the Apps Catalog page, select the app and click Action > Edit Permissions. The Edit Permissions dialog lists all the permissions used by the app. You can edit the Runtime State against each runtime permission. Any customized permissions created by the app developer that does not have a name associated with it, is displayed as a Custom Permission and its value cannot be edited. You can set the following values for the Runtime State:

  • Denied: Automatically denies the permission and the user cannot edit the permission on the device.

  • Granted: Automatically grants the permission and the user cannot edit the permission on the device.

  • Default: Users can manage the permission through the device UI.

If the permissions are not edited in this dialog box, then the permissions as set in the assigned Mobile Device Control Policy will apply. After applying your changes, it will reflect on the device as soon as it syncs with the server. In the future, if the app developer updates the permissions, then these updates will be indicated by the icon.

12.4.4 Managing App Configurations

As a part of the setup process, any work app requires users to specify their email addresses, the port and other configuration settings. Administrators can remotely specify settings for approved apps that are deployed to a work profile. This ensures that the settings are applied automatically as soon as the user launches the app, therefore the user is not required to take any action. To edit an app configuration parameter.

  1. Click Mobile Management > Apps Catalog.

  2. Identify the app against which the icon is displayed. This icon indicates that either app permissions or managed configuration parameters require your attention.

  3. Click the bundle appearing besides this app. Alternatively, you can directly navigate to the Bundles panel by clicking Bundles from the left hand navigation pane. The icon will also appear against the relevant bundles to indicate that the configuration parameters require your attention.

  4. After clicking a bundle, navigate to the Details tab.

  5. Select a parameter and click Edit. The following are displayed in the Edit App Configuration Parameter dialog box.

    • A Title and a Key are displayed.

    • The Type of value that needs to be specified is displayed. The supported value types include boolean, string, integer with a value from MIN_VALUE (-2147483648) to MAX_VALUE (2147483647), choice, multi-select list and bundle array. For the bundle array type, to edit a parameter within a bundle, you need to click the bundle array appearing in the App Configuration Parameters section and drill-down to its parameters. You can also click Add to configure multiple bundles within a bundle array that will include the same parameters as the existing bundle.

      NOTE:The Bundles and bundle arrays feature used within Managed App Configurations is specific to Google and are not related to the Bundles feature in ZENworks. Also, this feature is only supported on Android M (6.0) or later versions. On versions older than Android 6.0, these properties are silently dropped on the devices.

      Also, if the configuration parameters of an app is not in accordance with Google’s guidelines, then these parameters will not be displayed by ZENworks. For more information, see Table 1: Restriction entry types and usage.

    • A short description of the parameter is displayed as provided by the app developer.

    • Specify the corresponding value for the key. You can also specify custom or built-in system variables such as:

      • ${LoginName}: Retrieves the user login name in the configured user source.

      • ${Email}: Retrieves the first email address associated with the user from the user source.

      • ${ActiveSyncLogonName}: Retrieves the ActiveSync logon attribute from the user source. This attribute is used to authenticate to the ActiveSync Server while configuring an email account on the device.

        NOTE:If an incorrect built-in or custom variable is specified, then the bundle will not deploy to the device.

You can also restore the default values set by the app developers for any of the parameters. To do this, select a parameter and click Default on the top panel. The app configuration will be pushed to the device when the app is distributed.

12.4.5 Assigning Android Bundles to Users

Android enterprise bundles can be assigned to only users. ZENworks lets you distribute these apps in two ways:

  • Silently install apps on users’ devices. This can be performed for mandatory apps.

  • Make the app available in Google Play Store on the users’ devices.

To assign apps to users:

  1. Navigate to an Android bundle from the Apps Catalog page. Alternatively, click Bundles in the left hand pane in ZCC.

  2. Select the bundle and click Action > Assign to User.

  3. Select the users to whom this bundle needs to be assigned, in the Select Objects page. Click OK.

  4. Select the schedule based on which the app is installed on the device and click Next. The options are:

    • Next Refresh: Indicates that a notification to install the app is sent to the device on the subsequent refresh of the device. On refresh, the app will be either installed on the device or made available in Google Play Store on the user’s device, which is determined by the selection made in the subsequent checkbox. This is a onetime notification and will not be re-sent by the ZENworks server if the user uninstalls the app

      • Allow users to install from the managed Google Play store: Select this checkbox if you want the app to be made available in Google Play store on the device. Users can install the app whenever needed. If this box is left unchecked, then the app silently installs on the device.

    • Every Refresh: Indicates that a notification to install the app is sent to the device each time a refresh action is performed on the device. On refresh, the app will be installed on the device. If the user uninstalls the app, then again on the next refresh to the ZENworks server, this app will be installed on the device

  5. Review the summary page and click Finish.

All apps are distributed to the devices through managed Google Play. As soon as a licensed app is distributed to the device, managed Google Play updates the app’s license count and sends the information to ZENworks. The updated license count is displayed in the Apps Catalog page. Similarly, when a licensed app is unassigned from a device, managed Google Play revokes the app license and the license information is also updated in the Apps Catalog page in ZENworks.