Flutter应用评价请求插件app_review的使用
Flutter应用评价请求插件app_review的使用
插件信息
在线演示: https://fluttercommunity.github.io/app_review/
描述
app_review
是一个用于在Google Play和App Store中请求和撰写评价的Flutter插件。请注意,应用程序必须已发布才能正确找到。
如何使用
Android
app_review
在设备上安装了Play服务且应用程序通过Play商店下载的情况下会打开In App Review。请查阅官方文档了解更多信息:官方文档。
iOS
iOS通过应用内弹窗请求用户进行评价。你可以通过调用 AppReview.requestReview
来触发这一操作。如果用户启用了“在应用中评价”,则iOS将显示请求评价的弹窗。这是自iOS 10.3之后请求评价的必要方式。
在调试模式下,它总是会显示。在通过TestFlight的应用中,AppReview.requestReview
没有任何作用。
import 'dart:io';
import 'package:app_review/app_review.dart';
import 'package:flutter/material.dart';
[@override](/user/override)
void initState() {
super.initState();
if (Platform.isIOS) {
AppReview.requestReview.then((onValue) {
print(onValue);
});
}
}
onValue值是什么?
onValue
值是一个简单的检查,确保没有错误发生。
Android
你可以存储一个时间戳来决定何时再次调用。
iOS
这并不重要。
完整示例
以下是一个完整的示例,展示了如何使用app_review
插件:
import 'package:app_review/app_review.dart';
import 'package:flutter/material.dart';
import 'dart:io' show Platform;
import 'package:flutter/foundation.dart';
// 主入口点
void main() {
// 如果不是web平台,设置目标平台
if (!kIsWeb) _setTargetPlatformForDesktop();
return runApp(MyApp());
}
// 如果当前平台是桌面平台,则覆盖默认平台为支持的平台(macOS为iOS,Linux和Windows为Android)
void _setTargetPlatformForDesktop() {
TargetPlatform? targetPlatform;
if (Platform.isMacOS) {
targetPlatform = TargetPlatform.iOS;
} else if (Platform.isLinux || Platform.isWindows) {
targetPlatform = TargetPlatform.android;
}
if (targetPlatform != null) {
debugDefaultTargetPlatformOverride = targetPlatform;
}
}
class MyApp extends StatefulWidget {
[@override](/user/override)
_MyAppState createState() => new _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
void initState() {
super.initState();
AppReview.getAppID.then(log);
}
String appID = "";
String output = "";
[@override](/user/override)
Widget build(BuildContext context) {
return new MaterialApp(
home: new Scaffold(
appBar: new AppBar(title: const Text('App Review')),
body: new SingleChildScrollView(
child: new ListBody(
children: <Widget>[
new Container(
height: 40.0,
),
new ListTile(
leading: const Icon(Icons.info),
title: const Text('App ID'),
subtitle: new Text(appID),
onTap: () {
AppReview.getAppID.then(log);
},
),
const Divider(height: 20.0),
new ListTile(
leading: const Icon(Icons.shop),
title: const Text('查看商店页面'),
onTap: () {
AppReview.storeListing.then(log);
},
),
const Divider(height: 20.0),
new ListTile(
leading: const Icon(Icons.star),
title: const Text('请求评价'),
onTap: () {
AppReview.requestReview.then(log);
},
),
const Divider(height: 20.0),
new ListTile(
leading: const Icon(Icons.note_add),
title: const Text('撰写新评论'),
onTap: () {
AppReview.writeReview.then(log);
},
),
const Divider(height: 20.0),
new ListTile(title: new Text(output)),
],
),
),
),
);
}
void log(String? message) {
if (message != null) {
setState(() {
output = message;
});
print(message);
}
}
}
更多关于Flutter应用评价请求插件app_review的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter应用评价请求插件app_review的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter应用中使用app_review
插件来请求用户评价的示例代码。app_review
插件允许你轻松地在iOS和Android上请求用户对应用的评价。
首先,确保你已经在你的Flutter项目中添加了app_review
依赖。在你的pubspec.yaml
文件中添加以下依赖:
dependencies:
flutter:
sdk: flutter
app_review: ^2.0.0 # 请检查最新版本号
然后,运行flutter pub get
来安装依赖。
接下来,你可以在你的Flutter应用中使用AppReview
类来请求评价。以下是一个简单的示例,展示如何在按钮点击时请求评价:
import 'package:flutter/material.dart';
import 'package:app_review/app_review.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter App Review Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
AppReview _appReview = AppReview.instance;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('App Review Example'),
),
body: Center(
child: ElevatedButton(
onPressed: _requestReview,
child: Text('Request Review'),
),
),
);
}
Future<void> _requestReview() async {
try {
// 尝试请求评价
bool canRequestReview = await _appReview.isAvailable();
if (canRequestReview) {
await _appReview.requestReview();
} else {
// 如果不能请求评价,可以提示用户稍后再试
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Review cannot be requested at this time.'),
),
);
}
} catch (e) {
// 处理异常
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Failed to request review: $e'),
),
);
}
}
}
在这个示例中:
- 我们首先导入了必要的包,包括
flutter/material.dart
和app_review/app_review.dart
。 - 在
MyApp
类中,我们设置了应用的标题和主题,并指定了主页为MyHomePage
。 - 在
MyHomePage
类中,我们创建了一个AppReview
实例,并定义了一个按钮点击事件处理器_requestReview
。 - 在
_requestReview
方法中,我们检查是否可以请求评价(isAvailable
),如果可以,则调用requestReview
方法来请求评价。如果请求失败或无法请求评价,我们显示一个SnackBar来通知用户。
这个示例展示了如何在Flutter应用中使用app_review
插件来请求用户评价。你可以根据需要进一步定制和扩展这个示例。