Flutter购买管理插件purchases_flutter的使用
Flutter购买管理插件purchases_flutter的使用
purchases_flutter简介
purchases_flutter
是RevenueCat订阅和购买跟踪系统的客户端。它是一个开源框架,为StoreKit
、Google Play Billing
和RevenueCat后端提供了一个包装器,使在Flutter中实现应用内订阅变得容易 - 包括收据验证和状态跟踪!
特性
标识 | 描述 |
---|---|
✅ | 服务器端收据验证 |
➡️ | Webhooks - 增强的服务器到服务器通信,包括购买、续订、取消等事件 |
🎯 | 订阅状态跟踪 - 知道用户是否订阅,无论他们在iOS还是Android上 |
📊 | 分析 - 自动计算转换率、月经常性收入(MRR)和流失率等指标 |
📝 | 在线文档和SDK参考保持最新 |
🔀 | 集成 - 轻松发送购买数据到你需要的地方,超过十几个集成选项 |
💯 | 维护良好 - 频繁发布 |
📮 | 支持优秀 - 帮助中心 |
安装
要使用此插件,请将purchases_flutter
作为依赖项添加到您的pubspec.yaml
文件中。
要求
purchases_flutter
需要Xcode 14.0+,并要求最低目标版本为iOS 13.0+/Android SDK 21+(Android 5.0+)。
SDK参考
我们的完整SDK参考可以在这里找到:SDK Reference
入门指南
更多详细信息,请访问我们的完整文档:官方文档
示例代码
我们的一些示例项目位于revenuecat_examples中。
MagicWeather
该项目是使用purchases_flutter
进行订阅应用的最佳展示。
Purchase Tester
另一个展示了如何使用purchases_flutter
的应用,并用于集成测试。
示例Demo
下面是一个简单的示例,展示了如何在Flutter应用程序中使用purchases_flutter
来初始化RevenueCat并处理购买。
pubspec.yaml
dependencies:
flutter:
sdk: flutter
purchases_flutter: ^3.1.0 # 请根据实际情况调整版本号
main.dart
import 'package:flutter/material.dart';
import 'package:purchases_flutter/purchases_flutter.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化RevenueCat
await Purchases.setup("YOUR_API_KEY");
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
bool _isPurchased = false;
void _makePurchase() async {
try {
// 获取可用的产品
Offerings offerings = await Purchases.getOfferings();
if (offerings.current != null) {
Product product = offerings.current!.monthly!;
// 购买产品
await Purchases.purchasePackage(product);
setState(() {
_isPurchased = true;
});
} else {
print("No available offerings");
}
} catch (e) {
print("Error making purchase: $e");
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have purchased: $_isPurchased',
),
ElevatedButton(
onPressed: _makePurchase,
child: Text('Make Purchase'),
),
],
),
),
);
}
}
在这个例子中,我们首先在main()
函数中初始化了RevenueCat,然后在_MyHomePageState
类中的_makePurchase
方法中实现了购买逻辑。通过调用Purchases.getOfferings()
获取当前提供的产品列表,并尝试购买其中的一个产品(例如月度订阅)。如果购买成功,则更新UI以反映购买状态。
请注意,您需要替换YOUR_API_KEY
为您从RevenueCat获取的实际API密钥。
希望这能帮助您理解如何使用`purchases_flutter`插件在Flutter应用中管理购买和订阅。如果您有任何问题或需要进一步的帮助,请随时提问!
更多关于Flutter购买管理插件purchases_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html