Flutter应用内购买验证插件flutter_iap_verificator的使用

Flutter应用内购买验证插件flutter_iap_verificator的使用

A Flutter插件用于在设备上验证应用内购买收据。目前,该插件仅支持iOS。

此插件使用了 TPInAppReceipt 作为后端。

使用方法

首先,使用 In App Purchase 插件。 然后使用 localVerificationData 作为收据值。

示例如下:

final receipt = purchaseDetails.verificationData.localVerificationData;

final isValid = await FlutterIapVerificator().verify(receipt);
if (isValid) {
    // 处理有效的收据。
}

警告!!!

强烈建议在服务器端验证您的收据。此插件可以作为额外的安全措施,在将收据发送到服务器之前进行验证。

完整示例Demo

以下是一个完整的示例代码:

import 'dart:async';

import 'package:flutter/material.dart';
import 'package:flutter_iap_verificator/flutter_iap_verificator.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final String _platformVersion = 'Unknown';
  final _flutterIapVerificatorPlugin = FlutterIapVerificator();

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  // 平台消息是异步的,因此我们在异步方法中初始化。
  Future<void> initPlatformState() async {
    // 在这里添加您的初始化逻辑,例如获取平台版本等。
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('插件示例应用'),
        ),
        body: Center(
          child: Text('运行于: $_platformVersion\n'),
        ),
      ),
    );
  }
}

更多关于Flutter应用内购买验证插件flutter_iap_verificator的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter应用内购买验证插件flutter_iap_verificator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter应用中使用flutter_iap_verificator插件进行应用内购买(IAP)验证的代码示例。这个插件通常用于在Flutter应用中处理购买验证流程,确保购买的合法性。

前提条件

  1. 确保你已经安装了Flutter和Dart开发环境。
  2. 在你的pubspec.yaml文件中添加flutter_iap_verificator依赖。
dependencies:
  flutter:
    sdk: flutter
  flutter_iap_verificator: ^x.y.z  # 请替换为最新版本号
  1. 运行flutter pub get来安装依赖。

使用示例

以下是一个简化的代码示例,展示了如何使用flutter_iap_verificator插件进行购买验证。

1. 初始化插件

在你的Flutter应用的入口文件(通常是main.dart)中,初始化插件并配置必要的参数。

import 'package:flutter/material.dart';
import 'package:flutter_iap_verificator/flutter_iap_verificator.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: IAPVerificationScreen(),
    );
  }
}

class IAPVerificationScreen extends StatefulWidget {
  @override
  _IAPVerificationScreenState createState() => _IAPVerificationScreenState();
}

class _IAPVerificationScreenState extends State<IAPVerificationScreen> {
  final IAPVerificator _iapVerificator = IAPVerificator();

  @override
  void initState() {
    super.initState();
    // 初始化IAPVerificator插件,例如设置后端验证URL
    _iapVerificator.init(
      androidPublicKey: 'your-android-public-key',  // 替换为你的Google Play公钥
      iosSharedSecret: 'your-ios-shared-secret',    // 替换为你的Apple App Store共享密钥
      verifyReceiptEndpoint: 'https://your-backend-url/verify',  // 替换为你的后端验证URL
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('IAP Verification Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            // 触发购买流程(此处仅为示例,具体购买流程需根据平台API实现)
            _handlePurchase();
          },
          child: Text('Purchase Item'),
        ),
      ),
    );
  }

  Future<void> _handlePurchase() async {
    // 这里实现购买逻辑,假设购买成功并获取到purchaseToken
    String purchaseToken = 'your-purchase-token';  // 替换为实际的购买Token

    try {
      // 验证购买
      bool isValid = await _iapVerificator.verifyPurchase(purchaseToken);
      if (isValid) {
        // 购买验证成功
        print('Purchase is valid');
      } else {
        // 购买验证失败
        print('Purchase is invalid');
      }
    } catch (e) {
      // 处理验证过程中出现的异常
      print('Verification error: $e');
    }
  }
}

2. 配置后端验证服务

在实际应用中,你需要有一个后端服务来处理购买验证请求。后端服务接收到购买Token后,应与相应的应用商店(Google Play或Apple App Store)进行通信,验证购买的合法性,并返回验证结果。

后端服务的实现细节取决于你使用的技术栈,但通常你需要向应用商店的API发送请求,解析响应,并返回验证结果给Flutter应用。

注意事项

  1. 公钥和共享密钥:确保你使用的是正确的公钥和共享密钥。这些密钥可以从Google Play开发者控制台和Apple App Store Connect获取。
  2. 安全性:不要将公钥和共享密钥硬编码在客户端代码中。考虑使用环境变量或安全的存储机制。
  3. 错误处理:在实际应用中,应添加更详细的错误处理逻辑,以处理各种可能的异常情况。

希望这个示例能帮你更好地理解如何在Flutter应用中使用flutter_iap_verificator插件进行应用内购买验证。如果你有任何进一步的问题,请随时提问。

回到顶部