到目前为止,我在Play Store上发布了一个内置购买功能来禁用广告。
我正在重新设计整个应用程序,我想把它分成两个应用程序:一个用于移动设备(像原来的),一个用于Android电视设备,所以我在考虑将这两个版本作为两个新应用程序发布,并将实际的应用程序转变为购买管理器之类的东西。我希望那些已经付费删除移动版广告的用户不要为了删除电视版广告而付费。
有很多方法可以检查应用程序是否没有从play商店安装和/或它已被篡改(例如,使用apktools)。
也可以创建一个付费应用作为其他应用的"关键"。
我想创建三个应用程序:
- PM:采购经理,将取代实际应用
- MB:我的应用程序的移动版本
- TV:我的应用程序的TV版本
所有三个应用程序都将使用相同的密钥签名,并将包括篡改检测。PM将有一个暴露的Activity
, MB或TV可以使用它来检查用户是否购买了"删除广告"功能。
但是我有两个顾虑:
- 这个设计是安全的还是可以被利用?
- 是否有更优雅的方式(除了上传多个apk)来做到这一点?
Edit1: 我拆分应用程序有两个主要原因:
- 我的应用程序目前支持API级别9,通过添加leanback库,我应该将最低SDK增加到级别17
- 我不想要一个大的apk与电视和移动版本的图像和布局
新答案:
如果你使用多个APK功能,我不认为采购经理将是必要的。如果您将两个不同的apk上传到当前列表,IAP应该能够应用于两个apk。来自Android开发者网站:
如果您为应用程序创建了一个产品列表,并且您使用多个APK特性为该应用程序分发多个APK,则产品列表适用于与应用程序列表相关的所有APK版本。
老答:
坚持使用单个应用程序会更优雅。来自Android开发者网站:
电视应用程序使用与手机和平板电脑相同的结构。这种方法意味着你可以基于你已经知道的Android应用程序创建新的电视应用程序,或者扩展你现有的应用程序也可以在电视设备上运行。
上面链接的页面上的课程(这是第一课)解释了在电视和移动设备上使用相同的apk所需的一切。此外,一定要阅读所有的电视页面设计。