在多个平台上维护和组织采购

5

我有一个适用于各个平台的应用程序,包括iOS、Android和Windows。为了使用该应用程序,需要支付每月费用,但只需支付一次即可在所有平台上使用。这与Spotify相同,因此只需付费一次即可使用每个平台。

根据Google和Apple的指南,我需要提供应用内购买来支付每月费用。该系统连接到由我控制的服务器管理的用户帐户。我正在存储用户的订阅数据,因此如果用户在iOS上使用应用内购买,则将信息传输到中央服务器以解锁Android应用程序(如果已经在另一个平台上支付)

问题是以下情况: 用户有一个有效的通过Google Play支付的订阅。iOS和Windows应用程序也已解锁。现在用户卸载了Android应用程序,转到Google Play网站并取消了订阅。在当前情况下,我无法检测到这个问题,订阅将对所有其他平台有效。

问题是: 有没有一种模式可以绕过这个问题? Spotify等公司也解决了这个问题,所以一定有解决方案。

1个回答

1
好的,处理用户授权的服务器(也就是您的服务器)应该查询Google订阅API,以检查当前的订阅是否仍然有效。每个SubscriptionPurchase资源都包含有关订阅何时到期的信息。(请参见https://developers.google.com/android-publisher/api-ref/purchases/subscriptions)
对于苹果来说,同样的东西适用:你会得到一个收据,凭借这个收据,你可以随时查询服务器,以检查该订阅是否仍然有效。
有一张幻灯片很好地总结了这些要点和陷阱: https://speakerdeck.com/rosapolis/the-recurring-nightmare-cross-platform-in-app-subscription-purchases 底线是:如果没有负责两个商店之间通信的服务器,你将无法实现这一点。但正如幻灯片所示,这会带来问题。
额外福利: 这些幻灯片所在的演讲也在Youtube上

1
Google Subscription API 的部分是正确的,我已经在使用这个部分了。关于 Apple 部分,我不确定,我会去查一下。到目前为止,非常感谢您的帮助 :-) - thardes2
1
重要的是这篇来自苹果的文章。在我看来,最简单的方法是在可信服务器上提供一些接口,将这些请求转发到苹果服务器。谢谢您的帮助 :-) - thardes2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接