Flutter调研与反馈插件survicate_sdk的使用
Flutter调研与反馈插件survicate_sdk的使用
简介
Survicate Mobile SDK允许您从移动应用用户那里收集反馈。安装在您的应用程序中后,SDK将使您能够触发有针对性的调查,以更好地了解您的用户并收集他们对您产品的意见。
该插件由Survicate - 客户体验&调查软件维护和支持。详细的文档可以在这里查看:Flutter Survicate SDK 文档。
要求
- 使用Survicate Mobile SDK需要一个survicate.com账号。您可以在此免费创建账户:注册,或被同事邀请加入公司账户。
- 请检查iOS和Android库的要求,因为它们同样适用。
安装
要使用此插件,请在pubspec.yaml
文件中添加survicate_sdk
作为依赖项:
dependencies:
survicate_sdk: ^latest_version # 替换为最新版本号
配置
Android配置
- 在
AndroidManifest.xml
文件中配置您的工作区密钥(workspace key)。<application android:name=".MyApp" > <!-- ... --> <meta-data android:name="com.survicate.surveys.workspaceKey" android:value="YOUR_WORKSPACE_KEY"/> </application>
- 将Survicate Maven仓库添加到位于
android
目录下的项目build.gradle
文件中。allprojects { repositories { // ... maven { url 'https://repo.survicate.com' } } }
iOS配置
- 将工作区密钥添加到
Info.plist
文件中。- 创建
Survicate
字典。 - 在
Survicate
字典中定义WorkspaceKey
字符串。 Info.plist
文件应如下所示:
- 创建
- 在
ios
目录下运行pod update
命令。
初始化
在应用程序中使用initializeSdk()
方法初始化SDK。只调用一次,在主组件(如lib/main.dart
文件)中调用。
import 'package:survicate_sdk/survicate_sdk.dart';
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
SurvicateSdk.initializeSdk();
}
}
使用示例
下面是一个完整的示例代码,展示了如何在Flutter应用中集成和使用survicate_sdk
:
import 'package:flutter/material.dart';
import 'package:survicate_sdk/survicate_sdk.dart';
import 'package:survicate_sdk/user_trait.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final listener = SurvicateEventListener(
onSurveyDisplayed: (SurveyDisplayedEvent event) {
print('Survey displayed');
},
onQuestionAnswered: (QuestionAnsweredEvent event) {
print('Question answered');
},
onSurveyClosed: (SurveyClosedEvent event) {
print('Survey closed');
},
onSurveyCompleted: (SurveyCompletedEvent event) {
print('Survey completed');
},
);
@override
void initState() {
super.initState();
// 设置工作区密钥(可选)
SurvicateSdk.setWorkspaceKey("WORKSPACE_KEY");
// 初始化SDK
SurvicateSdk.initializeSdk();
// 添加事件监听器
SurvicateSdk.addSurvicateEventListener(listener);
}
@override
void dispose() {
// 移除事件监听器
SurvicateSdk.removeSurvicateEventListener(listener);
super.dispose();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
TextButton(
child: const Text('Enter Screen: Home'),
onPressed: () {
SurvicateSdk.enterScreen('Home');
},
),
TextButton(
child: const Text('Leave Screen: Home'),
onPressed: () {
SurvicateSdk.leaveScreen('Home');
},
),
TextButton(
child: const Text('Invoke Event: Event'),
onPressed: () {
SurvicateSdk.invokeEvent('Event');
},
),
TextButton(
child: const Text('Invoke Event with Properties: Event'),
onPressed: () {
Map<String, String> properties = {
'property1': 'value1',
'property2': 'value2',
};
SurvicateSdk.invokeEvent('Event', eventProperties: properties);
},
),
TextButton(
child: const Text('Set User Trait'),
onPressed: () {
UserTrait trait = UserTrait.string('Name', 'Jane Doe');
SurvicateSdk.setUserTrait(trait);
},
),
TextButton(
child: const Text('Set User Traits'),
onPressed: () {
List<UserTrait> traits = [
UserTrait.string("name", "Jane Doe"),
UserTrait.num("age", 25),
UserTrait.bool("isPremium", true),
UserTrait.dateTime("lastLogin", DateTime.now()),
];
SurvicateSdk.setUserTraits(traits);
},
),
TextButton(
child: const Text('Reset'),
onPressed: () {
SurvicateSdk.reset();
},
),
],
),
),
);
}
}
问题反馈
如果您遇到任何问题或有改进建议,请通过以下方式联系我们:
- 通过Intercom在应用程序内联系我们。
- 发送邮件至:hello@survicate.com
感谢您的支持和理解!
希望这个指南能帮助您顺利集成和使用survicate_sdk
插件。如果有更多问题,欢迎随时提问!
更多关于Flutter调研与反馈插件survicate_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter调研与反馈插件survicate_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是一个关于如何在Flutter项目中集成和使用survicate_sdk
插件的示例代码案例。这个示例将展示如何初始化Survicate SDK,并展示一个简单的调研弹窗。
1. 添加依赖
首先,你需要在pubspec.yaml
文件中添加survicate_sdk
的依赖:
dependencies:
flutter:
sdk: flutter
survicate_sdk: ^最新版本号 # 请替换为实际的最新版本号
然后运行flutter pub get
来安装依赖。
2. 初始化Survicate SDK
在你的Flutter应用的入口文件(通常是main.dart
)中,初始化Survicate SDK。
import 'package:flutter/material.dart';
import 'package:survicate_sdk/survicate_sdk.dart';
void main() {
// 初始化Survicate SDK
Survicate.initialize(
apiKey: '你的Survicate API Key', // 请替换为你的Survicate API Key
userId: '用户ID', // 可选,用于标识用户
traits: { // 可选,用于传递用户属性
'email': 'user@example.com',
'name': '用户名称',
},
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
3. 展示调研弹窗
在你的主页或其他合适的页面,添加展示调研弹窗的代码。
import 'package:flutter/material.dart';
import 'package:survicate_sdk/survicate_sdk.dart';
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
void _showSurvey() async {
try {
// 展示调研弹窗
await Survicate.showSurvey(
surveyId: '你的调研ID', // 请替换为你的Survicate调研ID
);
} catch (e) {
// 处理错误
print('Error showing survey: $e');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Survicate SDK Demo'),
),
body: Center(
child: ElevatedButton(
onPressed: _showSurvey,
child: Text('Show Survey'),
),
),
);
}
}
4. 运行应用
确保你已经正确设置了Survicate API Key和调研ID,然后运行你的Flutter应用。点击按钮后,应该会看到一个Survicate调研弹窗出现。
注意事项
- API Key和调研ID:请确保你使用的是有效的Survicate API Key和调研ID。
- 用户数据:在初始化SDK时,你可以传递用户ID和用户属性(traits),这些信息将帮助Survicate更好地定制调研内容。
- 错误处理:在实际应用中,你应该添加更多的错误处理逻辑,以确保在展示调研时能够妥善处理各种异常情况。
这个示例代码展示了如何在Flutter应用中集成和使用survicate_sdk
插件。你可以根据实际需求进一步自定义和扩展。