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

回到顶部