返回

Flutter App中集成谷歌内购(Google Pay)全攻略

Android

在 Flutter 应用中集成谷歌内购的终极指南

在当今竞争激烈的移动应用市场中,变现对于确保你辛勤工作的劳动成果至关重要。谷歌内购为 Android 开发人员提供了一种便捷的途径来实现这一点,通过让用户轻松购买应用程序内的商品和服务。本文将带领你深入了解在 Flutter 应用中集成谷歌内购的每个步骤,让你踏上通过内购增加收入和增强用户体验的道路。

步骤 1:谷歌 Play 商店商品配置

创建商品:

  1. 首先,你需要在谷歌 Play 商店控制台中创建商品。转到“商品”选项卡,点击“创建商品”,并按照提示填写商品详情,包括名称、、价格等。
  2. 配置测试渠道: 为测试目的,创建一个测试渠道,并将其添加到你的应用测试人员列表中。
  3. 设置开发者帐户: 确保用于内购的开发者帐户已与你的应用关联,并已启用内购功能。
  4. 设置权限: 在你的应用清单文件中添加<uses-permission android:name="com.android.vending.BILLING"/>权限。

步骤 2:Flutter 端商品获取与购买

引入库:

  1. 在你的 Flutter 项目中,添加 in_app_purchase 库依赖项:
dependencies:
  in_app_purchase: ^3.5.0

初始化内购:

  1. 在你的应用启动时,初始化内购 SDK:
await InAppPurchase.instance.initialize();

获取商品:

  1. 使用 queryProductDetails 方法获取谷歌 Play 商店上配置的商品信息:
var productList = await InAppPurchase.instance.queryProductDetails(productIds);

购买商品:

  1. 通过 buyConsumable 方法让用户购买特定的商品:
var purchaseParam = GooglePlayPurchaseParam(productId: productId);
await InAppPurchase.instance.buyConsumable(purchaseParam);

步骤 3:服务器校验

为了确保内购的安全性,你的服务器需要对购买请求进行校验:

  1. 收到应用程序发送的购买令牌后,将其发送到谷歌后端服务器进行校验。
  2. 谷谷歌后端服务器返回校验结果,确认购买的有效性。
  3. 如果购买有效,服务器向应用程序发送确认信息,并授予用户相应权限或虚拟物品。

代码示例

以下代码示例演示了如何在 Flutter 应用中获取商品并进行购买:

import 'package:in_app_purchase/in_app_purchase.dart';

class IAPHelper {
  static Future<List<ProductDetails>> getProducts() async {
    var productList = await InAppPurchase.instance.queryProductDetails([productId]);
    return productList;
  }

  static Future<PurchaseDetails> buyProduct(String productId) async {
    var purchaseParam = GooglePlayPurchaseParam(productId: productId);
    var purchase = await InAppPurchase.instance.buyConsumable(purchaseParam);
    return purchase;
  }
}

结论

通过遵循本文中概述的步骤,你可以在 Flutter 应用中轻松集成谷歌内购。通过为用户提供多样化的购买选项,你不仅可以增加应用的收入,还可以提升用户体验,为其成功奠定基础。

常见问题解答

  1. 如何处理取消的购买?

    通过监听 InAppPurchase.instance.purchaseStream 流,你可以检测到取消的购买,并相应地更新你的应用程序。

  2. 如何处理购买失败?

    购买可能由于各种原因而失败。使用 PurchaseDetails.error 属性可以获取失败的原因,并向用户提供适当的反馈。

  3. 如何管理订阅?

    谷歌内购也支持订阅。请参阅官方文档以了解如何集成订阅功能。

  4. 服务器校验是否必需的?

    是的,服务器校验对于确保内购的安全性至关重要。不要跳过此步骤。

  5. 是否可以同时在 iOS 和 Android 上实现内购?

    是的,谷歌内购支持交叉平台应用,让你可以在 iOS 和 Android 上实现内购功能。