Flutter短信发送插件future_sms的使用

Flutter短信发送插件future_sms的使用

特性

  • 您可以使用简单的点击来发送一次性密码(OTP)短信。
  • 服务器端验证确保了安全性。
  • Future SMS 可以返回 Firebase 自定义令牌以便使用 Firebase Auth 进行登录。

开始使用

  • 请通过电子邮件 karim@kar1mmohamed.com 联系 Kar1mMohamed 获取您的令牌,并附上您的电话号码以供联系。

使用方法

  1. 初始化插件main.dart 文件中,在调用 runApp 函数之前,初始化插件。

    // 初始化插件并传入您的令牌
    FutureSMS.initlize(token: 'YOUR-TOKEN');
    
  2. 发送一次性密码(OTP)短信 发送一次性密码短信,用于用户验证。

    // 发送一次性密码短信
    var response = await FutureSMS.instance.sendOTP(
      countryCode: '+20', // 国家代码
      phoneNumber: phoneNumber, // 用户的手机号码
      customText: Constants.otpMessage, // 自定义短信内容
    );
    
    // 检查是否成功发送
    if (response.verificationID != null) {
      // 成功发送后显示成功消息
      CustomSnackBar.success('Code sent successfully'.tr);
      isCodeSent = true; // 设置为已发送状态
      sentToPhoneNumber = phoneNumber; // 记录发送到的手机号码
      verificationId = response.verificationID!; // 存储验证ID
      print('verificationId: $verificationId'); // 打印验证ID
    }
    

    请注意,自定义短信内容 customText 是可选的,您可以不传入它。

  3. 验证一次性密码(OTP) 验证用户输入的一次性密码。

    // 验证一次性密码
    var response = await FutureSMS.instance.verifyOTP(
      otp: smsCode, // 用户输入的一次性密码
      verificationID: verificationId, // 上一步获取的验证ID
      userUID: phoneNumber.replaceAll('+', ''), // 用户唯一标识符,可选
    );
    
    // 响应将返回一次性密码是否验证成功
    // 如果设置了Firebase服务账户,它还将返回用于登录的自定义令牌
    

更多关于Flutter短信发送插件future_sms的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

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


future_sms 是一个 Flutter 插件,用于在 Android 和 iOS 设备上发送短信。它提供了一个简单的 API,允许你从你的 Flutter 应用中发送短信。以下是如何使用 future_sms 插件的基本步骤。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  future_sms: ^1.0.0+1  # 请检查最新版本

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

2. 导入插件

在你的 Dart 文件中导入 future_sms 插件。

import 'package:future_sms/future_sms.dart';

3. 发送短信

使用 FutureSms 类的 sendSms 方法来发送短信。你需要提供接收者的电话号码和短信内容。

void sendSms() async {
  String phoneNumber = '+1234567890';  // 接收者的电话号码
  String message = 'Hello, this is a test message from Flutter!';  // 短信内容

  try {
    await FutureSms.sendSms(
      phone: phoneNumber,
      message: message,
    );
    print('SMS sent successfully');
  } catch (e) {
    print('Failed to send SMS: $e');
  }
}

4. 处理权限

在 Android 上,发送短信需要 SEND_SMS 权限。你需要在 AndroidManifest.xml 文件中添加以下权限。

<uses-permission android:name="android.permission.SEND_SMS"/>

在 iOS 上,发送短信不需要特殊的权限,但你需要确保你的应用有权限访问短信功能。

5. 运行应用

现在你可以运行你的应用并调用 sendSms 方法来发送短信。

6. 处理回调(可选)

你可以通过监听 FutureSms.onSmsSentFutureSms.onSmsFailed 来处理短信发送成功或失败的回调。

FutureSms.onSmsSent.listen((String message) {
  print('SMS sent successfully: $message');
});

FutureSms.onSmsFailed.listen((String error) {
  print('Failed to send SMS: $error');
});
回到顶部