Flutter短信发送插件oursms的使用
OurSMS - Flutter
本插件提供了简单轻量级的方法,可以用来向电话号码发送消息。
使用
你可以像这样使用它:
// 初始化客户端
final OursmsClient client = OursmsClient(key: 'YOUR_API_KEY', userId: 'YOUR_USER_ID');
// 发送单条消息(OSM)
final SentMessage sentMessage = await client.sendOneMessage(
phoneNumber: '+8613800000000', // 电话号码
message: '你好,这是一条测试消息。', // 消息内容
);
// 发送一次性密码(OTP)
final SentMessage sentMessage = await client.sendOtpMessage(
phoneNumber: '+8613800000000', // 电话号码
otpNumber: '123456', // 一次性密码
);
// 获取消息状态
final MessageStatus messageStatus = await client.getMessageStatus(messageId: 'MESSAGE_ID');
完整示例 Demo
以下是一个完整的示例,展示了如何使用 OursmsClient
来发送短信和获取消息状态:
import 'package:flutter/material.dart';
import 'package:oursms/oursms.dart'; // 导入oursms包
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('OurSMS 示例'),
),
body: Center(
child: SendSmsButton(),
),
),
);
}
}
class SendSmsButton extends StatefulWidget {
[@override](/user/override)
_SendSmsButtonState createState() => _SendSmsButtonState();
}
class _SendSmsButtonState extends State<SendSmsButton> {
String _messageStatus = '未发送消息';
Future<void> _sendMessage() async {
final OursmsClient client = OursmsClient(
key: 'YOUR_API_KEY', // 替换为你的API密钥
userId: 'YOUR_USER_ID', // 替换为你的用户ID
);
try {
// 发送单条消息
final SentMessage sentMessage = await client.sendOneMessage(
phoneNumber: '+8613800000000', // 电话号码
message: '你好,这是一条测试消息。', // 消息内容
);
setState(() {
_messageStatus = '消息已发送,消息ID: ${sentMessage.messageId}';
});
// 获取消息状态
final MessageStatus messageStatus = await client.getMessageStatus(messageId: sentMessage.messageId);
setState(() {
_messageStatus = '消息状态: ${messageStatus.status}';
});
} catch (e) {
setState(() {
_messageStatus = '发送失败: $e';
});
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: _sendMessage,
child: Text('发送短信'),
),
SizedBox(height: 20),
Text(_messageStatus),
],
);
}
}
更多关于Flutter短信发送插件oursms的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter短信发送插件oursms的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
oursms
是一个用于在 Flutter 应用中发送短信的插件。它允许开发者通过简单的 API 调用来发送短信。以下是使用 oursms
插件的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 oursms
插件的依赖。
dependencies:
flutter:
sdk: flutter
oursms: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
2. 导入插件
在你的 Dart 文件中导入 oursms
插件。
import 'package:oursms/oursms.dart';
3. 初始化插件
在使用插件之前,你需要初始化它。通常,你可以在 main.dart
文件中进行初始化。
void main() {
runApp(MyApp());
Oursms.initialize(apiKey: 'YOUR_API_KEY'); // 使用你的 API 密钥
}
4. 发送短信
你可以使用 Oursms.sendSms
方法来发送短信。
void sendSms() async {
try {
final response = await Oursms.sendSms(
to: '+1234567890', // 接收方号码
message: 'Hello, this is a test message!', // 短信内容
);
if (response['status'] == 'success') {
print('SMS sent successfully!');
} else {
print('Failed to send SMS: ${response['message']}');
}
} catch (e) {
print('Error sending SMS: $e');
}
}
5. 处理响应
Oursms.sendSms
方法会返回一个包含发送状态的响应。你可以根据 status
字段来判断短信是否发送成功。
6. 权限配置
在 Android 上,发送短信需要 SEND_SMS
权限。你需要在 AndroidManifest.xml
文件中添加以下权限:
<uses-permission android:name="android.permission.SEND_SMS"/>
对于 iOS,你需要在 Info.plist
文件中添加以下权限描述:
<key>NSMessageUsageDescription</key>
<string>We need to send SMS messages.</string>
7. 测试
确保你已经在设备上测试了短信发送功能,并且 API 密钥是正确的。
8. 处理错误
在实际应用中,你可能会遇到各种错误,比如网络问题、权限问题等。确保你正确地处理这些错误,并向用户提供适当的反馈。
示例代码
以下是一个完整的示例代码:
import 'package:flutter/material.dart';
import 'package:oursms/oursms.dart';
void main() {
runApp(MyApp());
Oursms.initialize(apiKey: 'YOUR_API_KEY');
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Send SMS Example'),
),
body: Center(
child: ElevatedButton(
onPressed: sendSms,
child: Text('Send SMS'),
),
),
),
);
}
void sendSms() async {
try {
final response = await Oursms.sendSms(
to: '+1234567890', // 接收方号码
message: 'Hello, this is a test message!', // 短信内容
);
if (response['status'] == 'success') {
print('SMS sent successfully!');
} else {
print('Failed to send SMS: ${response['message']}');
}
} catch (e) {
print('Error sending SMS: $e');
}
}
}