您的位置:首页 > 健康 > 养生 > 网页设计的素材_网游戏排行榜前十名_营销目标分为三个方面_查询关键词排名软件

网页设计的素材_网游戏排行榜前十名_营销目标分为三个方面_查询关键词排名软件

2025/3/5 4:54:06 来源:https://blog.csdn.net/Chloeeeeeeee/article/details/145996425  浏览:    关键词:网页设计的素材_网游戏排行榜前十名_营销目标分为三个方面_查询关键词排名软件
网页设计的素材_网游戏排行榜前十名_营销目标分为三个方面_查询关键词排名软件

Flutter 实现消息推送通常有以下几种方式:

1. 使用 Firebase Cloud Messaging (FCM)(推荐)

Firebase Cloud Messaging (FCM) 是 Google 提供的免费推送服务,支持 iOS 和 Android。

实现步骤
(1)配置 Firebase 项目
  • 在 Firebase 控制台 创建一个 Firebase 项目。
  • 添加 Android 和 iOS 应用,并下载 google-services.json (Android) 或 GoogleService-Info.plist (iOS) 文件。
  • 将这些文件放到 android/app/ios/Runner/ 目录中。
(2)安装依赖

pubspec.yaml 中添加:

dependencies:firebase_core: latest_versionfirebase_messaging: latest_version

然后运行:

flutter pub get
(3)初始化 Firebase

main.dart 中初始化 Firebase:

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';void main() async {WidgetsFlutterBinding.ensureInitialized();await Firebase.initializeApp();runApp(MyApp());
}
(4)请求通知权限
import 'package:firebase_messaging/firebase_messaging.dart';Future<void> requestPermission() async {FirebaseMessaging messaging = FirebaseMessaging.instance;NotificationSettings settings = await messaging.requestPermission(alert: true,announcement: false,badge: true,carPlay: false,criticalAlert: false,provisional: false,sound: true,);if (settings.authorizationStatus == AuthorizationStatus.authorized) {print('用户已授权');} else {print('用户拒绝了通知权限');}
}
(5)获取 FCM 令牌
FirebaseMessaging messaging = FirebaseMessaging.instance;void getToken() async {String? token = await messaging.getToken();print("FCM Token: $token");
}

服务器需要存储该 token 以便后续推送消息。

(6)监听消息
FirebaseMessaging.onMessage.listen((RemoteMessage message) {print('收到消息: ${message.notification?.title}');
});
(7)配置 Android

android/app/build.gradle

dependencies {implementation 'com.google.firebase:firebase-messaging:latest_version'
}
(8)配置 iOS
  • ios/Runner/Info.plist 中添加:
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
  • Runner.xcworkspace 中启用 Push Notifications

2. 使用 OneSignal

如果不想用 Firebase,可以使用 OneSignal,支持更强大的推送功能。

步骤
  1. 在 OneSignal 控制台 注册并创建应用。
  2. pubspec.yaml 添加:
dependencies:onesignal_flutter: latest_version
  1. main.dart
import 'package:onesignal_flutter/onesignal_flutter.dart';void main() {OneSignal.shared.setAppId("YOUR_ONESIGNAL_APP_ID");
}
  1. 服务器调用 OneSignal API 发送推送。

3. 使用本地通知 (Flutter Local Notifications)

如果只需要本地通知(不依赖服务器),可以使用 flutter_local_notifications

步骤
  1. pubspec.yaml 添加:
dependencies:flutter_local_notifications: latest_version
  1. 初始化:
import 'package:flutter_local_notifications/flutter_local_notifications.dart';FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =FlutterLocalNotificationsPlugin();void initNotifications() {var androidSettings = AndroidInitializationSettings('@mipmap/ic_launcher');var iosSettings = IOSInitializationSettings();var initSettings =InitializationSettings(android: androidSettings, iOS: iosSettings);flutterLocalNotificationsPlugin.initialize(initSettings);
}
  1. 发送本地通知:
Future<void> showNotification() async {var androidDetails = AndroidNotificationDetails('channelId', 'channelName',importance: Importance.max, priority: Priority.high);var iosDetails = IOSNotificationDetails();var generalNotificationDetails =NotificationDetails(android: androidDetails, iOS: iosDetails);await flutterLocalNotificationsPlugin.show(0, '测试通知', '这是通知内容', generalNotificationDetails);
}

总结

方式适用场景依赖
Firebase Cloud Messaging (FCM)云端推送,适用于大多数应用firebase_messaging
OneSignal第三方推送,支持多种推送策略onesignal_flutter
本地通知仅用于本地提醒,无需服务器flutter_local_notifications

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com