Flutter WhatsApp消息发送插件whatsapp_sender_flutter的使用
Flutter WhatsApp消息发送插件whatsapp_sender_flutter的使用
简介
WhatsApp Sender Flutter
是一个非官方的 Flutter 插件,用于通过 WhatsApp 发送批量消息。请注意,不建议在公司或营销目的中使用此插件。
如果你喜欢这个项目,可以考虑支持作者 Buy Me A Coffee。
感谢 rohitsangwan01 的参考!
开始使用
添加依赖
在你的 Flutter 项目的 pubspec.yaml
文件中添加以下依赖:
dependencies:
...
whatsapp_sender_flutter: latest
导入插件
在 Dart 文件中导入插件:
import 'package:whatsapp_sender_flutter/whatsapp_sender_flutter.dart';
配置
首次使用时,等待项目根目录下自动下载的 .local-chromium
文件夹。没有这个文件夹,插件将无法工作,因为该插件基于 puppeteer。
基本用法
发送消息的过程类似于 WhatsApp Web:
- 扫描二维码
- 开始发送
发送文本消息
扫描二维码后,你可以开始发送消息活动。
所有电话号码必须包含国际区号!
await WhatsAppSenderFlutter.send(
phones: ["391111111", "391111111", "391111111"],
message: "Hello",
);
发送文件消息
扫描二维码后,你可以开始发送消息活动。
所有电话号码必须包含国际区号!
await WhatsAppSenderFlutter.send(
phones: ["391111111", "391111111", "391111111"],
message: "Hello",
file: File("path-to-file.pdf"),
);
监听变化
新的函数用于监听变化:
onEvent(WhatsAppSenderFlutterStatus status)
,用于监听发送状态onQrCode(String qrCode)
,用于拦截二维码onSending(WhatsAppSenderFlutterCounter counter)
,用于统计成功或失败的提交数量onError(WhatsAppSenderFlutterErrorMessage errorMessage)
,用于捕获发送过程中的错误
await WhatsAppSenderFlutter.send(
phones: ["391111111", "391111111", "391111111"],
message: "Hello",
file: File("path-to-file.pdf"),
onEvent: (WhatsAppSenderFlutterStatus status) {
print(status);
},
onQrCode: (String qrCode) {
print(qrCode);
},
onSending: (WhatsAppSenderFlutterCounter counter) {
print(counter.success.toString());
print(counter.fails.toString());
},
onError: (WhatsAppSenderFlutterErrorMessage errorMessage) {
print(errorMessage);
},
);
要详细了解 WhatsAppSenderFlutterStatus
、WhatsAppSenderFlutterCounter
和 WhatsAppSenderFlutterErrorMessage
的可能状态,请阅读文档。
保存会话
要保存会话,必须在 savedSessionDir
中指定一个文件夹名称。
如果你保存了会话,将不再需要每次发送时扫描二维码!
如果不希望每次发送时都扫描二维码,请不要指定 savedSessionDir
。
WhatsAppSenderFlutter whatsAppSenderFlutter = WhatsAppSenderFlutter();
await whatsAppSenderFlutter.send(
phones: ["391111111", "391111111", "391111111"],
message: "Hello",
savedSessionDir: "./userData"
);
待办事项
- 发送文本消息 ✔️
- 多会话支持 ✔️
- 发送文件 ✔️
许可证
更多关于Flutter WhatsApp消息发送插件whatsapp_sender_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter WhatsApp消息发送插件whatsapp_sender_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何使用 whatsapp_sender_flutter
插件在 Flutter 应用中发送 WhatsApp 消息的示例代码。这个插件允许你通过预填充的文本启动 WhatsApp 聊天,或者在某些情况下直接发送消息(这取决于 WhatsApp 的当前政策和 API 限制)。
首先,确保你的 Flutter 项目已经添加了 whatsapp_sender_flutter
依赖。在你的 pubspec.yaml
文件中添加以下依赖:
dependencies:
flutter:
sdk: flutter
whatsapp_sender_flutter: ^latest_version # 请替换为最新的版本号
然后运行 flutter pub get
来获取依赖。
接下来,在你的 Dart 代码中,你可以按照以下方式使用这个插件:
import 'package:flutter/material.dart';
import 'package:whatsapp_sender_flutter/whatsapp_sender_flutter.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('WhatsApp Sender Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: () {
// 打开与特定联系人的聊天窗口,并预填充消息文本
WhatsAppSender.sendMessageToNumber(
phoneNumber: '+1234567890', // 替换为实际的 WhatsApp 用户电话号码
message: 'Hello, this is a test message!',
);
},
child: Text('Send Message'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
// 仅打开与特定联系人的聊天窗口(不带预填充文本)
WhatsAppSender.openChatWindowWithNumber(
phoneNumber: '+1234567890', // 替换为实际的 WhatsApp 用户电话号码
);
},
child: Text('Open Chat'),
),
],
),
),
),
);
}
}
在这个示例中,我们创建了一个简单的 Flutter 应用,其中有两个按钮:
-
Send Message 按钮:使用
WhatsAppSender.sendMessageToNumber
方法尝试发送消息到指定的电话号码。请注意,由于 WhatsApp 的限制,此方法可能只会预填充消息文本并打开聊天窗口,而不是直接发送消息。 -
Open Chat 按钮:使用
WhatsAppSender.openChatWindowWithNumber
方法仅打开与指定电话号码的聊天窗口,不带预填充的文本。
请注意,电话号码应该包括国际区号,并且以加号 (+
) 开头,没有空格或其他字符。
此外,由于 WhatsApp 的政策和 API 可能会变化,务必查看 whatsapp_sender_flutter
插件的文档和更新日志,以确保你的实现符合当前的最佳实践和限制。