Flutter互动参与插件inngage_plugin的使用

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

Flutter互动参与插件inngage_plugin的使用

插件介绍

此SDK旨在与Inngage平台集成,帮助开发者轻松地将应用与Inngage平台进行交互。

添加插件到项目

1 pubspec.yaml文件中添加依赖项:

inngage_plugin: 3.2.0

访问以下链接查看官方文档: https://inngage.readme.io/v1.0/docs/integração-flutter

如何使用

final json = {
      "nome": "User 01",
      "dt_nascimento": "01/09/1970",
      "genero": "M",
      "cartao": "N",
      "ultimo_abastecimento": "10/09/2018",
      "total_abastecido": "290,00"
    };

final inngageWebViewProperties = InngageWebViewProperties(
  appBarColor: Colors.pink,
  appBarText: Text(
    'AppTitle',
  ),
  backgroundColor: Colors.white,
  loaderColor: Colors.pink,
  debuggingEnabled: true,
  withJavascript: true,
  withLocalStorage: true,
  withZoom: true,
);

await InngageSDK.subscribe(
  appToken: 'appToken',
  friendlyIdentifier: 'user@gmail.com',
  customFields: json,
  phoneNumber: 'phoneNumber',
  email: 'user@gmail.com',
  blockDeepLink: true,
  firebaseListenCallback: (data) => print(data['additional_data']),
  navigatorKey: navigatorKey,
  inngageWebViewProperties: inngageWebViewProperties,
  requestAdvertiserId: false,
  requestGeoLocator: false,
);

Future.delayed(const Duration(seconds: 5)).then((value){
  InngageNotificationMessage.subscribe();
});

InngageEvent.setDebugMode(true);
InngageEvent.setUserPhone("phoneNumber");
await InngageEvent.sendEvent(
  eventName: 'MyOtherEventWithoutEventValues',
  appToken: 'appToken',
  identifier: 'user@gmail.com',
  eventValues: {
    'location': '12312312312',
  },
);

await InngageEvent.sendEvent(
  eventName: 'send_test',
  appToken: 'appToken',
  identifier: 'user@gmail.com',
);

var localNotification = InngageNotificationMessage.flutterLocalNotificationsPlugin;

更多关于Flutter互动参与插件inngage_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter互动参与插件inngage_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中集成和使用inngage_plugin的示例代码。请注意,假设inngage_plugin是一个已经存在且功能完善的Flutter插件,用于增强应用的互动参与功能。实际使用时,请确保你已经将该插件添加到了你的pubspec.yaml文件中,并且已经按照插件的官方文档完成了必要的配置。

1. 添加依赖

首先,在你的pubspec.yaml文件中添加inngage_plugin依赖:

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

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

2. 初始化插件

在你的Flutter应用的主入口文件(通常是main.dart)中,初始化inngage_plugin

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

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  // 初始化Inngage插件
  InngagePlugin.instance.init(
    apiKey: '你的API密钥', // 替换为你的实际API密钥
    userId: '用户ID',      // 可选,用于标识用户
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

3. 使用插件功能

现在,你可以在你的应用中调用inngage_plugin提供的功能。例如,展示一个互动调查或参与活动。

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

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  void _showSurvey() async {
    try {
      // 显示一个调查
      var result = await InngagePlugin.instance.showSurvey();
      print('Survey result: $result');
    } catch (e) {
      print('Error showing survey: $e');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Inngage Plugin Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _showSurvey,
          child: Text('Show Survey'),
        ),
      ),
    );
  }
}

4. 处理回调和事件

如果inngage_plugin支持回调或事件监听,你可以按照插件文档进行相应的设置。例如,监听用户完成调查的事件:

class _MyHomePageState extends State<MyHomePage> {

  // 监听用户完成调查的事件
  void _listenToSurveyCompleted() {
    InngagePlugin.instance.surveyCompleted.listen((SurveyResult result) {
      print('Survey completed with result: $result');
      // 在这里处理调查结果
    });
  }

  @override
  void initState() {
    super.initState();
    _listenToSurveyCompleted();
  }

  @override
  void dispose() {
    // 取消监听
    InngagePlugin.instance.surveyCompleted.cancel();
    super.dispose();
  }

  // ... 其他代码 ...
}

注意

  • 以上代码是一个假设性的示例,实际使用时请参照inngage_plugin的官方文档和API参考。
  • 确保你已经正确配置了所有必要的权限和服务,特别是在Android和iOS平台上。
  • 如果inngage_plugin有特定的初始化参数或配置要求,请仔细阅读其文档并按照说明进行操作。

希望这个示例能帮你更好地理解和使用inngage_plugin

回到顶部