在Google Play doc ,它写着“为了验证购买,应用程序将购买 token 和其他详细信息传递到您的后端服务器,后端服务器使用 Google Play Developer API 直接通过 Google Play 验证它们。”
我的问题是:我真的需要自己的服务器来在我的 Android 应用程序中实现 InApp 订阅吗?
有没有办法在没有我自己的服务器的情况下实现订阅? (仅直接从我的应用程序使用 Google Play Inapp Billing API)
谢谢!
最佳答案
回答我自己的问题:无需拥有自己的服务器来实现应用内订阅。自己的服务器只允许增加一定程度的安全性,但在我的特定情况下我并不真正关心安全性(如果 1% 的人绕过 inapp 过程没问题)。
自己的服务器允许使用“boolean verifyDeveloperPayload(Purchase p)”方法执行一些额外级别的检查。在所有情况下只需返回“true”,因为它在 Google 示例中是默认设置的。
要实现订阅,只需调用:
mHelper.launchSubscriptionPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener);
代替:
mHelper.launchPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener, payload);
在开发控制台中创建一个订阅项。
就是这样!
2020 年 9 月编辑: 我不知道 API 的 V3 是否仍然如此......事实上,文档提到应用程序必须管理帐户“保留状态”但我不知道服务器和使用 RTDN/PubSub 是否是现在需要。
2020 年 10 月编辑:
确认即使使用 API V3 也不需要服务器。参见 here
关于安卓/谷歌播放 : do I really need my OWN server to manage inapp billing subscriptions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30602733/