J'ai un problème avec Flutter et IOS en ce qui concerne les notifications Push.
Ma configuration et les choses qui fonctionnent:
1) J'ai installé le firebase_messaging: ^5.1.6
paquet sans erreur / suivi toutes leurs instructions pour IOS
2) J'ai demandé l'autorisation utilisateur sur IOS et accepté de recevoir des notifications push
3) Je peux obtenir un jeton FCM sur les appareils IOS et Android
4) J'ai créé une clé dans la section des développeurs Apple et ajouté la clé à FCM
5) J'ai fermé l'application / l'ai envoyée en arrière-plan lors des tests - toujours pas de chance
6) J'ai ajouté le fichier google-service-info à Runner en utilisant Xcode
7) J'ai ajouté des notifications push et des notifications d'arrière-plan dans les capacités XCode
8) Je teste sur un appareil physique iPhone 7 et un iPad physique
J'ai utilisé curl pour envoyer une notification à un appareil 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}"
Je reçois une réponse de succès de Firebase
{"multicast_id":<SomeIdHere>,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"<SomeIdHere>"}]}
Voici comment récupérer le jeton:
firebaseMessaging.getToken().then((String token) {
_authModel.setNotificationToken(token);
});
Lorsque j'exécute l'application sur IOS, je n'obtiens aucune erreur Firebase.
Je joue avec ça depuis 2 jours maintenant, donc ça devient un peu ennuyeux, tout ce qui précède semble fonctionner sur Android.
Toutes suggestions, s'il vous plaît.
Docteur Flutter:
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!
Mon fichier 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