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
la source
Réponses:
Ce n'est pas joli, vous devrez peut-être fournir beaucoup plus de détails, mais veuillez signaler ce problème à https://github.com/FirebaseExtended/flutterfire/issues . Sinon, une recherche rapide des problèmes de notification push iOS montre une variété de rapports. En voici quelques-uns similaires, peut-être que l'un est lié au vôtre?
5) I have closed the app / sent it to the background when testing - still no luck
Ou si vous en avez déjà déposé un, partagez le lien! D'autres peuvent ajouter des commentaires aux vôtres.
la source
Si vous testez sur un appareil en peluche ios 10, essayez d'ajouter des lignes ci-dessous à votre fichier AppDelegate.swift sous FirebaseApp.configure ()
la source
Vous devez suivre attentivement toutes les étapes de https://pub.dev/packages/firebase_messaging . J'étais aussi coincé dedans. Mais plus tard, j'ai réalisé qu'il me manquait quelque chose. Ensuite, je revérifie toutes les étapes. L'enregistrement auprès d'APN (Apple Push Notification) m'a manqué. Par conséquent, vérifiez à nouveau.
la source