Flutter集成CellRebel SDK插件flutter_cellrebel_sdk的使用

描述

flutter_cellrebel_sdk 是一个用于在 Flutter 应用中集成 CellRebel SDK 的插件。通过该插件,您可以轻松地实现用户行为跟踪、版本信息获取以及用户数据清除等功能。


使用方法

  1. 初始化 SDK 在应用启动时,首先需要调用 CellRebelSDK.init 方法,并传入您的唯一 CLIENT_KEY 字符串。

    import 'package:flutter_cellrebel_sdk/flutter_cellrebel_sdk.dart';
    
    void main() {
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        // 初始化 SDK
        CellRebelSDK.init("YOUR_CLIENT_KEY");
        return MaterialApp(
          home: HomeScreen(),
        );
      }
    }
    
  2. 开始跟踪 调用 CellRebelSDK.startTracking 开始收集用户行为数据。通常建议在用户同意位置权限后调用此方法。

    CellRebelSDK.startTracking();
    
  3. 停止跟踪 如果某些高负载任务正在进行,可以调用 CellRebelSDK.stopTracking 中止当前的跟踪序列。

    CellRebelSDK.stopTracking();
    
  4. 获取 SDK 版本 使用 CellRebelSDK.getVersion 获取当前 SDK 的版本号。

    String sdkVersion = await CellRebelSDK.getVersion();
    print("SDK Version: $sdkVersion");
    
  5. 清除用户数据 如果需要根据 GDPR 的“被遗忘权”删除用户数据,可以调用 CellRebelSDK.clearUserData 方法。

    bool success = await CellRebelSDK.clearUserData();
    if (success) {
      print("User data cleared successfully.");
    } else {
      print("Failed to clear user data.");
    }
    

完整示例 Demo

以下是一个完整的示例代码,展示了如何在 Flutter 应用中集成和使用 flutter_cellrebel_sdk

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

import 'package:flutter/services.dart';
import 'package:flutter_cellrebel_sdk/flutter_cellrebel_sdk.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  String _version = "Unknown";
  bool _isEnabled = true;

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

  Future<void> initPlatformState() async {
    // 初始化 SDK
    CellRebelSDK.init("YOUR_CLIENT_KEY");

    String sdkVersion;
    try {
      sdkVersion = await CellRebelSDK.getVersion ?? "Unknown platform version";
    } on PlatformException {
      sdkVersion = "Failed to get platform version.";
    }

    if (!mounted) return;

    setState(() {
      _version = sdkVersion;
    });
  }

  void clearUserData() async {
    // 清除用户数据
    bool success = await CellRebelSDK.clearUserData();
    if (success) {
      setState(() {
        _isEnabled = false;
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("CellRebel SDK 示例"),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: [
            Text("SDK 版本: $_version\n"),
            ElevatedButton(
              child: Text("开始跟踪"),
              onPressed: _isEnabled ? CellRebelSDK.startTracking : null,
            ),
            ElevatedButton(
              child: Text("停止跟踪"),
              onPressed: _isEnabled ? CellRebelSDK.stopTracking : null,
            ),
            ElevatedButton(
              child: Text("清除用户数据"),
              onPressed: _isEnabled ? clearUserData : null,
            ),
          ],
        ),
      ),
    );
  }
}

注意事项

  • 确保在项目的 pubspec.yaml 文件中添加了 flutter_cellrebel_sdk 依赖。
    dependencies:
      flutter_cellrebel_sdk: ^1.0.0

更多关于Flutter集成CellRebel SDK插件flutter_cellrebel_sdk的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter集成CellRebel SDK插件flutter_cellrebel_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


要在Flutter项目中集成flutter_cellrebel_sdk插件,你需要按照以下步骤进行操作。假设你已经熟悉Flutter的基本开发流程。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  flutter_cellrebel_sdk: ^1.0.0  # 请使用最新版本

然后,运行以下命令来获取依赖:

flutter pub get

2. 初始化SDK

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

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

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

  // 初始化CellRebel SDK
  await FlutterCellrebelSdk.initialize(
    apiKey: 'YOUR_API_KEY',  // 替换为你的API Key
    appId: 'YOUR_APP_ID',    // 替换为你的App ID
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'CellRebel SDK Demo',
      home: HomeScreen(),
    );
  }
}

3. 使用SDK功能

flutter_cellrebel_sdk插件可能提供了一些方法来跟踪用户行为、收集数据等。你可以根据插件的文档来调用这些方法。

例如,跟踪用户事件:

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('CellRebel SDK Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 跟踪用户事件
            await FlutterCellrebelSdk.trackEvent(eventName: 'button_clicked');
          },
          child: Text('Track Event'),
        ),
      ),
    );
  }
}

4. 处理权限(如果需要)

如果CellRebel SDK需要访问某些设备权限(如位置、存储等),你需要在AndroidManifest.xmlInfo.plist文件中添加相应的权限声明。

Android (android/app/src/main/AndroidManifest.xml):

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

iOS (ios/Runner/Info.plist):

<key>NSLocationWhenInUseUsageDescription</key>
<string>We need your location to provide better services.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>We need your location to provide better services.</string>

5. 运行应用

确保你已经正确配置了所有内容,然后运行你的Flutter应用:

flutter run

6. 调试和测试

在开发过程中,你可能需要调试和测试SDK的功能。可以使用flutter_cellrebel_sdk提供的日志功能或其他调试工具来查看SDK的输出。

7. 处理错误和异常

在使用SDK的过程中,可能会遇到一些错误或异常。确保你在代码中适当地处理这些情况,例如使用try-catch块来捕获异常。

try {
  await FlutterCellrebelSdk.trackEvent(eventName: 'button_clicked');
} catch (e) {
  print('Error tracking event: $e');
}
回到顶部