Android Management API - Seamless update of a kiosk app

411 Views Asked by At

I've read the Management API documentation and I think there's no reference to this topic, I didn't find any information about it here on SO either.

We're analyzing EMM solution providers for provisioning devices with a set of applications, trying to understand if they cover all our needs, or as a last resort we might come up with a custom implementation.

Can we control policies to be enforced on the devices only within a given time window? Specially at what times applications updates are allowed? I know system updates can be controlled, so I was wondering if I missed something in the docs.

We need to have control over that because we don't want to disrupt the UX on the devices when a new app update is available, especially in our launcher app. We have one main application running in KIOSK mode, with a few other apps accessible from within that kiosk app. The UX is really important, so app updates must be seamless - right now, updates are managed through a DO application that handles a few scenarios, one of which is checking for available app updates, downloading and applying them (the applications are not publicly available in Google Play Store at the moment). When the launcher updates, the DO application takes its place on screen during the update, providing the end user custom visual feedback about what's happening, and when the update is done the kiosk app takes control of the screen again.

So imagine one user has the kiosk app opened on his device, and we distribute a new version for it. When the policy is enforced, is it likely that the app would be abruptly closed for updating? Would it update only if not in use? Will we need to keep custom logic for ensuring a smooth update, and if so, how can we know an update will take place inside our app, since policies are enforced by a 3rd party application?

1

There are 1 best solutions below

0
On

SystemUpdate can also be used for updating your app within the desired window hours, you can setup this by setting your SystemUpdateType to WINDOWED, and change the setting of startMinutes to your desired time (the start of the maintenance window, measured as the number of minutes after midnight in the device's local time. This value must be between 0 and 1439, inclusive.)

"systemUpdate": 
{
"type": "WINDOWED", 
"startMinutes": 0, 
"endMinutes": 1439 
}