Flutter集成CSG Journey Hub服务插件csg_journey_hub_sdk的使用

Flutter集成CSG Journey Hub服务插件csg_journey_hub_sdk的使用

CSG-Journey-Hub-SDK 概览

  • CSG-Journey Hub SDK 将使用户能够轻松地跟踪移动应用程序中的用户旅程。通过添加一个插件,您可以从您的移动应用中收集信息。
  • 这些信息可用于编排和分析目的。
  • 插件基于 Flutter,适用于 Android 和 iOS 应用程序。
  • 插件具有标记单个事件的机制,以便移动应用开发人员可以逐个事件确定哪些事件需要排除在跟踪之外。
  • 还提供了一种机制,让移动开发者可以跟踪屏幕视图。
  • 最终,该插件将与描述的端点共享事件负载。

安装

将 CSG-Journey-Hub-SDK 添加为 Flutter 应用程序的依赖项:

flutter pub add csg_journey_hub_sdk

这将在 pubspec.yaml 文件中添加以下依赖项:

dependencies:
  csg_journey_hub_sdk: <latest-version>

Journey Hub SDK 中的功能

在开始跟踪之前,您必须使用 API 密钥初始化 SDK。例如:

CSGJourneyHubSDK.initializeApp(
        endpoint: "API_END_POINT", key: "API_KEY", globalParams: {"key": "Value"});

启用事件跟踪

通过传递值 true 启用事件跟踪:

CSGJourneyHubSDK.setEventTrackingEnabled(true);

禁用事件跟踪

通过传递值 false 禁用事件跟踪:

CSGJourneyHubSDK.setEventTrackingEnabled(false);

注意:默认情况下,跟踪是开启的,除非用户将其设置为 false

Journey Hub SDK 的事件跟踪

这包括在移动应用上跟踪事件。此外,此事件跟踪器还支持发送上下文数据的有效负载。 开发人员需要通过调用带有特定事件名称和属性的方法来记录它们。

CSGJourneyHubSDK.logEvent(
        name: "Login Button Clicked",
        requestParams: {"login_event": "Login event.", "event_id": "12151515"});

全局参数

全局参数是一个对象,每次安装时都会设置一次。该对象应全局定义,并包含在每个请求中(除了已存在的参数对象)。

CSGJourneyHubSDK.initializeApp(
        endpoint: API_END_POINT, key: API_KEY, globalParams: {"key": "Value"});

自动屏幕跟踪

要自动跟踪屏幕视图,现有的 Flutter 应用程序将使用由 Flutter SDK 提供的默认导航。 当 CSGJourneyHubSDK 作为 navigatorObservers 提供给您的 MaterialApp 时,它会自动跟踪您的视图。它会检查导航设置参数中正在导航的路由名称,并将其记录为您的屏幕名称。打开 main.dart 文件并添加观察者作为 navigatorObservers

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "CSGJourneyHubSDK",
      navigatorObservers: [
        CSGJourneyHubSDK.getCSGRouteObserver()
      ],
    );
  }
}

如果您使用命名路由,则您的视图现在将被跟踪。如果不使用命名路由,则您需要对每个直接导航到路由的地方进行小的调整。您需要像下面这样提供路由的名称:

Navigator.push(
        context,
        MaterialPageRoute(
            builder: (context) => LoginView(),
            settings: RouteSettings(name: LoginView)));

更多关于Flutter集成CSG Journey Hub服务插件csg_journey_hub_sdk的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter集成CSG Journey Hub服务插件csg_journey_hub_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter项目中集成并使用CSG Journey Hub服务的插件csg_journey_hub_sdk,你可以按照以下步骤进行。以下是一个基本的代码示例,展示了如何集成和使用该插件。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加csg_journey_hub_sdk的依赖。

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

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

2. 导入插件

在你的Dart文件中导入该插件。

import 'package:csg_journey_hub_sdk/csg_journey_hub_sdk.dart';

3. 初始化SDK

在应用的入口文件(通常是main.dart)中初始化CSG Journey Hub SDK。通常,这包括设置一些必要的配置信息,如API密钥或端点。

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 初始化CSG Journey Hub SDK
  await CSGJourneyHub.initialize(
    apiKey: 'YOUR_API_KEY', // 替换为你的API密钥
    endpoint: 'YOUR_ENDPOINT', // 替换为你的服务端点
  );

  runApp(MyApp());
}

4. 使用SDK功能

现在你可以在你的应用中调用CSG Journey Hub SDK提供的功能。例如,发送事件、获取用户信息等。

发送事件

void sendEvent() async {
  try {
    // 创建一个事件对象
    var event = CSGJourneyHubEvent(
      eventType: 'custom_event', // 事件类型
      properties: {
        'key1': 'value1',
        'key2': 'value2',
      },
    );

    // 发送事件
    await CSGJourneyHub.trackEvent(event);
    print('Event sent successfully');
  } catch (e) {
    print('Failed to send event: $e');
  }
}

获取用户信息

void getUserInfo() async {
  try {
    // 获取用户信息
    var userInfo = await CSGJourneyHub.getUserInfo();
    print('User Info: $userInfo');
  } catch (e) {
    print('Failed to get user info: $e');
  }
}

5. 在UI中调用

你可以在UI组件中调用上述函数,例如在一个按钮点击事件中发送事件或获取用户信息。

import 'package:flutter/material.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('CSG Journey Hub SDK Example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              ElevatedButton(
                onPressed: () {
                  sendEvent();
                },
                child: Text('Send Event'),
              ),
              SizedBox(height: 20),
              ElevatedButton(
                onPressed: () {
                  getUserInfo();
                },
                child: Text('Get User Info'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

注意事项

  • 确保你已经正确配置了API密钥和服务端点。
  • 根据CSG Journey Hub SDK的文档,可能还有其他初始化参数或配置选项。
  • 错误处理非常重要,特别是在网络请求或依赖外部服务时。

这个示例展示了如何在Flutter项目中集成并使用csg_journey_hub_sdk插件的基本步骤。根据你的具体需求,你可能需要调整代码或添加更多功能。

回到顶部