我在Flutter和IOS的Push通知方面遇到问题。
我的设置和起作用的东西:
1)我安装了该firebase_messaging: ^5.1.6
软件包,没有错误/按照他们对IOS的所有说明进行操作
2)我已请求用户获得IOS许可并接受接收推送通知
3)我能够在IOS和Android设备上获得FCM令牌
4)我在Apple开发人员部分中创建了一个密钥,并将该密钥添加到FCM
5)我已关闭应用程序/在测试时将其发送到后台-仍然没有运气
6)我已使用Xcode将google-service-info文件添加到Runner
7)我在XCode Capabilities中添加了推送通知和后台通知
8)我正在iPhone 7物理设备和物理iPad上进行测试
我已使用curl将通知发送到IOS设备
curl -X POST --header "Authorization: key=<myAuthKEY>" \
--Header "Content-Type: application/json" \
https://fcm.googleapis.com/fcm/send \
-d "{\"to\":\"<myDeviceKey>\",\"notification\":{\"body\":\"Hello\"},\"priority\":10}"
我收到了Firebase的成功回复
{"multicast_id":<SomeIdHere>,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"<SomeIdHere>"}]}
这是我检索令牌的方法:
firebaseMessaging.getToken().then((String token) {
_authModel.setNotificationToken(token);
});
在IOS上运行该应用程序时,没有出现任何Firebase错误。
我已经搞砸了两天了,所以有点烦人,以上所有内容似乎都可以在Android上使用。
任何建议,请。
Flutter Doctor:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.4, on Mac OS X 10.15 19A583, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.0)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.38.1)
[✓] Connected device (4 available)
• No issues found!
我的AppDelegate.m文件
#include "AppDelegate.h"
#include "GeneratedPluginRegistrant.h"
@import Firebase;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[FIRApp configure];
[GeneratedPluginRegistrant registerWithRegistry:self];
// Override point for customization after application launch.
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
@end