- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
解释问题:
我现在已经尝试让 firebase_messaging 工作近一周。
我成功设置了一个旧版 Xcode APNS 应用程序,该应用程序在生成所有新证书等后工作。
但是使用 firebase_messaging 我根本没有收到任何通知。
我什至重新创建了一个新的 flutter 、firebase 和 appstoreconnect 项目/应用程序。
但是我根本没有收到来自 firebase 的任何通知,无论是在 native Xcode 中实现还是在 flutter 中实现。
如果我订阅了一个尚不存在的主题,它正在被创建; Android 和 Analytics 上的通知以及 iOS 和 Android 上的 InAppMessaging 运行良好,所以肯定有一些东西在运行。
到目前为止我尝试过的:
void firebaseCloudMessaging_Listeners() {
if (Platform.isIOS) iOS_Permission();
firebaseMessaging.getToken().then((token){
print(token);
});
firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
print('on message $message');
},
onResume: (Map<String, dynamic> message) async {
print('on resume $message');
},
onLaunch: (Map<String, dynamic> message) async {
print('on launch $message');
},
);
}
void iOS_Permission() {
firebaseMessaging.requestNotificationPermissions(
IosNotificationSettings(sound: true, badge: true, alert: true)
);
firebaseMessaging.onIosSettingsRegistered
.listen((IosNotificationSettings settings)
{
print("Settings registered: $settings");
});
}
void subscribeToFB() {
firebaseMessaging.subscribeToTopic('-------------Sandbox');
print("--- SUBSCRIBED ---");
}
void unsubscribeFromFB() {
firebaseMessaging.unsubscribeFromTopic('-------------Sandbox');
print("--- UNSUBSCRIBED ---");
}
#import "AppDelegate.h"
@import UserNotifications;
@interface AppDelegate () <UNUserNotificationCenterDelegate>
@end
@implementation AppDelegate
NSString *const kGCMMessageIDKey = @"gcm.message_id";
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// [START configure_firebase]
[FIRApp configure];
// [END configure_firebase]
// [START set_messaging_delegate]
[FIRMessaging messaging].delegate = self;
// [END set_messaging_delegate]
// Register for remote notifications. This shows a permission dialog on first run, to
// show the dialog at a more appropriate time move this registration accordingly.
// [START register_for_notifications]
if ([UNUserNotificationCenter class] != nil) {
// iOS 10 or later
// For iOS 10 display notification (sent via APNS)
[UNUserNotificationCenter currentNotificationCenter].delegate = self;
UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert |
UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
[[UNUserNotificationCenter currentNotificationCenter]
requestAuthorizationWithOptions:authOptions
completionHandler:^(BOOL granted, NSError * _Nullable error) {
// ...
}];
} else {
// iOS 10 notifications aren't available; fall back to iOS 8-9 notifications.
UIUserNotificationType allNotificationTypes =
(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
UIUserNotificationSettings *settings =
[UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil];
[application registerUserNotificationSettings:settings];
}
[application registerForRemoteNotifications];
// [END register_for_notifications]
return YES;
}
// [START receive_message]
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
// If you are receiving a notification message while your app is in the background,
// this callback will not be fired till the user taps on the notification launching the application.
// TODO: Handle data of notification
// With swizzling disabled you must let Messaging know about the message, for Analytics
// [[FIRMessaging messaging] appDidReceiveMessage:userInfo];
// Print message ID.
if (userInfo[kGCMMessageIDKey]) {
NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]);
}
// Print full message.
NSLog(@"%@", userInfo);
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
// If you are receiving a notification message while your app is in the background,
// this callback will not be fired till the user taps on the notification launching the application.
// TODO: Handle data of notification
// With swizzling disabled you must let Messaging know about the message, for Analytics
// [[FIRMessaging messaging] appDidReceiveMessage:userInfo];
// Print message ID.
if (userInfo[kGCMMessageIDKey]) {
NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]);
}
// Print full message.
NSLog(@"%@", userInfo);
completionHandler(UIBackgroundFetchResultNewData);
}
// [END receive_message]
// [START ios_10_message_handling]
// Receive displayed notifications for iOS 10 devices.
// Handle incoming notification messages while app is in the foreground.
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler {
NSDictionary *userInfo = notification.request.content.userInfo;
// With swizzling disabled you must let Messaging know about the message, for Analytics
// [[FIRMessaging messaging] appDidReceiveMessage:userInfo];
// Print message ID.
if (userInfo[kGCMMessageIDKey]) {
NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]);
}
// Print full message.
NSLog(@"%@", userInfo);
// Change this to your preferred presentation option
completionHandler(UNNotificationPresentationOptionNone);
}
// Handle notification messages after display notification is tapped by the user.
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
didReceiveNotificationResponse:(UNNotificationResponse *)response
withCompletionHandler:(void(^)(void))completionHandler {
NSDictionary *userInfo = response.notification.request.content.userInfo;
if (userInfo[kGCMMessageIDKey]) {
NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]);
}
// Print full message.
NSLog(@"%@", userInfo);
completionHandler();
}
// [END ios_10_message_handling]
// [START refresh_token]
- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken {
NSLog(@"FCM registration token: %@", fcmToken);
// Notify about received token.
NSDictionary *dataDict = [NSDictionary dictionaryWithObject:fcmToken forKey:@"token"];
[[NSNotificationCenter defaultCenter] postNotificationName:
@"FCMToken" object:nil userInfo:dataDict];
// TODO: If necessary send token to application server.
// Note: This callback is fired at each app startup and whenever a new token is generated.
}
// [END refresh_token]
// [START ios_10_data_message]
// Receive data messages on iOS 10+ directly from FCM (bypassing APNs) when the app is in the foreground.
// To enable direct data messages, you can set [Messaging messaging].shouldEstablishDirectChannel to YES.
- (void)messaging:(FIRMessaging *)messaging didReceiveMessage:(FIRMessagingRemoteMessage *)remoteMessage {
NSLog(@"Received data message: %@", remoteMessage.appData);
}
// [END ios_10_data_message]
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
NSLog(@"Unable to register for remote notifications: %@", error);
}
// This function is added here only for debugging purposes, and can be removed if swizzling is enabled.
// If swizzling is disabled then this function must be implemented so that the APNs device token can be paired to
// the FCM registration token.
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSLog(@"APNs device token retrieved: %@", deviceToken);
// With swizzling disabled you must set the APNs device token here.
// [FIRMessaging messaging].APNSToken = deviceToken;
}
@end
最佳答案
解决方法是删除建议的 .p8 key 文件(从 Firebase 控制台 > 项目设置 > 云消息传递),然后放入 APNS 开发和发布证书。
关于xcode - firebase_messaging : no notifications coming through,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57641550/
我正在使用 firebase_messaging 当通知到来时,我正在显示警报对话框。下面是我的代码。 showNotification(BuildContext context) { _fi
我想在我的应用程序处于后台时显示推送通知。 我正在使用 flutter_local_notifications包和 firebase_messaging包。 推送通知与 firebase_messag
我想在我的 Flutter 应用程序中尝试云消息传递,但我总是遇到错误,而且我还没有找到解决方案。我按照此处所述的步骤操作:firebase_messaging 如果我按照可选部分以外的步骤为后台消息
我已经让 firebase_messaging 9.1.0 接收并显示我的 Android 和 iOS 应用程序在前台、后台和关闭时的通知。但是在 iOS 上,后台处理程序 future 似乎没有执行
我集成了firebase_messaging v5.1.6使用自述文件中提到的带有“处理后台消息”选项的我的 flutter 应用程序。 这是我的文件的外观。 我的应用程序.kt class MyAp
解释问题: 我现在已经尝试让 firebase_messaging 工作近一周。 我成功设置了一个旧版 Xcode APNS 应用程序,该应用程序在生成所有新证书等后工作。 但是使用 firebase
如标题所示,当用户在应用程序终止时单击通知时,为了接收自定义数据,当前的解决方法是什么? 看起来像在 Android 上 is not possible在 onLaunch 中接收数据消息(这是理想的
我遇到了 Firebase 消息传递 ( https://pub.dev/packages/firebase_messaging ) 的问题。将此添加到项目后,我无法在 IOS 中构建。 我试过: f
我正在尝试让我的应用程序向用户发送通知,该用户将使用他们的默认通知声音提醒他们。 到目前为止,我正在使用插件 firebase_messaging使用以下代码: Message firebaseMes
我今天已经升级了我所有的 firebase 软件包,我不得不升级到版本 8.0.0-dev.13 以进行 firebase 消息传递,即使由于依赖问题它仍在开发中。在 Application.Java
这是来自 vscode 的日志 Launching lib/main.dart on iPhone 11 in debug mode... Running pod install...
我正在尝试在 ios 上运行我的 flutter 应用程序,但我收到此错误 /ios/Runner/GeneratedPluginRegistrant.m:6:9: 'firebase_messagi
我正在开发一个 flutter 应用程序。我使用 Firestore Clound、Firebase 身份验证等。一切正常,直到我将 firebase_messaging 添加到 pubspec.ya
我正在尝试设置 firebase_messaging plugin for flutter .android 端的 firebase 设置似乎运行正常。但是当我将插件添加到我的 pubspec.yam
当应用在前景时,我会收到通知,而不是在后台应用程序时收到通知。另外,我有2个小时或更长时间的Google-ed/stackoverflow-ed,但能够解决这个问题。 My Configuration
当我尝试使用这些命令进行 android 构建时 yarn run android或 react-native run-android然后我已经显示了这个错误。请帮助 mw 解决此错误。 这是 pac
我正在尝试集成 firebase_messaging与我的 flutter 应用程序一起打包。通常它适用于我正在使用的代码(版本 7.0.3)(见下文),但由于发布了空安全版本,我的代码不再工作。我想
我在 StackOverflow 和 Github 上遇到过很多这样的问题,但我还没有找到答案。 我有一个 Apple 开发配置文件,并且我已经将 APNs Auth Key 上传到 Firebase
我在 flutter 中卡在自定义 fcm 推送通知上。 实现 借助 pub.dev 上的 firebase_messaging 示例代码,我能够在我的应用程序表单 firebase 控制台中发送通知
遵循 https://github.com/flutter/plugins/tree/master/packages/firebase_messaging 的自述文件我设置了 IOS 和 Androi
我是一名优秀的程序员,十分优秀!