Flutter应用评价请求插件app_review的使用

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

Flutter应用评价请求插件app_review的使用

插件信息

Flutter Community: app_review

Buy Me A Coffee Donate github pages GitHub stars 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

1 回复

更多关于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'),
        ),
      );
    }
  }
}

在这个示例中:

  1. 我们首先导入了必要的包,包括flutter/material.dartapp_review/app_review.dart
  2. MyApp类中,我们设置了应用的标题和主题,并指定了主页为MyHomePage
  3. MyHomePage类中,我们创建了一个AppReview实例,并定义了一个按钮点击事件处理器_requestReview
  4. _requestReview方法中,我们检查是否可以请求评价(isAvailable),如果可以,则调用requestReview方法来请求评价。如果请求失败或无法请求评价,我们显示一个SnackBar来通知用户。

这个示例展示了如何在Flutter应用中使用app_review插件来请求用户评价。你可以根据需要进一步定制和扩展这个示例。

回到顶部