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

Posted

技术标签:

【中文标题】是否可以跨多个应用共享应用内结算购买?【英文标题】:Is it possible to share an in-app billing purchase across multiple apps? 【发布时间】:2014-10-29 10:56:09 【问题描述】:

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

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

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

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

如果这不可能,有什么方法可以在多个应用之间共享 IAB 购买?

【问题讨论】:

【参考方案1】:

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

我建议您尽可能解决:

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

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

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

一种完全不同的方法是拥有一个“许可应用”,它是一个普通的付费应用,它是应用 A 和 B 的许可。

【讨论】:

以上是关于是否可以跨多个应用共享应用内结算购买?的主要内容,如果未能解决你的问题,请参考以下文章

Android 应用内结算:退款的应用内购买未取消

如何使用应用内结算来禁用应用程序中的广告?

Android应用内结算项目价格

是否可以一次购买多个应用内产品?

我们可以在属于同一个开发者帐户的应用之间共享应用内购买吗?

应用内结算库存价格并不总是与用户打算购买时显示的货币相同