firebase-cloud-messaging 相关问题

Firebase云消息传递(FCM)是GCM的新版本。它继承了可靠且可扩展的GCM基础架构以及新功能。它是一种跨平台解决方案,可让用户免费提供和接收消息和通知。它支持Android,iOS,桌面Web浏览器,带有JavaScript或WebPush的移动网络和物联网(IoT)设备。

清除存储(清除站点数据)时获取令牌时出现错误 Firebase Cloud 消息

我正在使用 firebase 和 vue 3。我正在尝试实现通知,一切正常,但是一旦我清除存储(清除站点数据),我就无法获取通知的令牌,需要重新加载 p ...

回答 1 投票 0

FCM 和 AwesomeNotifications 显示通知两次

我使用 Firebase Cloud Messaging 作为我的推送通知服务,并使用 AwesomeNotifications 包作为通知徽章服务。一切工作正常,但只有一个问题......

回答 1 投票 0

当用户点击通知时是否可以从推送通知中获取值? (应用程序关闭状态)

下面是我当前的实现,它仅在打开应用程序时才起作用 `@覆盖 protected void onNewIntent(Intent 意图) { super.onNewIntent(意图); if(intent.hasExtra(&quo...

回答 2 投票 0

使用 firebase_messaging 包更新现有通知时,无法在 iOS 上的 rMessage (RemoteMessage) 中获取 CollapseKey

我正在将以下有效负载发送到 FCM API { 信息: { 令牌:DEVICE_TOKEN, apn:{ 标题:{ 'apns 优先级': '5', 'apns-push-type': '警报', 'apns-col...

回答 1 投票 0

是否可以在 MAUI 应用程序中安装 Xamarin.Firebase.iOS.CloudMessaging?

我正在为 iOS 开发一个需要推送通知的 .NET MAUI 应用程序。据我所知,Firebase Cloud Messaging 是实现此目标的标准方法。我的所有 NuGet 包...

回答 2 投票 0

Firebase 云消息传递 api v1 预期 OAuth 2 访问令牌

我猜 firebase 为新用户禁用了旧版 api。他们希望我们使用 v1 api。 当我尝试向邮递员发送通知时,我得到了这个。 “错误”: { “代码”:401, &

回答 2 投票 0

MAUI Blazor 点击推送通知时,启动屏幕会挂起

我正在创建一个 Maui Blazor 应用程序以通过 FCM 接收推送通知。 我正在使用这个例子。 https://github.com/mistrypragnesh40/PushNotificationDemoMAUI 我收到的推送通知是...

回答 1 投票 0

在 Azure 上托管的渐进式 Web 应用程序上发送推送通知

我正在寻找一种将通知推送到 Azure 上托管的渐进式 Web 应用程序的方法 我搜索了相同的内容,发现 Azure 通知中心可以做这样的事情,但对于本机 Android/Apple 设备,无法...

回答 1 投票 0

Firebase 推送通知获得双重通知,一份默认通知和一份自定义通知

尝试{ var 有效负载 = { // 通知: { // imageUrl: image.toString(), // 正文:body.toString(), ...

回答 2 投票 0

使用 FCM 推送通知无法在 iOS 上工作

我已经实施了FCM。没有错误显示。令牌生成成功。但设备中没有任何通知。 我按照谷歌文档进行操作。 这是我的 AppDelegate 类 导入

回答 3 投票 0

如果浏览器处于后台,FCM 推送通知会到达两次

我已经设置了一个简单的推送通知站点,如果浏览器位于前台,通知可以正常到达。 如果浏览器处于后台,问题就开始了:通知到达两次,一次

回答 5 投票 0

如何请求 AppCheck 令牌?

我正在使用 iOS 模拟器测试 Firebase HTTP v1 API 云消息的发送/接收。 我发现一个问题,发送后设备上未收到推送通知...

回答 1 投票 0

如何嗅探 Firebase 事件?

我正在使用 Charles 代理作为嗅探器来检查和验证我的 Firebase 事件的正文/有效负载? 我在 Batch 中看到了对 firebaselogging-pa.googleapis.com/v1/firelog/legacy/batchlog 的 POST 请求,并且我...

回答 1 投票 0

FirebaseError:消息传递:通知权限未被授予并被阻止。 (消息/权限阻止)

我正在开发 React PWA,在使用 Chrome 在真实 Android 设备上进行测试时遇到了一些问题。当我尝试通过 Android 版 Chrome 加载已卸载的应用程序时,我收到

回答 1 投票 0

iOS 在 Flutter 中终止应用程序后第一次通知时不调用 _firebaseMessagingBackgroundHandler

我正在开发一个 Flutter 项目,其中使用 Firebase Cloud Messaging (FCM) 接收推送通知并在应用程序中显示它们。在 Android 上一切都按预期运行。然而,在 iOS 上,我

回答 1 投票 0

如何在Android设备上默认启用“显示弹出通知”?

我正在使用 Flutter 开发一个食品配送应用程序。我最近实现了 flutter_local_notifications 并且通知工作正常。但有一个问题是通知...

回答 1 投票 0

Firebase Cloud Messaging API:消息已发送,但设备未收到

我成功在我的 Flutter 应用程序中实现了推送通知,并通过 Firebase 控制台进行了测试。 我现在希望通过 API 向我的应用程序的所有设备发送通知。 未来 我在 Flutter 应用程序中成功实现了推送通知,并通过 Firebase 控制台进行了测试。 我现在希望通过 API 向我的应用程序的所有设备发送通知。 Future<void> sendPushMessage() async { try { final response = await http.post( Uri.parse('https://fcm.googleapis.com/fcm/send'), headers: <String, String>{ 'Content-Type': 'application/json', 'Authorization': 'key=xxx', }, body: jsonEncode( <String, dynamic>{ 'to': '/topics/all', 'notification': <String, dynamic>{ 'title': 'Hello FlutterFire!', 'body': 'This notification (#1) was sent via FCM!', }, "android": {"priority": "high"}, }, ), ); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } catch (e) { print(e); } } 回应: Response status: 200 {"message_id":430407718266627xxxx} 设备没有收到任何通知。可能是什么问题呢?谢谢你。 使用这个package来显示通知。 在 main.dart void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); LocalNotificationService.initialize(); runApp(YourApp()); } 使用下面的代码来处理。 import 'dart:convert'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:get/get.dart'; class LocalNotificationService { static final FlutterLocalNotificationsPlugin _notificationsPlugin = FlutterLocalNotificationsPlugin(); static void initialize() async { const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('@drawable/ic_notification'); //AndroidInitializationSettings('@mipmap/ic_launcher'); if (!kIsWeb && Get.currentRoute != Routes.CHAT) { /// Update the iOS foreground notification presentation options to allow /// heads up notifications. await FirebaseMessaging.instance .setForegroundNotificationPresentationOptions( alert: true, badge: true, sound: true, ); } final DarwinInitializationSettings initializationSettingsDarwin = DarwinInitializationSettings( requestAlertPermission: true, requestBadgePermission: true, requestSoundPermission: true, onDidReceiveLocalNotification: (int id, String? title, String? body, String? payload) async {}, //notificationCategories: darwinNotificationCategories, ); final LinuxInitializationSettings initializationSettingsLinux = LinuxInitializationSettings( defaultActionName: 'Open notification', defaultIcon: AssetsLinuxIcon('icons/app_icon.png'), ); final InitializationSettings initializationSettings = InitializationSettings( android: initializationSettingsAndroid, iOS: initializationSettingsDarwin, macOS: initializationSettingsDarwin, linux: initializationSettingsLinux, ); await _notificationsPlugin.initialize( initializationSettings, onDidReceiveNotificationResponse: notificationTapBackground, onDidReceiveBackgroundNotificationResponse: notificationTapBackground, ); /// Custom notification channel const channel = AndroidNotificationChannel( "add Your name", "add Your name", importance: Importance.max, playSound: true, ); await _notificationsPlugin .resolvePlatformSpecificImplementation< AndroidFlutterLocalNotificationsPlugin>() ?.createNotificationChannel(channel); } static void notificationTapBackground( NotificationResponse notificationResponse) async { // handle action final String? payload = notificationResponse.payload; var data = json.decode(notificationResponse.payload ?? ""); } //after initialize we create channel in displayNotification method static void displayNotification(RemoteMessage message) async { try { final id = DateTime.now().millisecondsSinceEpoch ~/ 1000; const NotificationDetails notificationDetails = NotificationDetails( android: AndroidNotificationDetails( "Your name", "your name", importance: Importance.max, priority: Priority.high, icon: '@drawable/ic_notification', ), iOS: DarwinNotificationDetails(), ); await _notificationsPlugin.show( id, message.notification!.title, message.notification!.body, notificationDetails, payload: json.encode(message.data), //payload: message.data['USER_REQUEST_SEND'], ); } on Exception catch (e) { print('Display Notification error : $e'); } } static void getNotificationPermission() async { final FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance; NotificationSettings settings = await _firebaseMessaging.requestPermission( alert: true, announcement: false, badge: true, carPlay: false, criticalAlert: false, provisional: false, sound: true, ); print('User granted permission: ${settings.authorizationStatus}'); } static void onNotification() async { final FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance; // getInitialMessage: When the app is closed and it receives a push notification _firebaseMessaging.getInitialMessage().then((RemoteMessage? message) async { if (message != null) { debugPrint('KilledOpenedApp data : ${message!.data}'); onTapNotification(message, true); } }); // onMessage: When the app is open and it receives a push notification FirebaseMessaging.onMessage.listen( (RemoteMessage message) { debugPrint("onNotificationPayload : ${message.data}"); LocalNotificationService.displayNotification(message); }, ); // replacement for onResume: When the app is in the background and opened directly from the push notification. FirebaseMessaging.onMessageOpenedApp.listen( (RemoteMessage message) async { debugPrint('onMessageOpenedApp data : ${message.data}'); onTapNotification(message, false); }, ); } static void onTapNotification(RemoteMessage message, bool isKilled) async { // handle click events } }

回答 1 投票 0

Flutter firebase 在关闭或在后台时接收通知 - 如何将消息传递给类

我正在构建一个带有 Firebase 推送通知的 Flutter 应用程序。 收到消息时,我希望应用程序显示带有文本的弹出模式。 当应用程序位于前台时,弹出模式显示...

回答 3 投票 0

无法下载图像以在 Firebase 推送通知服务中显示

我试图在推送通知中显示图像,但在我的小米中发送的第一次推送时失败,并且从未在三星设备中显示。我尝试了很多解决方案: 我尝试使用不同的类...

回答 1 投票 0

在 Firebase 推送通知中发送图像

我希望能够在从 Firebase 发送的推送通知上显示迷你图像。我遇到的问题是我使用单个有效负载,有时 Image 中的参数可能为空(...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.