我正在编写一个支持应用内订阅的应用。订阅将使我的用户能够在Android世界之外使用许多服务和优势。我知道我可以使用Google Play Developer API来查询订阅状态,但由于提供的服务和优势的性质,这样做并不是很方便。我想知道是否有办法在订阅更改时获得有关订阅状态的通知。比如Web钩子之类的东西。
答案 0 :(得分:8)
我想发表评论以回应你的评论,但显然这太长了。除此之外,它也是你问题的答案,所以我认为将它作为答案发布可能是一件好事。也许它甚至可以解决你的问题。
所以,关于你的评论。你不一定非必须这样做。现在,我不了解您的系统要求,但我会分享我的,并希望它可以帮助您。
在服务器上保存Users
和Subscriptions
(数据库表)。 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广告等等。