是否需要使用自动更新的Android应用程序内订阅?

时间:2019-03-24 20:40:27

标签: java android in-app in-app-subscription

几个小时后,阅读有关android应用内产品和订阅的文档后,我仍然被困在询问有关应用内自动续订的消费过程。

Google对消费的评价

  

由您决定是否要将被管理产品作为非消耗品或消耗品处理

非消耗品

  

通常,您不会对只能在应用程序中购买一次并提供永久利益的被管理产品实施消费。购买后,这些产品将与用户的Google帐户永久关联。不使用消费品的示例是高级升级或级别包。

消费品

  

相反,您可以对可以多次购买的产品实施消费。通常,这些产品会提供某些临时效果。例如,用户的游戏角色可能会获得生命点或在其库存中获得额外的金币。在您的应用程序中分配所购买产品的收益或影响称为供应被管理产品。您负责控制和跟踪如何向用户提供被管理产品。


另一方面,Google Play结算告诉我们,我们提供以下类型的应用内商品:

  • 一次性产品(被管理产品)
  • 奖励产品
  • 订阅

阅读此书,我们可能会认为订阅不是托管产品。

我正在尝试重新开发应用程序的一部分,目前,当前版本获取库存(使用IabHelper),获取最近一次的每月购买量(由Google自动进行),并将信息发送到我们的API以获取用户再次溢价,并在API结果之后消费最后一次购买。

因为我现在直接从我们的API检查每月付款,以便从Android应用中删除此部分: 我们是否绝对必须使用自动更新的Google应用内商品来自动消费每月购买的费用?

1 个答案:

答案 0 :(得分:0)

解决了适用于Android和iOS应用的应用内订阅(使用我们自己的API /服务器)过程之后,我想我找到了答案。

In-app subscription android process

  • 当Android或iOS用户进行订阅时,我的应用程序(以我为例)完成交易,并使用一些参数将其发送到我们自己的API(通过/ android_purchase POST)(请参见上面的工作流程)。
  • 在我们的API通过(/ verify)验证与Google的交易并将其答案发送回我们的应用之后(取决于用户是否有权访问高级内容,取决于/ verify结果)

但是您的API如何知道用户是取消订阅还是只知道订阅是否已正确更新?

实际上(很多阅读此书的开发人员都知道)Google和Apple允许您为它们提供API端点以得到通知(在我的情况下为/ in_app_notifications)。 借助此功能,Google会在每次续订或取消甚至是首次订阅操作时通知我们。

  

您可以在https://developer.android.com/google/play/billing/realtime_developer_notifications.html

上找到有关它的一些文档。

这种工作流程使我们无需任何正面检查即可实施干净的工作流程。实际上,某些应用在每次启动时都会检查最后一次用户付款,以通知API并保持用户溢价。


如果用户两个月没有打开您的应用程序怎么办?

您是否真的认为该订阅已被Google和Apple取消?... 在我看来,答案是否定的。对我而言,此工作流程表明事实并非如此。同样,如果您的android应用不消费所购买的商品(在我的应用中为每月应用内订阅),则不会“中断”订阅。 Android会在月底将其续订并通知您的API。


我知道我的答案还不完整,可能有些开发人员会分享其他搜索内容,但是我一直在努力解决有关应用内订阅流程的问题,因此我想分享我的发现以节省您的时间在同样的情况下!