Flutter应用评价插件appsonair_flutter_appremark的使用

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

Flutter应用评价插件appsonair_flutter_appremark的使用

⚠️ 重要提示 ⚠️

该插件目前处于预生产阶段。虽然插件本身完全可用,但其集成的支持服务尚未在生产环境中上线。敬请期待更新,我们会尽快将服务带入生产环境!

如何工作?

该SDK用于提交应用程序备注(无论是bug/问题还是任何建议/反馈)。

AppsOnAir提供了一种服务,通过摇晃设备来截取应用程序的屏幕截图,从而监控您的问题或应用程序建议/改进。

当您摇晃设备时,它会自动截取应用程序的屏幕截图。用户可以修改这些应用程序截图,以突出特定的问题或任何应用程序增强的建议。

用户可以选择关闭摇晃手势。他们也可以手动打开“添加备注”屏幕。

最低要求

  • Android Gradle 插件 (AGP): 版本 8.0.2 或更高
  • Kotlin: 版本 1.7.10 或更高
  • Gradle: 版本 8.0 或更高
Android设置

在应用程序的AndroidManifest.xml文件中的<application>标签下添加元数据。

<application>
    ...
    <meta-data
        android:name="appId"
        android:value="********-****-****-****-************" />
</application>

setting.gradle中添加以下代码:

pluginManagement {
    ...
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
        maven { url 'https://jitpack.io' }
    }
}

在根级别的build.gradle中添加以下代码:

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}

在启动器活动中添加以下代码,因为Flutter正在阻止SDK捕获当前屏幕。

class MainActivity : FlutterActivity(){
    override fun getRenderMode(): RenderMode {
        return RenderMode.texture
    }
}

要求

最低部署目标: 12.0

iOS设置

在应用程序的Info.plist文件中添加APIKey。

<key>AppsOnAirAPIKey</key>
<string>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</string>

如何获取APIKey,请参阅此链接

此pod需要照片权限。请在您的Info.plist文件中添加以下使用描述:

<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) 需要权限从图库中选择图片以进行应用程序备注功能。</string>

示例

按照以下步骤使用默认主题通过摇晃手势添加备注。

[@override](/user/override)
void initState() {
  super.initState();
  Future.delayed(const Duration(milliseconds: 100), () async {
    await AppRemarkService.initialize(context);
  });
}

按照以下步骤使用自定义主题通过摇晃手势添加备注。

在这里,用户可以根据他们的应用程序主题自定义“添加备注”屏幕的主题,通过传递包含用户主题数据键值对的Map。

用户必须将给定的键传递到“options”。使用“options”,SDK将设置“添加备注”屏幕的主题。

确保键与以下相同。

Key DataType Value Description
pageBackgroundColor String “#E8F1FF” 设置页面背景颜色
appBarBackgroundColor String “#E8F1FF” 设置AppBar背景颜色
appBarTitleText String “Add Remark” 设置AppBar标题文本
appBarTitleColor String “#000000” 设置AppBar标题颜色
remarkTypeLabelText String “Remark Type” 设置备注类型标签文本
descriptionLabelText String “Description” 设置描述标签文本
descriptionHintText String “Add description here…” 设置描述提示文本
descriptionMaxLength int 255 设置描述最大长度
buttonText String “Submit” 设置按钮文本
buttonTextColor String “#FFFFFF” 设置按钮文本颜色
buttonBackgroundColor String “#007AFF” 设置按钮背景颜色
labelColor String “#000000” 设置文本字段标签颜色
hintColor String “#B1B1B3” 设置文本字段提示颜色
inputTextColor String “#000000” 设置文本字段输入文本颜色
AppRemarkService.initialize(
    context, 
    options: {
        'pageBackgroundColor': '#FFC0CB',
        'descriptionMaxLength': 25,
    });

默认情况下,“shakeGestureEnable”设置为true,允许设备在摇晃时捕获当前屏幕。如果为false,则设备摇晃的自动捕获屏幕将被禁用。

AppRemarkService.initialize(
    context,
    shakeGestureEnable: false,
);

按照以下步骤手动打开“添加备注”屏幕。

AppRemarkService.addRemark(context);

按照以下步骤发送您自定义的有效负载,以便保存以监控您的应用程序。

用户必须将用户附加的元数据键值对传递为Map。

AppRemarkService.addRemark(
    context,
    extraPayload: {
        'title' : 'Initial Demo',
        'isFromIndia' : true
    });

完整示例代码

import 'package:appsonair_flutter_appremark/app_remark_service.dart';
import 'package:flutter/material.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: const DemoApp(),
      ),
    );
  }
}

class DemoApp extends StatefulWidget {
  const DemoApp({super.key});

  [@override](/user/override)
  State<DemoApp> createState() => _DemoAppState();
}

class _DemoAppState extends State<DemoApp> {
  [@override](/user/override)
  void initState() {
    super.initState();
    Future.delayed(const Duration(milliseconds: 100), () async {
      await AppRemarkService.initialize(context, options: {
        "pageBackgroundColor": "#70d20f",
        "appBarBackgroundColor": "#70d20f",
        "descriptionLabelText": "Add description here.",
        "appBarTitleColor": "#FFFFFF",
        "remarkTypeLabelText": "Add Remark.",
        "descriptionHintText": "Add description.",
        "descriptionMaxLength": 120,
        "buttonText": "Submit Remark",
        "buttonTextColor": "#000000",
        "labelColor": "#FFFFFF",
        "buttonBackgroundColor": "#FFFFFF",
        "inputTextColor": "#000000",
        "hintColor": "#000000",
        "appBarTitleText": "Feedback"
      });
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.amber.shade100,
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 打开"添加备注"屏幕
            await AppRemarkService.addRemark(context);
          },
          child: const Text('Add Remark'),
        ),
      ),
    );
  }
}

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

1 回复

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


当然,下面是一个关于如何在Flutter应用中使用appsonair_flutter_appremark插件的代码案例。这个插件允许用户对你的应用进行评价。首先,你需要确保在pubspec.yaml文件中添加了这个依赖项:

dependencies:
  flutter:
    sdk: flutter
  appsonair_flutter_appremark: ^最新版本号 # 请替换为实际的最新版本号

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

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

  1. 导入插件

在你的Dart文件中(例如main.dart),首先导入插件:

import 'package:appsonair_flutter_appremark/appsonair_flutter_appremark.dart';
  1. 初始化插件

通常,你会在应用的启动阶段初始化插件。你可以在MainActivity.kt(对于Android)或AppDelegate.swift(对于iOS)中配置必要的权限和初始化代码(如果需要),但插件的基本使用主要在Dart代码中完成。

  1. 显示评价界面

你可以通过调用插件提供的函数来显示评价界面。下面是一个简单的例子,展示了如何在一个按钮点击事件中触发评价界面:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('App Review Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () async {
              try {
                // 调用插件提供的函数来显示评价界面
                await AppsonairFlutterAppremark.showReviewDialog(
                  // 可以根据需要传递参数,例如应用ID等(如果有)
                  // appId: 'your_app_id', // 示例参数,根据插件文档调整
                );
              } catch (e) {
                // 处理错误
                print('Error showing review dialog: $e');
              }
            },
            child: Text('Show Review Dialog'),
          ),
        ),
      ),
    );
  }
}

请注意,上述代码中的appId是一个示例参数,你需要根据appsonair_flutter_appremark插件的实际文档来调整参数。有些插件可能需要你提供应用的唯一标识符或其他配置信息。

  1. 处理回调(可选)

根据你的需求,你可能需要处理用户完成评价后的回调。这通常涉及到监听插件提供的事件或回调函数。由于appsonair_flutter_appremark插件的具体API可能会有所不同,请参考插件的官方文档来了解如何处理这些回调。

  1. 测试与发布

确保在测试环境中充分测试评价功能,并检查它在不同设备和平台上的表现。一旦你满意了,就可以发布你的应用到相应的应用商店了。

这个代码案例提供了一个基本的框架,展示了如何在Flutter应用中使用appsonair_flutter_appremark插件来显示评价界面。根据插件的更新和变化,你可能需要调整代码以适应新的API或功能。始终参考插件的官方文档来获取最新和最准确的信息。

回到顶部