Android / Google Play:我真的需要自己的OWN服务器来管理inapp计费订阅吗?

Reg*_*_AG 5 android subscriptions in-app-purchase in-app-billing google-play

Google Play文档中,写有“要验证购买,该应用会将购买令牌和其他详细信息传递给您的后端服务器,然后使用Google Play开发者API通过Google Play直接对其进行验证。”

我的问题是:我真的需要自己的服务器来在Android应用程序中实现InApp订阅吗?

没有我自己的服务器,有没有办法实现订阅?(仅直接从我的应用程序中使用Google Play Inapp Billing API)

谢谢 !

Reg*_*_AG 15

回答我自己的问题:无需拥有自己的服务器来实现应用内订阅。自己的服务器只是允许增加一定程度的安全性,但在我的特定情况下我并不真正关心安全性(如果 1% 的人绕过 inapp 进程没问题)。

自己的服务器允许使用 'boolean verifyDeveloperPayload(Purchase p)' 方法执行一些额外的检查。在所有情况下只需返回“true”,因为它在 Google 示例中是默认设置的。

要实现订阅,只需调用:

mHelper.launchSubscriptionPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener);
Run Code Online (Sandbox Code Playgroud)

代替 :

mHelper.launchPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener, payload); 
Run Code Online (Sandbox Code Playgroud)

在开发控制台中创建订阅项。

就是这样!

2020 年 9 月编辑: 我不知道 API 的 V3 是否仍然如此......确实,该文档提到该应用程序必须管理帐户“保持状态”,但我不知道服务器是否和使用现在需要 RTDN/PubSub。

2020 年 10 月编辑:

确认即使使用 API V3 也不需要服务器。看 这里

  • 感谢您对 v3 API 的跟进。我对这种方法有疑问,我们可以不使用后端来恢复购买吗?比如说用户何时在另一台设备上安装相同的应用程序? (3认同)
  • @Lincoln 是的,购买可以在没有后端的情况下恢复。 (3认同)

wal*_*lox 6

几年后...

Google 仍然强烈建议使用后端服务器进行计费。

但他们承认许多开发人员需要无服务器解决方案,因此他们造成了这个问题

几个月后,他们在这里提供了无服务器 Android 应用程序的示例。

在此处的同一个存储库中也有一个供 Java 爱好者使用的 Java 版本。