La notificación de inserción de flutter no se muestra en IOS


12

Tengo un problema con Flutter y IOS con respecto a las notificaciones Push.

Mi configuración y cosas que funcionan:

1) Instalé el firebase_messaging: ^5.1.6paquete sin errores / seguí todas sus instrucciones para iOS

2) Le pedí permiso al usuario en IOS y acepté recibir notificaciones push

3) Puedo obtener un token FCM en dispositivos IOS y Android

4) He creado una clave en la sección de desarrolladores de Apple y agregué la clave a FCM

5) Cerré la aplicación / la envié a un segundo plano durante la prueba, aún no tuve suerte

6) He agregado el archivo google-service-info a Runner usando Xcode

7) He agregado notificaciones push y notificaciones de fondo en XCode Capabilities

8) Estoy probando en un dispositivo físico iPhone 7 y un iPad físico

He usado curl para enviar una notificación 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}"

Recibo una respuesta exitosa de firebase

{"multicast_id":<SomeIdHere>,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"<SomeIdHere>"}]}

Así es como recupero el token:

firebaseMessaging.getToken().then((String token) {
      _authModel.setNotificationToken(token);
    });

Cuando ejecuto la aplicación en IOS, no recibo ningún error de Firebase.

He estado jugando con esto durante 2 días, así que se está volviendo un poco molesto, todo lo anterior parece funcionar en Android.

Cualquier sugerencia, por favor.

Doctor revoloteador:

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!

Mi archivo 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

Creo que está relacionado con FirebaseAppDelegateProxyEnabled. medium.com/flutterpub/… Este enlace será útil.
Ares

El enlace parece apagado, el archivo todavía está activo: web.archive.org/web/20191118225834/https://medium.com/… pero sin imágenes :(
Stefano Saitta

Este también parece bueno: medium.com/@jun.chenying/…
Stefano Saitta

1
¿Puedes enviarlos usando la consola de mensajería firebase?
Stefano Saitta

@ user3057745 ¿Resuelve este problema?
Daniel Kuta

Respuestas:


2

No es bonito, es posible que deba proporcionar muchos más detalles, pero presente este problema a https://github.com/FirebaseExtended/flutterfire/issues . De lo contrario, una búsqueda rápida de problemas de notificaciones push de iOS muestra una variedad de informes. Aquí hay algunos similares, ¿quizás uno está relacionado con el tuyo?

O si ya archivó uno, ¡comparta el enlace! Otros pueden agregar comentarios a los suyos.


0

Si está probando en un dispositivo de felpa ios 10, intente agregar las siguientes líneas a su archivo AppDelegate.swift debajo de FirebaseApp.configure ()

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

0

Debe completar todos los pasos desde https://pub.dev/packages/firebase_messaging cuidadosamente. También estaba atrapado en eso. Pero luego me di cuenta de que me falta algo. Luego vuelvo a verificar todos los pasos. Eché de menos registrarme con APN (Apple Push Notification). Vuelva a comprobarlo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.