Android应用内结算订阅状态更改回调

时间:2015-05-08 09:23:25

标签: android in-app-purchase google-play in-app-billing subscription

我正在编写一个支持应用内订阅的应用。订阅将使我的用户能够在Android世界之外使用许多服务和优势。我知道我可以使用Google Play Developer API来查询订阅状态,但由于提供的服务和优势的性质,这样做并不是很方便。我想知道是否有办法在订阅更改时获得有关订阅状态的通知。比如Web钩子之类的东西。

3 个答案:

答案 0 :(得分:8)

我想发表评论以回应你的评论,但显然这太长了。除此之外,它也是你问题的答案,所以我认为将它作为答案发布可能是一件好事。也许它甚至可以解决你的问题。

所以,关于你的评论。你不一定非必须这样做。现在,我不了解您的系统要求,但我会分享我的,并希望它可以帮助您。

在服务器上保存UsersSubscriptions(数据库表)。 check_at表上有一个Subscriptions列,除renew_at个列外。假设用户在1月1日创建了每月订阅。在第一天,您在购买完成后从Android呼叫您的服务器,保存订阅详细信息,然后将renew_at设置为2月1日,将check_at设置为2月4日,考虑您将3天设置为延迟Google Play开发者控制台中的交易失败。这样,如果1日付款失败,用户有时间从2月1日到2月3日更改信用卡详细信息。然后在第4天,您将查看Google Play API以了解订阅详情。但是,请勿在2月1日至4日期间禁用高级功能。如果订阅被取消,请在4日禁用它。这样,优质内容不会以任何方式延迟或篡改。如果API返回的订阅结束日期是将来的,那么它已续订,因此您应该保持激活溢价。现在,您如何在4月份每月检查一次。使用某种调度程序来安排数据库上的任务。

这样您就无需依赖webhook。虽然我同意,webhooks会更高效,甚至可能更容易实现。

如果您有任何问题或我所描述的系统存在一些缺陷,请告诉我。

答案 1 :(得分:2)

使用Google Cloud的PubSub服务查看Real Time Notifications。它会发送付款/订阅事件的通知,例如:新购买,续订,取消等。它包含可用于从API中检索其他信息的令牌。

您还可以配置此PubSub订阅,以便在您收到的每条消息上调用自定义webhook(仍需要查询PubSub)。

答案 2 :(得分:0)

您可以使用我们的服务https://qonversion.io来跟踪您在Android和iOS上的所有订阅事件,并通过Web挂钩将事件发送到您需要的位置。此外,还有许多现成的集成,例如Amplitude,AppsFlyer,Facebook广告等等。