У мене виникають проблеми з Flutter та IOS щодо Push-сповіщень.
Моє налаштування та речі, які працюють:
1) Я встановив firebase_messaging: ^5.1.6
пакет без помилок / дотримувався всіх їх інструкцій щодо IOS
2) Я попросив дозволу користувача на IOS і прийняв отримувати push-повідомлення
3) Я можу отримати маркер FCM на пристроях IOS та Android
4) Я створив ключ у розділі розробника Apple і додав ключ до FCM
5) Я закрив додаток / надіслав його на другий план при тестуванні - все одно не пощастило
6) Я додав файл google-service-info до Runner за допомогою Xcode
7) Я додав push-сповіщення та фонові сповіщення у можливості XCode
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.
Я возився з цим вже 2 дні, тому стає трохи дратувати, все вищезазначене, здається, працює на Android.
Будь-які пропозиції, будь ласка.
Доктор трепетів:
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