flutter_inapp_purchase如何使用
我在使用flutter_inapp_purchase插件时遇到了一些问题:
- 如何配置Android和iOS端的应用内购买?是否需要额外的平台配置?
- 初始化插件时总是报错"Connection failed",该如何排查?
- 如何正确获取商品列表?返回的商品信息总是为空。
- 用户完成支付后,如何验证支付凭据?需要在服务器端处理吗?
- 订阅类商品的状态如何监听?比如自动续订或取消订阅的情况。
有没有完整的代码示例可以参考?文档中的说明不够详细,希望能得到实际使用经验的分享。
2 回复
使用flutter_inapp_purchase需先初始化连接,监听购买事件。获取商品列表后调用购买方法,处理购买结果并验证收据。最后关闭连接。注意配置应用内购买权限和测试账户。
更多关于flutter_inapp_purchase如何使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
Flutter In-App Purchase(flutter_inapp_purchase)是用于在Flutter应用中实现应用内购买功能的插件。以下是基本使用步骤:
1. 安装插件
在 pubspec.yaml 中添加依赖:
dependencies:
flutter_inapp_purchase: ^5.0.0
运行 flutter pub get。
2. 配置平台
Android:
- 在Google Play Console中设置应用内商品。
- 在
android/app/src/main/AndroidManifest.xml添加权限(通常自动添加)。
iOS:
- 在App Store Connect中创建商品。
- 在Xcode中启用In-App Purchase功能(Signing & Capabilities)。
3. 初始化连接
import 'package:flutter_inapp_purchase/flutter_inapp_purchase.dart';
// 初始化
await FlutterInappPurchase.instance.initConnection;
// 获取商品列表
List<IAPItem> products = await FlutterInappPurchase.instance.getProducts(['product_id_1', 'product_id_2']);
4. 购买商品
try {
PurchasedItem? purchase = await FlutterInappPurchase.instance.requestPurchase('product_id');
if (purchase != null) {
// 处理购买成功
print('购买成功: ${purchase.productId}');
}
} catch (e) {
print('购买失败: $e');
}
5. 处理购买结果
监听购买流以验证交易:
FlutterInappPurchase.purchaseUpdated.listen((PurchasedItem purchase) {
// 验证收据并解锁内容
_verifyPurchase(purchase);
});
FlutterInappPurchase.purchaseError.listen((PurchaseResult error) {
print('购买错误: ${error.message}');
});
6. 结束连接
在应用退出时关闭连接:
@override
void dispose() {
FlutterInappPurchase.instance.endConnection;
super.dispose();
}
注意事项:
- 测试:在真机上用测试账户验证,不要用模拟器。
- 安全:服务器端验证收据以确保交易真实。
- 合规:遵循Apple和Google的审核指南。
通过以上步骤,你可以快速集成应用内购买功能。

