Flutter自定义功能插件customerglu_plugin的使用

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

Flutter自定义功能插件customerglu_plugin的使用

CustomerGlu

CustomerGlu SDK 提供了丰富的内置功能,能够帮助您快速集成 CustomerGlu。 我们的 SDK 提供了许多内置功能,您只需要调用它们即可。


前置条件

iOS

  • 需要 iOS 11.0 或更高版本。

Xcode

  • 版本需要 12.0 或更高版本。

Android

  • 最小支持的 SDK 版本应为 21。

安装

方法 1:

pubspec.yaml 文件中添加 CustomerGlu Flutter 插件:

dependencies:
  customerglu_plugin: ^2.1.1

然后运行以下命令以安装依赖:

flutter pub get

方法 2:

直接运行以下命令进行安装:

flutter pub add customerglu_plugin

初始化 CustomerGlu SDK

Android 设置

第一步:在 AndroidManifest.xml 中添加网络权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

第二步:在 AndroidManifest.xml 中添加 WRITE_KEY

<meta-data android:name="CUSTOMERGLU_WRITE_KEY" // 不要更改名称
           android:value="YOUR_WRITE_KEY" />

第三步:如果启用了 ProGuard,请在发布构建中添加以下行:

buildTypes {
    release {
        signingConfig signingConfigs.debug
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

第四步:创建或更新 ProGuard 规则文件,并添加以下规则:

-keep class com.customerglu.sdk.Modal.* { *; }

iOS 设置

第一步:在 Info.plist 中添加 WRITE_KEY

<key>CUSTOMERGLU_WRITE_KEY</key>
<string>YOUR_WRITE_KEY</string>

功能

CustomerGlu 提供了许多功能,具体请参考官方文档:Flutter 文档


示例代码

以下是完整的示例代码,展示了如何初始化并使用 customerglu_plugin

import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:customerglu_plugin/customerglu_plugin.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 CustomerGlu SDK
  CustomergluPlugin.initSDK("me");

  runApp(MyApp());
}

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

class _MyAppState extends State<MyApp> {
  final broadcast_channel = const MethodChannel("CUSTOMERGLU_EVENTS");

  [@override](/user/override)
  void initState() {
    super.initState();

    // 监听来自 CustomerGlu 的事件
    broadcast_channel.setMethodCallHandler((call) async {
      print("接收到事件: ${call.method}");
      switch (call.method) {
        case "CUSTOMERGLU_DEEPLINK_EVENT":
          print("深度链接事件参数: ${call.arguments}");
          var json = jsonDecode(call.arguments);
          print("深度链接事件名称: ${json["name"]}");
          break;
        case "CUSTOMERGLU_ANALYTICS_EVENT":
          print("分析事件参数: ${call.arguments}");
          var json = jsonDecode(call.arguments);
          print("分析事件名称: ${json["event_name"]}");
          break;
        case "CUSTOMERGLU_BANNER_LOADED":
          print("横幅加载事件参数: ${call.arguments}");
          break;
        default:
          print("未知事件类型");
      }
    });

    // 启用分析事件
    CustomergluPlugin.enableAnalyticsEvent(true);
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: Text("CustomerGlu 示例"),
        ),
      ),
    );
  }
}

更多关于Flutter自定义功能插件customerglu_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter自定义功能插件customerglu_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


customerglu_plugin 是一个用于集成 CustomerGlu 功能的 Flutter 插件。CustomerGlu 是一个客户互动平台,提供个性化推送通知、应用内消息、用户行为跟踪等功能。通过 customerglu_plugin,你可以在 Flutter 应用中轻松集成这些功能。

以下是使用 customerglu_plugin 的基本步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 customerglu_plugin 依赖:

dependencies:
  flutter:
    sdk: flutter
  customerglu_plugin: ^<latest_version>

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

2. 初始化插件

在你的 Flutter 应用中初始化 customerglu_plugin。通常可以在 main.dart 文件中进行初始化。

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 CustomerGlu
  await Customerglu.initialize(
    clientId: 'YOUR_CLIENT_ID',
    clientSecret: 'YOUR_CLIENT_SECRET',
    environment: Environment.sandbox, // 或者 Environment.production
  );

  runApp(MyApp());
}

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

3. 设置用户标识

在使用 CustomerGlu 功能之前,通常需要设置用户标识。这可以通过 setUserIdentity 方法来完成。

void setUserIdentity() async {
  await Customerglu.setUserIdentity(userId: 'USER_ID');
}

4. 发送事件

你可以使用 sendEvent 方法来发送自定义事件,以便在 CustomerGlu 平台中跟踪用户行为。

void sendCustomEvent() async {
  await Customerglu.sendEvent(eventName: 'EVENT_NAME', eventProperties: {
    'key1': 'value1',
    'key2': 'value2',
  });
}

5. 显示应用内消息

你可以使用 showInAppMessage 方法来显示应用内消息。

void showInAppMessage() async {
  await Customerglu.showInAppMessage();
}

6. 处理推送通知

如果你需要处理推送通知,可以使用 configurePushNotifications 方法来配置推送通知。

void configurePushNotifications() async {
  await Customerglu.configurePushNotifications();
}

7. 处理深链接

你可以使用 handleDeepLink 方法来处理深链接。

void handleDeepLink() async {
  await Customerglu.handleDeepLink();
}

8. 其他功能

customerglu_plugin 还提供了其他功能,如设置用户属性、获取用户信息等。你可以参考插件的官方文档来了解更多详细信息。

9. 处理生命周期事件

确保在应用的生命周期事件中正确处理 CustomerGlu 的相关逻辑,例如在应用进入后台或前台时。

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    if (state == AppLifecycleState.resumed) {
      // 应用进入前台
      Customerglu.applicationEnteredForeground();
    } else if (state == AppLifecycleState.paused) {
      // 应用进入后台
      Customerglu.applicationEnteredBackground();
    }
  }

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

10. 调试和日志

你可以启用调试日志来帮助调试集成过程中的问题。

void enableDebugLogs() async {
  await Customerglu.enableDebugLogs(enable: true);
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!