Flutter邮件营销与自动化插件flutter_sendinblue的使用
Flutter邮件营销与自动化插件flutter_sendinblue的使用
本包为Sendinblue API提供了简单的封装。
注意事项
⚠️ 该包并非官方Sendinblue插件。
限制
该包最初是为一个特定的小项目而构建的,并非设计为开源项目。然而,经过反思,我认为将其发布到pub.dev可能会帮助其他人。因此,目前该包的功能相对较少(相较于官方API提供的功能)。
请随时贡献或提及你需要的其他封装。
功能
联系人管理
- 创建联系人
- 获取所有联系人
- 分页获取联系人
- 获取特定联系人详情
- 删除联系人
- 将联系人添加到邮件黑名单
- 从邮件黑名单中移除联系人
- 更新联系人属性
入门指南
要开始使用API,首先需要初始化插件并提供你的API密钥,如下所示:
Sendinblue.initialize(
configuration: SendinblueConfiguration(apiKey: 'your-api-key'),
);
此初始化可以在任何时间进行,但必须在调用其他方法之前完成。
使用示例
创建联系人
final int contactId = await Sendinblue.instance.createContact(email: 'hello@gmail.com');
获取所有联系人
final List<Contact> contacts = await Sendinblue.instance.getAllContacts();
分页获取联系人
final List<Contact> contacts = await Sendinblue.instance.getContacts(offset: 0, limit: 50);
获取特定联系人
final Contact contact = await Sendinblue.instance.getContact(email: 'found@gmail.com');
删除联系人
await Sendinblue.instance.deleteContact(email: 'delete@gmail.com');
将联系人添加到邮件黑名单
await Sendinblue.instance.addContactInEmailsBlackList(email: 'blacklisted@gmail.com');
从邮件黑名单中移除联系人
await Sendinblue.instance.removeContactFromEmailsBlackList(email: 'blacklisted@gmail.com');
更新联系人属性
await Sendinblue.instance.updateContactProperties(
email: 'updated@gmail.com',
properties: {
'name': 'John',
'premium': true,
},
);
请注意,Sendinblue API只会更新已在平台上创建的属性(我们也可以使用API来创建属性,但这尚未在此包中实现)。
提示:你可以在Sendinblue上设置一些“日期”属性。请注意,Sendinblue API期望的日期格式为’YYYY-MM-DD’。为了方便使用,包中包含了一个扩展方法:
DateTime(2021, 1, 1).toSendinBlueFormat(); // '2021-01-01'
额外信息
有关可以使用该包进行的操作的更多信息,请参阅官方Sendinblue文档:https://developers.sendinblue.com/reference
完整示例Demo
以下是一个完整的示例代码,展示了如何使用flutter_sendinblue
插件来管理和展示联系人信息。
import 'package:flutter/material.dart';
import 'package:flutter_sendinblue/flutter_sendinblue.dart';
import 'contact_detail_page.dart';
void main() {
Sendinblue.initialize(
configuration: SendinblueConfiguration(
apiKey:
'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',
),
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Sendinblue Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Sendinblue Demo'),
),
body: FutureBuilder<List<Contact>>(
future: Sendinblue.instance.getAllContacts(),
builder: (context, snapshot) {
if (snapshot.hasData) {
final contacts = snapshot.data;
if (contacts == null) {
return const Center(
child: Text('No contacts found'),
);
}
return ListView.builder(
itemCount: contacts.length,
itemBuilder: (context, index) {
final contact = snapshot.data![index];
return ListTile(
title: Text(
contact.email,
style: Theme.of(context).textTheme.bodyText1,
),
subtitle: Text('id: ${contact.id}'),
onTap: () => ContactDetailPage.navigateTo(context, contact.email),
);
},
);
} else if (snapshot.hasError) {
return Center(
child: Text(snapshot.error.toString()),
);
} else {
return const Center(
child: CircularProgressIndicator(),
);
}
},
),
);
}
}
更多关于Flutter邮件营销与自动化插件flutter_sendinblue的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter邮件营销与自动化插件flutter_sendinblue的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_sendinblue
是一个用于在 Flutter 应用中集成 Sendinblue 邮件营销和自动化功能的插件。Sendinblue 是一个强大的营销平台,允许你发送电子邮件、短信、管理联系人、自动化营销流程等。通过 flutter_sendinblue
插件,你可以轻松地将这些功能集成到你的 Flutter 应用中。
安装 flutter_sendinblue
插件
首先,你需要在 pubspec.yaml
文件中添加 flutter_sendinblue
依赖:
dependencies:
flutter:
sdk: flutter
flutter_sendinblue: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
配置 Sendinblue API 密钥
在使用 flutter_sendinblue
之前,你需要获取你的 Sendinblue API 密钥。你可以在 Sendinblue 的仪表板中找到它。
使用 flutter_sendinblue
插件
以下是如何在 Flutter 应用中使用 flutter_sendinblue
的基本步骤:
-
初始化插件:
在你的 Dart 代码中,首先初始化
flutter_sendinblue
插件,并设置你的 API 密钥。import 'package:flutter_sendinblue/flutter_sendinblue.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await FlutterSendinblue.init(apiKey: 'YOUR_SENDINBLUE_API_KEY'); runApp(MyApp()); }
-
发送电子邮件:
你可以使用
sendEmail
方法来发送电子邮件。void sendEmail() async { final email = SendinblueEmail( to: [SendinblueEmailAddress(email: 'recipient@example.com', name: 'Recipient Name')], subject: 'Test Email', htmlContent: '<p>This is a test email sent from Flutter using Sendinblue.</p>', ); try { await FlutterSendinblue.sendEmail(email); print('Email sent successfully'); } catch (e) { print('Failed to send email: $e'); } }
-
管理联系人:
你可以使用
createContact
方法来添加联系人到 Sendinblue。void createContact() async { final contact = SendinblueContact( email: 'new_contact@example.com', attributes: {'FIRSTNAME': 'John', 'LASTNAME': 'Doe'}, listIds: [1], // 添加联系人到特定的列表 ); try { await FlutterSendinblue.createContact(contact); print('Contact created successfully'); } catch (e) { print('Failed to create contact: $e'); } }
-
触发自动化工作流:
你可以使用
triggerWorkflow
方法来触发 Sendinblue 中的自动化工作流。void triggerWorkflow() async { final workflow = SendinblueWorkflow( workflowId: 123, // 你的工作流ID email: 'user@example.com', ); try { await FlutterSendinblue.triggerWorkflow(workflow); print('Workflow triggered successfully'); } catch (e) { print('Failed to trigger workflow: $e'); } }