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
更多关于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, // 禁用调试模式
);