Sto riscontrando un problema con Flutter e IOS per quanto riguarda le notifiche push.
La mia configurazione e le cose che funzionano:
1) Ho installato il firebase_messaging: ^5.1.6
pacchetto senza errori / ho seguito tutte le loro istruzioni per IOS
2) Ho chiesto il permesso dell'utente su IOS e ho accettato di ricevere notifiche push
3) Sono in grado di ottenere un token FCM su dispositivi IOS e Android
4) Ho creato una chiave nella sezione degli sviluppatori Apple e ho aggiunto la chiave a FCM
5) Ho chiuso l'app / l'ho inviata in background durante il test - ancora nessuna fortuna
6) Ho aggiunto il file di informazioni del servizio Google a Runner utilizzando Xcode
7) Ho aggiunto notifiche push e notifiche in background nelle funzionalità XCode
8) Sto testando su un dispositivo fisico iPhone 7 e un iPad fisico
Ho usato l'arricciatura per inviare una notifica a un dispositivo 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}"
Ottengo una risposta di successo da Firebase
{"multicast_id":<SomeIdHere>,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"<SomeIdHere>"}]}
Ecco come recuperare il token:
firebaseMessaging.getToken().then((String token) {
_authModel.setNotificationToken(token);
});
Quando eseguo l'app su IOS, non ottengo errori Firebase.
Ci sto scherzando da 2 giorni, quindi sta diventando un po 'fastidioso, tutto quanto sopra sembra funzionare su Android.
Eventuali suggerimenti, per favore.
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!
Il mio file 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