Tôi gặp sự cố với Flutter và IOS liên quan đến thông báo Push.
Thiết lập của tôi và những thứ hoạt động:
1) Tôi đã cài đặt firebase_messaging: ^5.1.6
gói không có lỗi / làm theo tất cả các hướng dẫn của họ dành cho iOS
2) Tôi đã xin phép người dùng trên iOS và chấp nhận nhận thông báo đẩy
3) Tôi có thể nhận mã thông báo FCM trên thiết bị iOS và Android
4) Tôi đã tạo Khóa trong phần dành cho nhà phát triển của Apple và thêm khóa vào FCM
5) Tôi đã đóng ứng dụng / gửi nó xuống nền khi thử nghiệm - vẫn không gặp may
6) Tôi đã thêm tệp google-service-information vào Runner bằng Xcode
7) Tôi đã thêm thông báo đẩy và thông báo nền trong Khả năng XCode
8) Tôi đang thử nghiệm trên thiết bị vật lý iPhone 7 và iPad vật lý
Tôi đã sử dụng curl để gửi thông báo đến thiết bị 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}"
Tôi nhận được phản hồi thành công từ căn cứ hỏa lực
{"multicast_id":<SomeIdHere>,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"<SomeIdHere>"}]}
Đây là cách tôi lấy mã thông báo:
firebaseMessaging.getToken().then((String token) {
_authModel.setNotificationToken(token);
});
Khi tôi chạy ứng dụng trên iOS, tôi không gặp phải bất kỳ lỗi Firebase nào.
Tôi đã loay hoay với điều này trong 2 ngày nay, vì vậy sẽ hơi khó chịu, tất cả những điều trên dường như đều hoạt động trên Android.
Mọi góp ý, làm ơn.
Bác sĩ rung rinh:
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!
Tệp AppDelegate.m của tôi
#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