Android 应用内购买插件?

标签 android plugins in-app-purchase google-play

我正在开发一款需要插件的 Android 应用。这些插件本质上是供我的应用程序使用的 Assets 包。我最初可能会创建这些 Assets 包插件中的大部分,但我希望其他开发人员能够为我的应用程序创建(和销售)这些 Assets 包。如果需要,可以将这些 Assets 插件视为 Minecraft 的 Material 包。这些 Assets 包每个大约 50 MB,因此将它们与应用程序打包没有意义。

我想要的方式:

  1. 开发人员创建名为特定名称的插件 Assets APK (org.name.app_name.plugin.{MY_ASSET_PACK})
  2. 开发者申请自己的 Google Play 开发者帐户,并在“库和演示”部分以自己的名义列出 Assets 包(免费或付费)。
  3. 我的应用在 Google Play 中查询所有与查询字符串匹配的 apk 包(免费或付费) (org.name.app_name.plugin.*) 并将它们列在“已过滤”中-market-view”,让应用的用户可以轻松找到应用的插件。
  4. 用户可以在我的“过滤市场 View ”中点击这些条目,然后被直接重定向到 Google Play 市场并通过 Play 进行购买,开发者可以通过此交易获得补偿。购买的 Assets 插件 apk 已下载到用户的设备,但不会显示在启动器中。 (参见 How to Release Application Plugin)
  5. 我的应用为手机上与查询字符串 (org.name.app_name.plugin.*) 匹配的包编制索引,并将它们放在“插件选择器 View ”中供用户选择。
  6. 我的应用加载并使用来自该插件的 Assets (参见 How to Release Application Plugin)

问题

问题存在于第 4 步。我找不到任何方法从我的应用程序中查询商店(即使没有通配符)。我确实找到了这个 "android-market-api"项目允许我从我的应用程序中查询市场,但它似乎需要一个谷歌服务用户名和密码,我必须从用户那里查询。这是不可能的。

问题

  • 有没有一种简单的方法可以解决这个问题并直接在我的应用程序中获取列表中的市场查询?
  • 这是处理应用程序插件的错误方式吗?
  • 有没有什么方法可以使用现有的应用内购买 API 来处理这个问题,而无需为这些包维护我自己的服务器?

最佳答案

  • Is there an easy way to solve this problem and get market queries in a listing directly within my app?

没有。这不受谷歌支持,Android API 项目只是对市场使用的 Protbuff 对象的逆向工程。它可以(并且将会!)随时崩溃。此外,这很可能是非法的。更好的方法是向 Playstore 发出搜索查询并让它处理。这没什么大不了的,因为无论如何您都会直接在 Playstore 中获得过滤后的列表。不要重新发明轮子。

  • Is this the wrong way to handle application plugins?

不,它很好而且安全。

  • Is there any way to use the existing In-App Purchase API to handle this without maintaining my own server for these packages?

没有。您无法看到用户的所有购买,只能看到来自您自己的应用程序的购买。

关于Android 应用内购买插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11892848/

相关文章:

Android InAppBilling onServiceConnected 从未调用过

ios - 在 iOS 模拟器上测试 IAP 时出现错误 {NSLocalizedDescription=Cannot connect to iTunes Store}

java - Google 开发者控制台...没有升级到产品操作?

android - 在 Termux Android 上连接到 MariaDB 服务器

java - Android Java 倒计时然后做某事

html - 如何在不使用 span 标签的情况下将颜色赋予 *

java - 通过 ProblemsView 中的plugin.xml 添加双击操作

android - 在 android 中我如何传递 Arraylist<Float>

grails - 将一个grails项目中的域对象用作其他grails项目中的依赖项

android - 使用 SharedPreferences 禁用应用内购买广告