The first best practice was to visit us at one of our FileWave Conference sessions and listen to the topics about VPP - and I'm not saying that just because I was part of the talks ;).
More seriously, a few items to take into account - I'm sure some Alliance members will have more details to share:
1. it takes time. a lot of time. Today, we can convert 16 licenses at once, and it takes roughly 1-2 seconds when everything goes well. If Apple services are loaded, we get an error, wait 5 seconds, then we retry. I haven't checked recently, but a few month ago converting 10 000 licences for one app took 1 and an half hour.
Knowing that and the fact we run the assignment via our MDM server which relies on apache requests, which have timeouts, if you take all licenses and convert all of them, you may have troubles if it takes longer than the default time out.
So best practice is to do it app by app (depends on how many licenses you own, of course).
There is a command line option on the MDM server to do it "outside" apache request, so it won't be killed by apache timeouts if it's too long:
not that user friendly, but it usually does the job.
2. double check that:
- your app is device assignable (inventory can tell you). Not all apps can do it.
- all your devices are iOS 9.0 and higher. I know some customers are sending mails AND pushing webclips with label like "UPGRADE IF YOU STILL WANT TO USE THAT DEVICE". I've been told that users seeing a full iOS dock entry with those webclips tend to upgrade more quickly than the ones just reading the mail.
3. Client Info is your best Troubleshooting friend. There you can see if apps could not be installed because missing license (even if sometimes the error message returned by iOS is not so clear).
4. Apps may be removed from iTunes but are still in your VPP account. Apple is not 100% clear on how it works after that (there is a grace period during which you can still download the app, and then it disappears). If you have troubles as well, search for the itunes id, it may tell you the app is not available anymore.
We're having open feature requests with Apple to have a better understanding (because we don't know exactly if the app is not there / not installable). If you have an Apple Care support and hit the issue, you're more than encouraged to report this too.
Thanks for the info I have started on a couple of those.
Can you give me the steps to convert an app or license to Device instead of User? I thought there was a check box on the app but I don't see it. I am running 10.1.1
The option is on the association itself, not on the application:
There is also an option in the preferences to choose if by default the license distribution mode should be user or device.
The reason it's on the association level is that it ease transition time until everybody has upgraded to iOS 9 - so you can deploy the same fileset either via device license for iOS 9 devices or via user for older devices.
It should not really matter if you do it in the same model update session.
We usually proceed this way: after you run model update, we compute all "manifests" (i.e. what needs to be on which device) ; this will be used by both desktop and mobile devices.
Once all manifests are in place on MDM side, we "compute license":
1. we look at the current state of your licenses (which ones are used by which user/itunes account or device)
2. we compute the expected new state based on all manifests which have been created by model update
3. we send requests to Apple VPP Web service to go from 1. to 2.
so if you convert an app from user to device based, we will see that you now have let say 20 user based licenses, but now after model update you need 20 device based licenses. So we will send to Apple requests to free the 20 user licenses and create 20 device licenses (there is no "convert" command, it's remove or add).
Apple will tell us the first time we connect how many we can send at once (as said, today it's 16 associations + 16 disassociations), so we will send 2 requests, 1 for the 16 "remove user" + 16 "add device" and the 2nd one for the remaining 4. And this is per iTunes app.
So if you change the license mode or if you, in the same model update, remove all associations or even filesets and recreate everything, that will be the same, as we will look the initial step and then the expected result.
Now, if you first remove all associations or filesets, we will first send requests to free all user licenses (without any device association at the same time), and then we will send requests to create new licenses for devices. So roughly doubling the number of requests.