google-play - 在多个平台上维护和组织购买

标签 google-play cross-platform payment-processing itunes-store

我有一个适用于各种平台的应用程序。让它们成为 iOS、Android 和 Windows。为了使用一个应用程序,需要支付月费,但只需支付一次即可使用所有平台。和Spotify一样,一次付费,每个平台都可以使用。

根据 Google 和 Apple 的指导方针,我需要提供应用内购买以收取月费。该系统连接到由我控制的服务器管理的用户帐户。我正在存储用户的订阅数据,所以如果用户在 iOS 上使用应用内购买,信息会传输到中央服务器以解锁 Android 应用(如果它已在其他平台上支付)已经)

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

问题是:
有什么模式可以规避这个问题吗? Spotify 和 co 也在解决这个问题,所以必须有一个解决方案

最佳答案

那么,处理用户授权的服务器(即您的服务器)应该查询 Google Subscription API,以检查当前订阅是否仍然有效。每个 SubscriptionPurchase Resource 都包含有关订阅何时到期的信息。

(见 https://developers.google.com/android-publisher/api-ref/purchases/subscriptions)

对于 Apple 来说,同样的事情适用:您将获得一张收据,您可以通过该收据随时查询服务器以检查该订阅是否仍然有效。

有一张幻灯片很好地总结了这些要点和陷阱:https://speakerdeck.com/rosapolis/the-recurring-nightmare-cross-platform-in-app-subscription-purchases

底线:如果没有在两个商店之间进行通信的服务器,您将无法实现这一目标。但是,正如幻灯片所示,它带来了问题。

奖金:The talk from which the slides are taken is also on Youtube

关于google-play - 在多个平台上维护和组织购买,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44415934/

相关文章:

cross-platform - 为不同平台/设备创建应用程序

java - PCI DSS 移动应用程序支付和信用卡数据

ios - 如何阻止 objc 代码转换为可选代码

android - 如何检查我的应用程序是否可以从谷歌播放下载

android - Play 商店 Alpha/Beta 选择加入链接是否相同?

android - 如果产品是部分硬件部分订阅,Android/iOS 应用程序是否需要使用苹果或谷歌的应用内购买 API?

用于安装自定义文件系统的跨平台解决方案

c++ - 跨平台崩溃处理程序

android - 支持安卓4.0

transactions - 对 ARQC 、 TC 、 AAC 和第二张卡操作分析的澄清