Flutter In App Purchase我应该在_verifyPurchase()中包含什么

GIL*_*ILO 5 in-app-purchase dart flutter

嗨,我目前一直在使用 Flutter in app 支付插件示例https://github.com/flutter/plugins/tree/master/packages/in_app_purchase/example。在付款发生后的代码中,有一个名为_verifyPurchase当前的函数,该函数如下所示。

Future<bool> _verifyPurchase(PurchaseDetails purchaseDetails) {
  // IMPORTANT!! Always verify a purchase before delivering the product.
  // For the purpose of an example, we directly return true.
  return Future<bool>.value(true);
}
Run Code Online (Sandbox Code Playgroud)

目前它总是返回 true 但是我不完全理解我需要在此处包含什么验证过程来验证购买。

我需要在此处包含哪些验证过程来验证购买

我目前对这个功能中实际需要什么感到困惑。

gal*_*per 6

它们意味着与您的后端服务器的验证。这样,您的服务器就可以检查购买的确认状态,是否已消费等,而无需在客户端上执行此操作,这不是验证任何内容的安全方法,因为客户端可能会受到损害 - 这就是文档的原因告诉您通过后端验证购买,在客户端内执行此操作没有任何意义。您需要向您的服务器发送购买时提供的令牌(在您的购买详细信息中.verificationData.serverVerificationData

使用它通过您的后端验证购买(假设您有后端),方法是首先将验证数据中的令牌发送到您的后端,然后从后端发送到用于此类检查的 Google API。

您还需要在 Google Play 开发控制台中设置一个服务帐户,以允许后端访问所需的数据。它不是很复杂,但是一个漫长的过程,而且还取决于你的后端语言等等。最好从这里开始查看官方文档: https ://developer.android.com/google/play/developer-api#subscriptions_api_overview