Flutter应用内购买验证插件flutter_app_store_server_receipt_utility的使用
简介
flutter_app_store_server_receipt_utility
是一个用于处理 Apple App Store 服务器 API 的工具库。它可以帮助开发者验证应用内的购买收据。
开始使用
首先,确保你已经在项目中添加了该插件。在 pubspec.yaml
文件中添加以下依赖:
dependencies:
flutter_app_store_server_receipt_utility: ^1.0.0
然后运行以下命令以安装依赖:
flutter pub get
示例代码
以下是一个完整的示例,展示如何使用 flutter_app_store_server_receipt_utility
来提取交易 ID 并打印到控制台。
import 'package:flutter/material.dart';
import 'package:flutter_app_store_server_receipt_utility/flutter_app_store_server_receipt_utility.dart';
void main() {
// 模拟的应用内购买收据
const appReceipt =
'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';
// 提取交易 ID
final transactionId =
ReceiptUtility.extractTransactionIdFromAppReceipt(appReceipt);
// 打印交易 ID 到控制台
debugPrint('提取的交易 ID: $transactionId');
}
运行结果
运行上述代码后,你会在控制台看到类似如下的输出:
I/flutter ( 7776): 提取的交易 ID: 1000000000000000
更多关于Flutter应用内购买验证插件flutter_app_store_server_receipt_utility的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter应用内购买验证插件flutter_app_store_server_receipt_utility的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_app_store_server_receipt_utility
是一个用于在 Flutter 应用中验证应用内购买(In-App Purchase, IAP)收据的插件。它主要用于与 Apple App Store 和 Google Play Store 的服务器进行通信,以验证购买收据的有效性。
以下是如何使用 flutter_app_store_server_receipt_utility
插件的基本步骤:
1. 添加依赖
首先,在你的 pubspec.yaml
文件中添加 flutter_app_store_server_receipt_utility
插件的依赖:
dependencies:
flutter:
sdk: flutter
flutter_app_store_server_receipt_utility: ^1.0.0 # 请使用最新的版本号
然后运行 flutter pub get
来获取依赖。
2. 初始化插件
在你的 Dart 代码中,导入插件并初始化它:
import 'package:flutter_app_store_server_receipt_utility/flutter_app_store_server_receipt_utility.dart';
void initializePlugin() {
final receiptUtility = FlutterAppStoreServerReceiptUtility();
}
3. 验证 App Store 收据
对于 Apple App Store,你可以使用 verifyAppStoreReceipt
方法来验证收据:
Future<void> verifyAppStoreReceipt() async {
final receiptUtility = FlutterAppStoreServerReceiptUtility();
// 获取收据数据
final receiptData = await receiptUtility.getAppStoreReceiptData();
// 验证收据
final verificationResult = await receiptUtility.verifyAppStoreReceipt(
receiptData: receiptData,
sharedSecret: 'YOUR_SHARED_SECRET', // 你的 App Store Connect 中的共享密钥
);
if (verificationResult.status == ReceiptStatus.valid) {
print('收据验证成功');
} else {
print('收据验证失败: ${verificationResult.status}');
}
}
4. 验证 Google Play 收据
对于 Google Play Store,你可以使用 verifyGooglePlayReceipt
方法来验证收据:
Future<void> verifyGooglePlayReceipt() async {
final receiptUtility = FlutterAppStoreServerReceiptUtility();
// 获取收据数据
final purchaseData = await receiptUtility.getGooglePlayPurchaseData();
final dataSignature = await receiptUtility.getGooglePlayDataSignature();
// 验证收据
final verificationResult = await receiptUtility.verifyGooglePlayReceipt(
purchaseData: purchaseData,
dataSignature: dataSignature,
packageName: 'YOUR_PACKAGE_NAME', // 你的应用包名
productId: 'YOUR_PRODUCT_ID', // 你的产品ID
);
if (verificationResult.status == ReceiptStatus.valid) {
print('收据验证成功');
} else {
print('收据验证失败: ${verificationResult.status}');
}
}