Migrate to custom App

We would like to find a way to migrate a public app to a new custom app distributed via Apple Business Manager. As we understand, this is currently not possible.

One idea discussed with your team would be to generate a code in the (old) public app, which would then be used to activate a discounted version of the custom app allowing customers to make the move.

For this idea to work, we would also need to disable the public app, once the code was generated.

Another idea would be to use some proof of purchase (electronic receipt?) to do something similar, again the question is how to disable the old version. Otherwise the customer would have two licenses.

We are talking a fairly large number of licenses to migrate, so this should also be as smooth as possible.

Looking for more ideas to achieve the goal: Move an existing app to a new custom app under Business Manager.

Replies

I can confirm you are correct and it is not possible to migrate users from a public app to a custom app. When thinking about a possible solution, keep in mind that there are only two ways for a user to get a custom app onto their device. Either their employer or institution purchases licenses or redemption codes on the user's behalf and then pushes the license with MDM, or manually distributes the code to each user. At the point that they would transition and move to the new app, it would have to have already been purchased and distributed to their device.

I think the only way to handle knowing which users are on which version of the app is to have user accounts, and then upload something to identify which app they are using via a service. Once the user logs in with their account to the new app, you can do something to invalidate the old one (I would make sure to handle that gracefully in the old app, and possibly provide a deep link to the new app as part of the transition process in case they launch the old one by mistake).

There are not any APIs that offer proof of purchase outside of what is available for iAP, which is not what you are looking for in this case. For Custom Apps, any license management would have to be handled on your backend system.