是否可以跨多个应用分享应用内结算购买?

时间:2014-09-04 15:47:00

标签: android android-billing

我有两个应用程序,我想添加应用内结算。我之前从未使用过IAB,所以我只是将它拼凑在一起。

我想使用一个IAB,以便在一个应用中购买也可以算作另一个应用中的购买。我的应用程序非常简单,不使用任何服务器后端。

这是一个说明我想要完成的事情的场景。使用app-A的用户进行购买以移除广告。如果他还安装了app-B,则app-A中的广告移除购买会删除app-B中的广告。

查看IAB文档,似乎应用程序可以发出API请求以检查购买情况,但我不确定IAB帐户是否与特定APK相关联。

如果这不可能,那么在多个应用中分享IAB购买的方式是什么?

1 个答案:

答案 0 :(得分:2)

我只是仔细检查了我的应用程序有IAP,是的,这些项目直接与实际的APK相关联,因此您无法在Google Play中定义1个IAP并让两个应用程序都使用它。

尽可能的工作我建议你:

  • 在两个应用上实施具有签名安全级别的导出ContentProvider(意味着只有使用相同KEY签名的应用,您的密钥才能访问该ContentProvider)
  • 在该内容提供商中允许两个应用程序查询另一个是否拥有许可证。
  • 为两个应用程序单独创建IAP,并在运行时相互查询以获取信息。

ContentProvider的另一种方法可以使用UID清单(How do I create a "Licensing add-on" for my Android application?),也可以使用绑定服务,可能需要使用一些AIDL(http://developer.android.com/guide/components/aidl.html

所有这些方法都有缺点,用户总是需要他原来从安装的IAP购买的应用程序,以便其他人找到它。

完全不同的方法是拥有一个"许可证应用程序"这是一个普通的付费应用程序,它是应用程序A和B的许可证。