Until now, I distributed my app on the Play Store with an in-app purchase to disable ads.
I am redesigning the whole app and I'd like to split it into two applications: one for mobile devices (like the original) and one for Android TV devices, so I was thinking about releasing these two versions as two new apps and transforming the actual app into something like a purchase manager. I want users who already paid to remove ads in the mobile version to not pay in order to remove ads in the TV one.
There are ways to check if an app wasn't installed from play store and/or it has been tampered (e.g., using apktools).
It is also possible to create a paid app as "key" for the other apps.
I was thinking to create three applications:
- PM: the purchase manager, will replace the actual app
- MB: the mobile version of my app
- TV: the TV version of my app
All the three applications will be signed with the same key and will include tampering detection. PM will have an exposed Activity
that can be used by MB or TV to check if the user has purchased the "remove ads" feature.
But I have two concerns:
- Is this design safe or can it be someway exploited?
- Is there a more elegant way (besides uploading multiple APKs) to do this?
Edit1: There are two main reasons why I'm splitting my app:
- My application currently supports API level 9, by adding leanback library I should increase the minimum SDK to level 17
- I don't want one large apk with both images and layouts for TV and mobile versions