Android/Google 播放:我真的需要我自己的服务器来管理应用内付费订阅吗?

Android/Google Play: do I really need my OWN server to manage inapp billing subscriptions?

Google Play doc中写着"To verify a purchase, the app passes the purchase token and other details up to your backend servers, which verifies them directly with Google Play using the Google Play Developer API."

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

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

谢谢!

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

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

要实现订阅,只需调用:

mHelper.launchSubscriptionPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener);

而不是:

mHelper.launchPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener, payload); 

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

就是这样!

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

编辑 2020 年 10 月:

已确认即使使用 API V3 也不需要服务器。参见

几年后...

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

但他们承认许多开发人员需要无服务器解决方案,因此他们创建了这个 issue

几个月后,他们提供了一个无服务器 Android 应用程序示例 here

在同一个回购 here 中也有 Java 版本供 Java 粉丝使用。