Flutter客户端SDK插件tembo_client_sdk的使用

Flutter客户端SDK插件tembo_client_sdk的使用

一个用于处理特定于TemboPlus要求的Flutter SDK。

获取SDK

当前SDK使用第三方服务提供商Smile Identity进行用户身份验证。内部包利用了smile_identity_plugin插件来处理所有移动原生实现。请确保在首次运行之前已经完成了该包所需的所有设置。

使用指南

SDK的入口点是startTemboVerification函数。

参数:

/// startTemboVerification 函数参数
startTemboVerification(
  BuildContext context, 
  { 
    TemboColorScheme? scheme, 
    Data? userData, 
    ThemeMode? themeMode, 
    TemboLocale locale = TemboLocale.en 
  }
);
scheme: TemboColorScheme?

一组颜色以自定义页面外观。

/// TemboColorScheme 构造函数
const TemboColorScheme({
  this.primary,
  this.onPrimary,
  this.border,
  this.hint,
  this.title,
  this.body,
  this.background,
  this.onBackground,
  this.surfaceContainer,
  this.onSurfaceContainer,
  this.error,
  this.onError,
});
userData: Data?

特定用户的详细数据。提供的用户数据将在打开特定页面时预先填充。

/// Data 构造函数
Data({
  this.country,
  this.firstName,
  this.lastName,
  this.dob,
  this.gender,
  this.document,
  required this.userId,
  this.environment,
});
themeMode: ThemeMode?

如果未定义scheme,则ThemeMode.light将使用默认浅色颜色方案,ThemeMode.dark将使用默认深色颜色方案。如果提供了scheme,则忽略themeMode

locale: TemboLocale

定义要使用的语言。目前仅支持英语(TemboLocale.en)和斯瓦希里语(TemboLocale.sw)。

/// TemboLocale 声明
enum TemboLocale {
  sw,
  en,
}

SDK从调用startTemboVerification函数开始处理一切,并在完成后返回到调用前的应用程序页面。

遇到任何问题?

请发送电子邮件至support@temboplus.com或在我们的存储库中提交一个问题。

示例代码

以下是一个完整的示例代码,展示了如何使用tembo_client_sdk插件。

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

void main() {
  runApp(const MainApp());
}

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark(),
      home: Scaffold(
        appBar: AppBar(
          title: const Text("应用 1"),
        ),
        body: Builder(
          builder: (context) {
            return Center(
              child: TextButton(
                onPressed: () async {
                  startTemboVerification(context,
                      userData: TemboUserData(
                        userId: "user-3",
                        country: Country.tz(), // 国家代码
                        gender: Gender.female, // 性别
                        firstName: "Jane", // 名字
                        lastName: "Doe", // 姓氏
                        dob: DateTime(1995), // 出生日期
                        document: VerDocument(
                          type: VerDocumentType.nida, // 文档类型
                          issueDate: DateTime.now(), // 发行日期
                          expiryDate: DateTime.now(), // 到期日期
                          idNumber: "2836464744784", // 身份证号
                        ),
                      ),
                      locale: TemboLocale.sw, // 语言
                      fontFamily: "circular", // 字体
                      unmodifiableFields: [
                        Field.country,
                        Field.dob,
                        Field.docIssueDate,
                        Field.firstName,
                      ], // 不可修改的字段
                      scheme: const TemboColorScheme.dark() // 颜色方案
                      // skipUserInfoCollection: true, // 跳过用户信息收集
                      );
                },
                style: TextButton.styleFrom(
                    padding: const EdgeInsets.symmetric(
                      horizontal: 20,
                      vertical: 10,
                    ),
                    shape: const RoundedRectangleBorder(side: BorderSide())),
                child: const Text(
                  "开始",
                  style: TextStyle(fontSize: 18),
                ),
              ),
            );
          },
        ),
      ),
    );
  }
}

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

1 回复

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


tembo_client_sdk 是一个用于 Flutter 的客户端 SDK 插件,它允许开发者与 Tembo 平台进行交互。Tembo 通常用于处理实时数据、分析、事件跟踪等功能。以下是如何在 Flutter 项目中使用 tembo_client_sdk 的基本步骤:

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  tembo_client_sdk: ^1.0.0  # 请根据实际情况填写版本号

然后运行 flutter pub get 来获取依赖。

2. 初始化 SDK

在 Flutter 应用中,你需要在应用启动时初始化 Tembo SDK。通常可以在 main.dart 文件中进行初始化。

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Tembo SDK
  await TemboClientSdk.initialize(
    apiKey: 'YOUR_API_KEY',  // 替换为你的 API Key
    userId: 'USER_ID',  // 替换为你的用户 ID
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Tembo SDK Example',
      home: MyHomePage(),
    );
  }
}

3. 使用 SDK 功能

tembo_client_sdk 提供了多种功能,例如事件跟踪、用户属性设置等。以下是几个常见的使用示例:

3.1 跟踪事件

你可以使用 trackEvent 方法来跟踪用户事件。

import 'package:tembo_client_sdk/tembo_client_sdk.dart';

void trackUserEvent() async {
  await TemboClientSdk.trackEvent(
    eventName: 'button_clicked',
    properties: {
      'button_id': 'login_button',
      'timestamp': DateTime.now().toString(),
    },
  );
}

3.2 设置用户属性

你可以使用 setUserProperties 方法来设置用户属性。

import 'package:tembo_client_sdk/tembo_client_sdk.dart';

void setUserProperties() async {
  await TemboClientSdk.setUserProperties(
    properties: {
      'name': 'John Doe',
      'email': 'john.doe@example.com',
      'age': 30,
    },
  );
}

3.3 获取用户信息

你可以使用 getUserInfo 方法来获取用户信息。

import 'package:tembo_client_sdk/tembo_client_sdk.dart';

void getUserInfo() async {
  final userInfo = await TemboClientSdk.getUserInfo();
  print('User Info: $userInfo');
}

4. 处理错误

在使用 SDK 时,可能会遇到错误。你可以使用 try-catch 来捕获并处理这些错误。

import 'package:tembo_client_sdk/tembo_client_sdk.dart';

void trackEventWithErrorHandling() async {
  try {
    await TemboClientSdk.trackEvent(
      eventName: 'button_clicked',
      properties: {
        'button_id': 'login_button',
        'timestamp': DateTime.now().toString(),
      },
    );
  } catch (e) {
    print('Error tracking event: $e');
  }
}

5. 注销用户

当用户注销时,你可以调用 logout 方法来清除用户数据。

import 'package:tembo_client_sdk/tembo_client_sdk.dart';

void logoutUser() async {
  await TemboClientSdk.logout();
}

6. 其他功能

根据 tembo_client_sdk 的具体实现,可能还提供了其他功能,如实时数据更新、推送通知等。你可以查阅 SDK 的官方文档以获取更多信息。

7. 调试与日志

在开发过程中,你可能需要启用调试日志以帮助排查问题。你可以通过设置 debug 参数来启用调试模式。

await TemboClientSdk.initialize(
  apiKey: 'YOUR_API_KEY',
  userId: 'USER_ID',
  debug: true,  // 启用调试模式
);

8. 发布模式

在发布应用时,确保将 debug 参数设置为 false,以避免在生产环境中输出不必要的日志。

await TemboClientSdk.initialize(
  apiKey: 'YOUR_API_KEY',
  userId: 'USER_ID',
  debug: false,  // 禁用调试模式
);
回到顶部