La notification Flutter Push ne s'affiche pas sur IOS

12

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.6paquet 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
user3057745
la source
Je pense que cela est lié à FirebaseAppDelegateProxyEnabled. medium.com/flutterpub/… Ce lien sera utile.
Ares
Le lien semble désactivé, l'archive est toujours active: web.archive.org/web/20191118225834/https://medium.com/… mais sans images :(
Stefano Saitta
Celui-ci semble bon aussi: medium.com/@jun.chenying/…
Stefano Saitta
1
Pouvez-vous les envoyer à l'aide de la console de messagerie Firebase?
Stefano Saitta
@ user3057745 Résolvez-vous ce problème?
Daniel Kuta

Réponses:

2

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?

Ou si vous en avez déjà déposé un, partagez le lien! D'autres peuvent ajouter des commentaires aux vôtres.

TWL
la source
0

Si vous testez sur un appareil en peluche ios 10, essayez d'ajouter des lignes ci-dessous à votre fichier AppDelegate.swift sous FirebaseApp.configure ()

 if #available(iOS 10.0, *) {
  UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
}
Brinda Rathod
la source
0

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.

dadu mohapatra
la source