Flutter插件appier_flutter的使用_appier_flutter 是一个用于集成 Appier Enterprise Solutions 的 Flutter 插件
Flutter插件appier_flutter的使用_appier_flutter 是一个用于集成 Appier Enterprise Solutions 的 Flutter 插件
appier_flutter
是一个用于集成 Appier Enterprise Solutions 的 Flutter 插件。本文将介绍如何使用该插件,并提供完整的示例代码。
开始之前
要开始使用 AIQUA for Flutter,请参阅官方文档了解详细的集成步骤。
示例 Demo
以下是一个完整的示例,展示了如何在 Flutter 应用中使用 appier_flutter
插件。
1. 添加依赖
首先,在你的 pubspec.yaml
文件中添加 appier_flutter
依赖:
dependencies:
flutter:
sdk: flutter
appier_flutter: ^latest_version
记得替换 ^latest_version
为最新版本号。
2. 配置 Appier SDK
在应用启动时,你需要配置 Appier SDK。以下是完整的示例代码:
import 'package:appier_flutter/appier_flutter.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Appier Demo',
initialRoute: '/',
routes: {
'/': (context) => MainApp(),
'/second': (context) => FeedbackPage(),
},
);
}
}
class MainApp extends StatefulWidget {
const MainApp({Key? key}) : super(key: key);
@override
_MainAppState createState() => _MainAppState();
}
// 替换为你自己的 App ID 和 App Group
const appId = '<your_AppId>';
const appGroup = '<your_app_group>';
const appUniversalLink = 'universal-link';
class _MainAppState extends State<MainApp> {
@override
void initState() {
super.initState();
// 配置 Appier SDK
AppierFlutter.configure(appId, appGroup: appGroup, isDev: true);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Plugin example app'),
),
body: Center(
child: ListView(
padding: EdgeInsets.all(8),
children: <Widget>[
Text(
'AiQUA',
style: TextStyle(
fontSize: 20,
height: 1.4,
color: Colors.teal[200],
fontWeight: FontWeight.bold,
),
),
SizedBox(
height: 44,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.teal[100],
onPrimary: Colors.black,
),
onPressed: () {
AppierFlutter.logEvent(
'product_viewed',
parameters: <String, dynamic>{
'param1': 2,
'param2': null,
'param3': 'appier',
},
);
},
child: Text('Log Event - product_viewed'),
),
),
SizedBox(
height: 44,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.teal[200],
onPrimary: Colors.black,
),
onPressed: () {
AppierFlutter.logEvent(
'product_add_to_cart',
parameters: <String, dynamic>{
'param1': 2,
'param2': null,
'param3': 'appier',
},
);
},
child: Text('Log Event - product_add_to_cart'),
),
),
SizedBox(
height: 44,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.teal[100],
onPrimary: Colors.black,
),
onPressed: () {
AppierFlutter.logEvent(
'product_purchased',
parameters: <String, dynamic>{
'param1': 2,
'param2': null,
'param3': 'appier',
},
vts: 100,
vtsCurr: 'USD',
);
},
child: Text('Log Event - product_purchased'),
),
),
SizedBox(
height: 44,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.teal[200],
onPrimary: Colors.black,
),
onPressed: () {
AppierFlutter.setUniversalLinkDomains([]);
AppierFlutter.setUniversalLinkDomains([appUniversalLink]);
},
child: Text('Set UniversalLinkDomains - iOS only'),
),
),
SizedBox(
height: 44,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.teal[100],
onPrimary: Colors.black,
),
onPressed: AppierFlutter.flush,
child: Text('flush log immediately'),
),
),
// 更多按钮和功能...
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
Navigator.pushNamed(context, '/second');
},
backgroundColor: Colors.yellow,
child: Icon(Icons.feedback),
),
);
}
}
class FeedbackPage extends StatelessWidget {
const FeedbackPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Feedback Page'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
AppierFlutter.logEvent('feedback');
},
child: Text('Log Feedback Event'),
),
),
);
}
}
3. 主要功能说明
-
日志事件:你可以通过
AppierFlutter.logEvent
方法记录各种事件,例如产品查看、加入购物车、购买等。AppierFlutter.logEvent( 'product_viewed', parameters: <String, dynamic>{ 'param1': 2, 'param2': null, 'param3': 'appier', }, );
-
设置用户信息:你可以通过一系列方法设置用户的个人信息,如用户ID、姓名、城市、电子邮件等。
AppierFlutter.setUserId('0123456789'); AppierFlutter.setName('tester'); AppierFlutter.setEmail('test.test@gmail.com');
-
立即刷新日志:调用
AppierFlutter.flush()
方法可以立即将缓存的日志发送到服务器。AppierFlutter.flush();
更多关于Flutter插件appier_flutter的使用_appier_flutter 是一个用于集成 Appier Enterprise Solutions 的 Flutter 插件的实战教程也可以访问 https://www.itying.com/category-92-b0.html