推送通知
Firebase 云消息传递 (FCM)
此模板预先配置了 Firebase 云消息传递。如果您更喜欢使用 OneSignal,请使用本页最后一部分中的说明。
开箱即用,该应用程序会订阅与支持的新闻类别相对应的主题,例如health
、science
、sports
、food
等等。
触发通知 📬
使用 Firebase 云消息传递 REST API 触发通知
-
首先,在 Google OAuth 2.0 Playground 中生成(必需的)访问令牌。
-
在 Firebase 云消息传递 API v1 下选择
https://www.googleapis.com/auth/firebase.messaging
作用域,然后单击 授权 API。 -
然后,使用有权访问相应 Firebase 项目的 Google 帐户登录,然后单击 将授权码交换为令牌。
-
使用以下
cURL
语法向主题发送消息
curl -X POST -H "Authorization: Bearer <ACCESS_TOKEN>" -H "Content-Type: application/json" -d '{
"message": {
"topic" : "<TOPIC-NAME>",
"notification": {
"body": "This is a Firebase Cloud Messaging Topic Test Message!",
"title": "Test Notification"
}
}
}' https://fcm.googleapis.com/v1/projects/<PROJECT-ID>/messages:send HTTP/1.1
注意
在前面的示例中,将
<ACCESS_TOKEN>
替换为从 Google OAuth 2.0 Playground 生成的访问令牌,将<TOPIC-NAME>
替换为所需的主题名称,并将<PROJECT-ID>
替换为相应的 Firebase 项目 ID。
注意
确保您在物理设备上运行应用程序,以便接收 FCM 消息。
OneSignal
按照 OneSignal 的指南设置 OneSignal Flutter SDK。确保
- 满足 OneSignal 文档中列出的所有集成要求。
- 添加 OneSignal Flutter SDK 依赖项。
- 在 Xcode 中添加 iOS 服务扩展。
- 在 Xcode 中启用
push capability
。 - 在代码库中设置 Android 的 OneSignal。
- 在通知客户端包中初始化 OneSignal。
- 将代码库中的 FCM 引用替换为相应的 OneSignal 基础设施
- 在
lib/main/bootstap/bootstrap.dart
中,将FirebaseMessaging
替换为OneSignal
,并将FireBaseMessaging.instance
替换为OneSignal.shared
实例。 - 在每个风味的
main.dart
文件中,将notificationsClient
分配给OneSignalNotificationsClient
的实例。
- 在
- 运行应用程序并通过 OneSignal 发送测试通知。
- 注意:iOS 推送通知仅在物理设备上测试时才有效.