Flutter消息推送插件flutter_fcm_wrapper的使用
Flutter消息推送插件flutter_fcm_wrapper的使用
Flutter FCM Wrapper
这是一个受PyFCM启发而创建的用于FCM REST API的封装包。
🧭 开始使用
➕ 安装
在pubspec.yaml
文件中添加Flutter FCM Wrapper:
dependencies:
flutter_fcm_wrapper: <latest_version>
🔑 API Token
从Firebase控制台获取API密钥:
- 进入你的Firebase项目
- 转到项目设置
- 转到云消息传递
- 获取服务器密钥
🍎 iOS配置
如果你要向Apple客户端发送消息,需要将APNs密钥添加到Firebase。更多详情可查看Apple平台上的Firebase Cloud Messaging客户端应用设置。
📤 使用方法
🚧 构建Flutter FCM Wrapper实例
import 'package:flutter_fcm_wrapper/flutter_fcm_wrapper.dart';
FlutterFCMWrapper flutterFCMWrapper = const FlutterFCMWrapper(
apiKey: "Your Own API Key",
enableLog: true,
enableServerRespondLog: true,
);
📄 发送主题消息
String result = await flutterFCMWrapper.sendTopicMessage(
topicName: "example",
title: "Example",
body: "Topic message send using Flutter FCM Wrapper",
androidChannelID: "example",
clickAction: "FLUTTER_NOTIFICATION_CLICK"
);
🪙 发送令牌消息
Map<String, dynamic> result = await
flutterFCMWrapper.sendMessageByTokenID(userRegistrationTokens: [user's token],
title: "Example",
body: "Token message send using Flutter FCM Wrapper",
androidChannelID: "example",
clickAction: "FLUTTER_NOTIFICATION_CLICK"
);
🪝 捕获异常
try {
String result = await flutterFCMWrapper.sendTopicMessage(
topicName: "example",
title: "Example",
body: "Topic message send using Flutter FCM Wrapper",
androidChannelID: "example",
clickAction: "FLUTTER_NOTIFICATION_CLICK"
);
} on FlutterFCMWrapperInvalidDataException catch (e) {
//TODO:: 处理错误
} on FlutterFCMWrapperRespondException catch (e) {
//TODO:: 处理错误
}
更多关于Flutter消息推送插件flutter_fcm_wrapper的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter消息推送插件flutter_fcm_wrapper的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何使用 flutter_fcm_wrapper
插件来实现 Firebase Cloud Messaging (FCM) 消息推送的示例代码。这个示例将涵盖基本的集成步骤,包括插件的安装、配置以及处理接收到的消息。
步骤 1: 添加依赖
首先,在你的 pubspec.yaml
文件中添加 flutter_fcm_wrapper
依赖:
dependencies:
flutter:
sdk: flutter
flutter_fcm_wrapper: ^x.y.z # 请替换为最新版本号
然后运行 flutter pub get
来获取依赖。
步骤 2: 配置 Firebase 项目
- 在 Firebase 控制台中创建项目:如果你还没有 Firebase 项目,请先创建一个。
- 添加 Android 应用:下载
google-services.json
文件并将其放置在android/app/
目录下。 - 添加 iOS 应用(如果适用):下载
GoogleService-Info.plist
文件并将其放置在ios/Runner/
目录下。同时,确保在 Xcode 中配置了相应的 Capabilities,如 Push Notifications。
步骤 3: 配置 android/app/build.gradle
在 android/app/build.gradle
文件中,确保应用级别构建脚本包含对 Google 服务的引用:
apply plugin: 'com.google.gms.google-services'
步骤 4: 配置 android/build.gradle
在 android/build.gradle
文件的 buildscript
部分,添加 Google 服务的 classpath 依赖:
buildscript {
ext.kotlin_version = 'x.y.z' // 替换为当前 Kotlin 版本
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:x.y.z' // 替换为当前 Gradle 版本
classpath 'com.google.gms:google-services:x.y.z' // 替换为当前 Google 服务插件版本
}
}
步骤 5: 初始化 FCM
在你的 Flutter 应用中,初始化 flutter_fcm_wrapper
。通常,这会在 main.dart
或某个初始化服务中进行。
import 'package:flutter/material.dart';
import 'package:flutter_fcm_wrapper/flutter_fcm_wrapper.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 FCM
await FlutterFcmWrapper.initialize(
onMessage: (Map<String, dynamic> message) async {
print("收到消息: $message");
// 在这里处理接收到的消息
},
onResume: (Map<String, dynamic> message) async {
print("应用恢复时收到消息: $message");
// 在这里处理应用恢复时接收到的消息
},
onLaunch: (Map<String, dynamic> message) async {
print("应用启动时收到消息: $message");
// 在这里处理应用启动时接收到的消息
},
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter FCM Demo',
home: Scaffold(
appBar: AppBar(
title: Text('Flutter FCM Demo'),
),
body: Center(
child: Text('等待消息...'),
),
),
);
}
}
步骤 6: 请求通知权限(可选,但推荐)
在你的应用中请求通知权限,这通常在应用启动时进行。可以使用 flutter_local_notifications
插件来实现这一点,它与 flutter_fcm_wrapper
可以很好地配合使用。
注意事项
- 确保你的 Firebase 项目配置正确,包括 FCM 的设置。
- 在 iOS 上,你需要配置 AppDelegate 以处理 FCM 回调(尽管
flutter_fcm_wrapper
通常会处理大部分工作,但你可能需要查看插件文档以确保所有必要的配置都已到位)。 - 测试时,可以使用 Firebase 控制台发送测试消息来验证集成是否成功。
这个示例展示了基本的集成步骤和消息处理逻辑。根据你的具体需求,你可能需要扩展或修改这些代码。务必查阅 flutter_fcm_wrapper
的官方文档以获取最新信息和高级配置选项。