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.6
paquete 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
fuente
Respuestas:
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?
5) I have closed the app / sent it to the background when testing - still no luck
O si ya archivó uno, ¡comparta el enlace! Otros pueden agregar comentarios a los suyos.
fuente
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 ()
fuente
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.
fuente