Notifica Flutter Push non visualizzata su IOS


12

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.6pacchetto 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

Penso che sia correlato a FirebaseAppDelegateProxyEnabled. medium.com/flutterpub/… Questo link sarà utile.
Ares,

Il link sembra spento, quello dell'archivio è ancora attivo: web.archive.org/web/20191118225834/https://medium.com/… ma senza immagini :(
Stefano Saitta,

Anche questo sembra buono: medium.com/@jun.chenying/…
Stefano Saitta,

1
Sei in grado di inviarli utilizzando la console di messaggistica firebase?
Stefano Saitta,

@ user3057745 Risolvi questo problema?
Daniel Kuta,

Risposte:


2

Non è carino, potrebbe essere necessario fornire molti più dettagli, ma si prega di presentare questo problema a https://github.com/FirebaseExtended/flutterfire/issues . Altrimenti, una rapida ricerca dei problemi di notifica push di iOS mostra una varietà di rapporti. Eccone alcuni simili, forse uno è correlato al tuo?

O se ne hai già presentato uno, condividi il link! Altri possono aggiungere feedback al tuo.


0

Se stai testando su un dispositivo peluche iOS 10, prova ad aggiungere le righe seguenti al file AppDelegate.swift sotto FirebaseApp.configure ()

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

0

Devi completare tutti i passaggi da https://pub.dev/packages/firebase_messaging con attenzione. Ne ero anche bloccato. Ma più tardi ho capito che mi mancava qualcosa. Quindi ricontrollo tutti i passaggi. Mi sono perso la registrazione con APN (Apple Push Notification). Ricontrolla di nuovo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.