It has been a year, so the OP probably doesn't need it, but in case someone else happens to it ...
You could approach this in several ways. Obviously, there is some kind of business logic in your new app purchase app to keep track of who / didn't pay. Therefore, the two ways in which I see that you can do this are as follows:
Idea 1:
You can do a preliminary update for your paid application, which stores SharedPreference or some other persistence in the application (you can save the version code so that you know that you are updating and have business logic). Then upgrade to the free version and ask the free version to check your general preferences and do the right thing when upgrading from the "paid" versionCode.
Idea 2:
You can leave both applications separate (have a paid version and free with in-app purchases) and click the update for the paid version to have BroadcastReceiver , which actually does nothing but listen to specific intentions and you have a purchase check in the application to make sure something accepts your intent. If your old paid version exists, then they paid for it, if not for them. (If they paid for the paid version and then deleted, you will have problems, obviously ...)
Idea 3:
You can leave both applications separate (have a paid version and free with in-app purchases) and click on the update for the paid version, which simply sends Intent to open the app for purchase in the app (if installed) with some special arguments so you know that they opened it through a paid application and do everything possible to configure them for paying for it in the application. This reveals some detection issues though ... (solvable but kind of clumsy)
xbakesx
source share