使一个IAP对不同的应用程序有效

时间:2015-10-17 12:10:15

标签: android security in-app-billing android-billing

到目前为止,我通过应用内购买在Play商店中发布我的应用以停用广告。

我正在重新设计整个应用程序,我想将其拆分为两个应用程序:一个用于移动设备(如原始设备)和一个用于Android TV设备,因此我考虑将这两个版本作为两个新应用程序发布并将实际的应用程序转换为类似购买经理的东西。我希望已付费的用户在移动版本中移除广告时不付费才能删除电视中的广告。

ways来检查应用程序是否未从Play商店安装和/或是否已被篡改(例如,使用apktools)。

创建付费应用作为其他应用的“关键”也是possible

我在想创建三个应用程序:

  • PM:购买经理,将取代实际应用
  • MB:我的应用程序的移动版本
  • 电视:我的应用的电视版

所有三个应用程序都将使用相同的密钥进行签名,并将包括篡改检测。 PM将有一个公开的Activity,MB或电视可以使用它来检查用户是否购买了“移除广告”功能。

但我有两个问题:

  • 这种设计是安全的还是可以被开发利用?
  • 是否有一种更优雅的方式(除了uploading multiple APKs)这样做?

EDIT1: 我分割我的应用程序有两个主要原因:

  • 我的应用程序目前支持API级别9,通过添加leanback库我应该将最低SDK增加到17级
  • 我不想要一个带有电视和移动版本的图像和布局的大型apk

1 个答案:

答案 0 :(得分:0)

新答案:

如果您使用multiple APK功能,我认为购买经理是不必要的。如果您将两个不同的APK上传到当前列表,则IAP应该能够应用于两个APK。来自Android developer website

  

如果您为应用创建产品列表,并使用多个APK功能为该应用分发多个APK,则产品列表适用于所有的APK版本与应用程序列表相关联。

旧答案:

坚持使用单个应用程序会更优雅。来自Android developer website

  

电视应用使用与手机和平板电脑相同的结构。这种方法意味着您可以根据您已经了解的有关构建Android应用程序的内容创建新的电视应用程序,或扩展现有应用程序以在电视设备上运行

上面链接的页面上的课程(here's the first lesson)解释了在电视和移动设备上使用相同的apk工作所需的一切。此外,请务必阅读所有Designing for TV页。