Flutter应用内提醒用户评价插件should_review的使用

发布于 1周前 作者 yuanlaile 来自 Flutter

Flutter应用内提醒用户评价插件should_review的使用

should_review 是一个用于判断是否应提示用户对应用进行评价的Flutter插件。它根据应用启动次数或天数等条件来决定是否显示评价提示。

特性

  • 根据首次启动后的天数和设定的时间间隔判断是否提示用户评价。
  • 根据应用启动次数判断是否提示用户评价。
  • 支持自定义条件(如用户完成特定操作的次数)。

开始使用

添加依赖

pubspec.yaml 文件中添加以下依赖:

dependencies:
  should_review: ^0.2.5

使用示例

使用天数条件

import 'package:should_review/should_review.dart';

if (await ShouldReview.shouldReview(
    criteria: Criteria.days,
    minDays: 5,
    coolDownDays: 2,
)) {
    // 提示用户评价
    ShouldReview.neverReview(); // 确保 shouldReview 函数不再返回 true
}

使用启动次数条件

import 'package:should_review/should_review.dart';

// 在应用启动时调用此函数
ShouldReview.recordLaunch();

if (await ShouldReview.shouldReview(
    criteria: Criteria.timesLaunched,
    minLaunchTimes: 8,
    coolDownLaunchTimes: 4,
)) {
    // 提示用户评价
    ShouldReview.neverReview(); // 确保 shouldReview 函数不再返回 true
}

使用自定义条件

import 'package:should_review/should_review.dart';

// 每次用户完成特定操作时调用此函数
ShouldReview.recordCustomCriteriaMet("made_purchase");

if (await ShouldReview.shouldReview(
    criteria: Criteria.custom,
    customCriteriaKey: "made_purchase",
    minCustomCriteriaValue: 5,
    coolDownCustomCriteriaInterval: 2,
)) {
    // 提示用户评价
    ShouldReview.neverReview(); // 确保 shouldReview 函数不再返回 true
}

完整示例 Demo

以下是完整的示例代码,展示如何在 Flutter 应用中使用 should_review 插件。

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Should Review Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Should Review Example'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  bool _hasPromptedRateApp = false;

  @override
  void initState() {
    super.initState();
    ShouldReview.recordLaunch(); // 记录应用启动
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            if (await ShouldReview.shouldReview(
                criteria: Criteria.days,
                minDays: 7,
                coolDownDays: 2)) {
              // 提示用户评价
              ScaffoldMessenger.of(context).showSnackBar(
                SnackBar(content: Text('请评价我们的应用!')),
              );
              ShouldReview.neverReview(); // 确保 shouldReview 函数不再返回 true
              setState(() => _hasPromptedRateApp = true);
            } else {
              ScaffoldMessenger.of(context).showSnackBar(
                SnackBar(content: Text('暂不提示评价')),
              );
            }
          },
          child: Text('检查是否应提示评价'),
        ),
      ),
    );
  }
}

以上代码展示了如何在应用启动时记录启动次数,并根据设定的条件决定是否提示用户评价。希望这些信息能帮助你在 Flutter 应用中实现用户评价提示功能。


更多关于Flutter应用内提醒用户评价插件should_review的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter应用内提醒用户评价插件should_review的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter应用中使用should_review插件来提醒用户评价的示例代码。should_review插件可以帮助你根据用户的使用频率和时间来决定何时提示用户进行评价。

首先,确保你的Flutter项目中已经添加了should_review依赖。在你的pubspec.yaml文件中添加以下依赖:

dependencies:
  flutter:
    sdk: flutter
  should_review: ^^最新版本号(请替换为实际最新版本号)

然后运行flutter pub get来安装依赖。

接下来,你可以按照以下步骤在你的Flutter应用中使用should_review插件:

  1. 导入should_review

在你的Dart文件中导入should_review包:

import 'package:should_review/should_review.dart';
  1. 初始化并配置ShouldReview

在你的应用的主入口文件(通常是main.dart)中,配置ShouldReview。以下是一个简单的配置示例:

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  ShouldReview.init(
    iOSAppId: '你的iOS App ID',  // 仅在iOS上需要
    androidPackageName: '你的Android包名',  // 仅在Android上需要
    storeAppUrl: {
      'ios': 'https://apps.apple.com/app/你的应用ID/id你的AppStoreID',
      'android': 'https://play.google.com/store/apps/details?id=你的Android包名',
    },
    daysUntilPrompt: 3,         // 用户在多少天后首次被提示
    usesUntilPrompt: 5,         // 用户在启动多少次应用后被提示
    remindInterval: 7,          // 如果用户拒绝,每隔多少天再次提示
    minimumRating: 4,           // 用户评分至少达到多少分才提示评价
  );

  runApp(MyApp());
}
  1. 请求用户评价

你可以在应用的关键位置(如用户完成某个重要任务后)调用ShouldReview.requestReview()来请求用户评价。但通常,should_review插件会自动管理提示时机,所以你不需要手动频繁调用这个方法。不过,如果你想在某个特定时刻手动触发,可以这样做:

void _someImportantAction() async {
  // 用户完成某个重要任务后的代码
  // ...

  // 请求用户评价
  bool shouldShowDialog = await ShouldReview.shouldOpenDialog;
  if (shouldShowDialog) {
    ShouldReview.requestReview().then((result) {
      if (result == ShouldReviewResult.success) {
        print('用户已提交评价');
      } else if (result == ShouldReviewResult.skipped) {
        print('用户跳过了评价提示');
      } else if (result == ShouldReviewResult.notNow) {
        print('用户选择了“稍后评价”');
      } else if (result == ShouldReviewResult.never) {
        print('用户选择了“不再提示”');
      }
    });
  }
}

注意:在大多数情况下,你不需要手动调用ShouldReview.requestReview(),因为should_review插件会根据你提供的配置自动处理提示逻辑。

  1. 处理用户反馈

ShouldReview.requestReview()返回一个Future<ShouldReviewResult>,你可以根据返回结果来处理用户的反馈,如上述代码所示。

这就是如何在Flutter应用中使用should_review插件来提醒用户评价的示例代码。确保你根据自己的应用需求调整配置参数。

回到顶部