Flutter WhatsApp消息发送插件whatsapp_sender_flutter的使用

发布于 1周前 作者 phonegap100 来自 Flutter

Flutter WhatsApp消息发送插件whatsapp_sender_flutter的使用

简介

pub package pub points pub popularity pub likes

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:

  1. 扫描二维码
  2. 开始发送

发送文本消息

扫描二维码后,你可以开始发送消息活动。

所有电话号码必须包含国际区号!

await WhatsAppSenderFlutter.send(
  phones: ["391111111", "391111111", "391111111"],
  message: "Hello",
);

发送文件消息

扫描二维码后,你可以开始发送消息活动。

所有电话号码必须包含国际区号!

await WhatsAppSenderFlutter.send(
  phones: ["391111111", "391111111", "391111111"],
  message: "Hello",
  file: File("path-to-file.pdf"),
);

监听变化

新的函数用于监听变化:

  1. onEvent(WhatsAppSenderFlutterStatus status),用于监听发送状态
  2. onQrCode(String qrCode),用于拦截二维码
  3. onSending(WhatsAppSenderFlutterCounter counter),用于统计成功或失败的提交数量
  4. 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);
  },
);

要详细了解 WhatsAppSenderFlutterStatusWhatsAppSenderFlutterCounterWhatsAppSenderFlutterErrorMessage 的可能状态,请阅读文档。

保存会话

要保存会话,必须在 savedSessionDir 中指定一个文件夹名称。

如果你保存了会话,将不再需要每次发送时扫描二维码!

如果不希望每次发送时都扫描二维码,请不要指定 savedSessionDir

WhatsAppSenderFlutter whatsAppSenderFlutter = WhatsAppSenderFlutter();

await whatsAppSenderFlutter.send(
  phones: ["391111111", "391111111", "391111111"],
  message: "Hello",
  savedSessionDir: "./userData"
);

待办事项

  • 发送文本消息 ✔️
  • 多会话支持 ✔️
  • 发送文件 ✔️

许可证

MIT License


更多关于Flutter WhatsApp消息发送插件whatsapp_sender_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于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 应用,其中有两个按钮:

  1. Send Message 按钮:使用 WhatsAppSender.sendMessageToNumber 方法尝试发送消息到指定的电话号码。请注意,由于 WhatsApp 的限制,此方法可能只会预填充消息文本并打开聊天窗口,而不是直接发送消息。

  2. Open Chat 按钮:使用 WhatsAppSender.openChatWindowWithNumber 方法仅打开与指定电话号码的聊天窗口,不带预填充的文本。

请注意,电话号码应该包括国际区号,并且以加号 (+) 开头,没有空格或其他字符。

此外,由于 WhatsApp 的政策和 API 可能会变化,务必查看 whatsapp_sender_flutter 插件的文档和更新日志,以确保你的实现符合当前的最佳实践和限制。

回到顶部