是否可以跨多个应用共享应用内结算购买?
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 的许可。
【讨论】:
以上是关于是否可以跨多个应用共享应用内结算购买?的主要内容,如果未能解决你的问题,请参考以下文章