8

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
Vektor88
  • 4,841
  • 11
  • 59
  • 111

1 Answers1

0

New answer:

If you use the multiple APK feature, I don't think the purchase manager will be necessary. If you upload the two different APKs to the current listing, the IAP should be able to apply to both APKs. From the Android developer website:

If you create a product list for an application, and you use the multiple APK feature to distribute more than one APK for that application, the product list applies to all APK versions that are associated with the application listing.


Old answer:

It would be much more elegant to just stick with a single app. From the Android developer website:

TV apps use the same structure as those for phones and tablets. This approach means you can create new TV apps based on what you already know about building apps for Android, or extend your existing apps to also run on TV devices.

The lessons on the page linked above (here's the first lesson) explain everything required to have the same apk work on TV and mobile devices. Additionally, be sure to also read all of the Designing for TV pages.

Community
  • 1
  • 1
Stephen Tuso
  • 87
  • 1
  • 5
  • The same page says: "_However, the user interaction model for TV is substantially different from phone and tablet devices. In order to make your app successful on TV devices, you must design new layouts that can be easily understood from 10 feet away, and provide navigation that works with just a directional pad and a select button._" I think your answer should point the person towards creating TV layouts for the app (instead of creating a new app altogether). And then some suggestions how to approach that kind of change. – Oliver Oct 25 '15 at 20:35
  • @Oskar, I am pointing them towards creating TV layouts, the third lesson is titled "Building Layouts for TV". The lessons apply to modifying existing apps as well as creating new ones, here's a quote from the first one: "_This section discusses how to modify an existing app to run on TV devices, or create a new one._" – Stephen Tuso Oct 25 '15 at 21:08
  • Oskar, also, without knowing what the app does or looks like, it is hard to offer suggestions regarding layout, however, I added a link to the TV design guide. – Stephen Tuso Oct 25 '15 at 21:16
  • @StephenTuso why many apps like Netflix have two different apps then? – Vektor88 Oct 26 '15 at 15:36
  • @Vektor88 Take a look at the [Apps for Android TV section](https://play.google.com/store/apps/collection/promotion_3000e26_androidtv_apps_all?hl=en). Out of the 15 apps I just looked at, 11 were a single app that was compatible with phones, tablets, and Android TV. Out of the 4 that were for Android TV only, 2 were exclusively TV apps; there was not an equivalent app for phones. I do not know what Netflix's reasoning is for having two different apps. – Stephen Tuso Oct 26 '15 at 19:48
  • @StephenTuso my app supports devices with api level lower than 17, the minimum required to support leanback, splitting the app is therefore needed and I think this is the reasoning made by Netflix developers as well. – Vektor88 Oct 26 '15 at 20:08
  • @Vektor88 Alright, that makes sense, I would recommend putting that in your question. I'll update my answer in a minute. – Stephen Tuso Oct 26 '15 at 20:14
  • @Vektor88 I have changed my answer. Also, I went back and noticed that most of the apps I looked at earlier did appear to use the multiple apk feature (the current version, size, and min Android version all said "varies with device"), so that looks like the way to go. – Stephen Tuso Oct 26 '15 at 21:27