android - 是否可以在多个应用程序之间共享应用程序内结算购买?

标签 android android-billing

我想向两个应用添加应用内结算功能。我以前从未使用过 IAB,所以我只是将其拼凑在一起。

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

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

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

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

最佳答案

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

作为可能的解决办法,我建议您:

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

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

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

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

关于android - 是否可以在多个应用程序之间共享应用程序内结算购买?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25669757/

相关文章:

android - 使用onAudioFocusChange停止其他音乐应用

android - 在android中使用socket io进行身份验证以用于聊天应用程序

java - 是否可以通过单个产品 ID 获取单个商品 SKU 详细信息? (Android、Iab 助手)

android - 什么是com.android.vending.BILLING,如何使用?

google-play - Google Play应用内结算-列出购买

java - Android:从文件中读取(Openfileinput)

android - 将字体大小添加到android中的NavigationView项目

java.lang.IllegalStateException : FragmentManager is already executing transactions?

android - 测试:哪个国家不支持计费库?

android - 如何测试应用内支付和getSkuDetails?