Android应用内购买插件?

Gri*_*fin 7 plugins android in-app-purchase google-play

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

我想要这样做的方式:

  1. 开发人员创建名为特定东西的插件资产APK(org.name.app_name.plugin.{MY_ASSET_PACK})
  2. 开发者申请自己的Google Play开发者帐户,并在"库和演示"部分中以自己的名义列出资产包(免费或付费).
  3. 我的应用程序向Google Play查询与查询字符串(org.name.app_name.plugin.*)匹配的所有apk包(免费或付费),并将其列在应用程序用户的"过滤市场视图"中,允许他们使用轻松找到应用程序的插件.
  4. 用户可以在我的"过滤市场视图"中点击这些条目,然后直接重定向到Google Play市场并通过Play进行购买,开发人员可以通过此交易获得补偿.购买的资产插件apk被下载到用户的设备,并且不会显示在启动器中.(请参阅如何发布应用程序插件)
  5. 我的应用程序索引手机上与查询字符串(org.name.app_name.plugin.*)匹配的包,并将它们放在"插件选择器视图"中供用户选择.
  6. 我的应用程序加载并使用此插件中的资源(请参阅如何发布应用程序插件)

问题

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

问题

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

mer*_*ica 1

  • 有没有一种简单的方法可以解决这个问题并直接在我的应用程序中的列表中获取市场查询?

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

  • 这是处理应用程序插件的错误方法吗?

不,它很好而且安全。

  • 有没有办法使用现有的应用内购买 API 来处理此问题,而无需为这些包维护自己的服务器?

不可以。您无法看到用户的所有购买行为,只能看到来自您自己的应用程序的购买行为。