Flutter通信服务插件telnyx_flutter的使用
Flutter通信服务插件telnyx_flutter的使用
A Flutter (dart) package for helping developers using the Telnyx API services
特性
- 使用编程方式发送短信
- 使用编程方式发送WhatsApp消息
即将推出:
- 获取与Telnyx账户相关的所有短信
- 获取从Telnyx账户发送的每条短信的更多详情
开始使用
要使用此插件,请将依赖项添加到您的 pubspec.yaml
文件中。
dependencies:
flutter:
sdk: flutter
telnyx_flutter: ^0.0.5
如何使用
创建一个新的客户端对象
var telnyxFlutter = TelnyxFlutter(
telnyxNumber : '[YOUR_TELNYX_NUMBER]', // 例如: +xxxxxxxxxxxx
authToken : '[YOUR_TELNYX_API_KEY]', // 例如: KEY****
messagingProfileId : '[YOUR_MESSAGING_PROFILE_ID]', // 例如: aaaaaaaa-bbbb-cccc-dddd-111111111111
whatappUserId: ['WHATSUP_USER_ID'] // (可选)
);
发送短信
telnyxFlutter.sendSMS(
toNumber : '+xxxxxxxxxxxx',
messageBody : 'your message here',
);
使用Alphanumeric SenderID发送短信
// 例如使用 TELNYX
telnyxFlutter.sendSMS(
senderId: 'TELNYX'
toNumber : '+xxxxxxxxxxxx',
messageBody : 'your message here',
);
向个人号码发送WhatsApp短信
telnyxFlutter.sendWhatsApp(
toNumber : '+xxxxxxxxxxxx',
messageBody : 'your WA message here',
);
示例代码
以下是完整的示例代码:
import 'package:telnyx_flutter/telnyx_flutter.dart';
void main() {
final toNumber = '+972000000000';
final messageBody = 'Hello from Telnyx';
var telnyxFlutter = TelnyxFlutter(
telnyxNumber: '+___________',
authToken: 'KEY*_*',
messagingProfileId: '*-*-*-*-*'
);
// 发送短信
telnyxFlutter.sendSMS(
toNumber: toNumber, messageBody: messageBody).then((value) {
print(value);
});
// 使用Sender ID发送短信
telnyxFlutter.sendSMSWithSenderID(
senderId: 'SENDER_ID', toNumber: toNumber, messageBody: messageBody).then((value) {
print(value);
});
// 发送WhatsApp消息
telnyxFlutter.sendWhatsApp(
toNumber: toNumber, messageBody: messageBody).then((value) {
print(value);
});
}
更多关于Flutter通信服务插件telnyx_flutter的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter通信服务插件telnyx_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
telnyx_flutter
是一个用于在 Flutter 应用中集成 Telnyx 通信服务的插件。Telnyx 提供了 VoIP、短信、号码管理等功能,通过 telnyx_flutter
插件,你可以轻松地在 Flutter 应用中实现这些功能。
以下是使用 telnyx_flutter
插件的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 telnyx_flutter
插件的依赖:
dependencies:
telnyx_flutter: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来获取依赖。
2. 初始化 Telnyx 服务
在你的 Flutter 应用中,首先需要初始化 Telnyx 服务。你可以在 main.dart
或其他合适的地方进行初始化。
import 'package:telnyx_flutter/telnyx_flutter.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 Telnyx
await TelnyxFlutter.initialize(
apiKey: 'YOUR_API_KEY', // 替换为你的 Telnyx API Key
);
runApp(MyApp());
}
3. 创建 Telnyx Client
初始化完成后,你可以创建一个 Telnyx Client 来进行通信操作。
TelnyxClient telnyxClient = TelnyxClient();
4. 拨打 VoIP 电话
使用 telnyxClient
可以拨打 VoIP 电话。你需要传入对方的电话号码或 SIP URI。
void makeCall() async {
try {
await telnyxClient.makeCall(
destinationNumber: '1234567890', // 替换为你要拨打的号码
callerIdNumber: '0987654321', // 替换为你的呼叫者 ID
);
} catch (e) {
print('Error making call: $e');
}
}
5. 发送短信
你也可以使用 telnyxClient
发送短信。
void sendSms() async {
try {
await telnyxClient.sendSms(
destinationNumber: '1234567890', // 替换为你要发送短信的号码
message: 'Hello from Telnyx!', // 短信内容
);
} catch (e) {
print('Error sending SMS: $e');
}
}
6. 监听事件
你可以监听 Telnyx 的事件,例如来电、短信接收等。
void listenToEvents() {
telnyxClient.onEvent.listen((event) {
print('Telnyx Event: $event');
// 处理事件
});
}
7. 处理权限
确保在 Android 和 iOS 上处理必要的权限,例如麦克风、电话等。
Android
在 AndroidManifest.xml
中添加以下权限:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />
iOS
在 Info.plist
中添加以下权限:
<key>NSMicrophoneUsageDescription</key>
<string>We need access to the microphone to make calls.</string>
8. 销毁资源
在应用退出时,确保销毁 Telnyx Client 以释放资源。
void dispose() {
telnyxClient.dispose();
}
9. 处理错误
在使用 telnyx_flutter
插件时,可能会遇到各种错误,例如网络错误、权限错误等。确保在代码中处理这些错误,并提供适当的用户反馈。
示例代码
以下是一个完整的示例,展示如何在 Flutter 应用中使用 telnyx_flutter
插件进行 VoIP 通话和发送短信。
import 'package:flutter/material.dart';
import 'package:telnyx_flutter/telnyx_flutter.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 Telnyx
await TelnyxFlutter.initialize(
apiKey: 'YOUR_API_KEY', // 替换为你的 Telnyx API Key
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: TelnyxExample(),
);
}
}
class TelnyxExample extends StatefulWidget {
[@override](/user/override)
_TelnyxExampleState createState() => _TelnyxExampleState();
}
class _TelnyxExampleState extends State<TelnyxExample> {
TelnyxClient telnyxClient = TelnyxClient();
[@override](/user/override)
void initState() {
super.initState();
listenToEvents();
}
void listenToEvents() {
telnyxClient.onEvent.listen((event) {
print('Telnyx Event: $event');
// 处理事件
});
}
void makeCall() async {
try {
await telnyxClient.makeCall(
destinationNumber: '1234567890', // 替换为你要拨打的号码
callerIdNumber: '0987654321', // 替换为你的呼叫者 ID
);
} catch (e) {
print('Error making call: $e');
}
}
void sendSms() async {
try {
await telnyxClient.sendSms(
destinationNumber: '1234567890', // 替换为你要发送短信的号码
message: 'Hello from Telnyx!', // 短信内容
);
} catch (e) {
print('Error sending SMS: $e');
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Telnyx Flutter Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: makeCall,
child: Text('Make Call'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: sendSms,
child: Text('Send SMS'),
),
],
),
),
);
}
[@override](/user/override)
void dispose() {
telnyxClient.dispose();
super.dispose();
}
}