J'utilise la notification push Firebase 0.60, native de réaction. J'ai besoin d'aide pour réagir à la notification push native de firebase ios avec la charge de données. Je suis capable d'envoyer des notifications avec des données utiles. Je peux recevoir la notification lorsque l'application est au premier plan, en arrière-plan, supprimée. J'envoie des données avec notification.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{ if ([[FIRAuth auth] canHandleNotification:userInfo]) { completionHandler(UIBackgroundFetchResultNoData); return; } [[FIRMessaging messaging] appDidReceiveMessage:userInfo]; [[RNFirebaseNotifications instance] didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; NSLog(@"Inactive - the user has tapped in the notification when app was closed or in background 3"); }
Je souhaite afficher la notification et également stocker les données dans la base de données de l'application locale en même temps, même si l'utilisateur ne clique pas sur la notification. P >
Je suis en mesure de gérer la notification lorsque l'utilisateur clique sur la notification. Je souhaite mettre à jour les données dans l'application lorsque la notification est reçue par l'utilisateur et afficher également la notification. Je ne veux pas utiliser la notification silencieuse en arrière-plan.
Mon code Appdelegate
{ "to" : "FCM Token", "show_in_foreground" : "true", "collapse_key" : "type_a", "notification" : { "notification_type" : "N", "ad_type" : "banner", "sub_type" : "info", "text_message" : "Lorem ipsum dolor sit amet", "Title": "Notification 0000", "image_url": "https://firebasestorage.com/xyz", "ad_time" : 7, "x_time" : 4, "delay_time" : 4 }, "data" : { "notification_type" : "N", "ad_type" : "banner", "sub_type" : "info", "text_message" : "Lorem ipsum dolor sit amet", "Title": "Notification 0000", "image_url": "https://firebasestorage.googleapis.com/xyz", "ad_time" : 7, "x_time" : 4, "delay_time" : 4 }, "content-available" : true, "priority": "high" }
Je veux atteindre 1. L'utilisateur doit recevoir la notification même si l'application est fermée, supprimée, en arrière-plan. 2. La base de données locale de l'application de l'utilisateur doit être mise à jour même si l'utilisateur ne clique pas sur la notification.
J'ai atteint le premier point à la recherche de 2nd. Je suis nouveau pour réagir natif. Je sais que lorsque la notification est reçue, la méthode du gestionnaire d'achèvement est appelée. lorsque l'application est tuée, rien n'est affiché dans le journal xcode. comment écrire du code dans la méthode du gestionnaire d'achèvement? et comment vérifier si la méthode est appelée et si la tâche est exécutée.
3 Réponses :
Donc, dans iOS actuellement, il n'y a pas de services d'arrière-plan
qui pourraient être exécutés en arrière-plan comme nous l'avons sur Android. Donc, de mon point de vue, vous ne pouvez pas vérifier si une notification a été affichée ou non à l'utilisateur en temps réel si l'application a été tuée. Je ne comprends pas pourquoi vous en avez besoin. Les notifications fonctionnent à peu près correctement, vous n'avez donc pas besoin de vérifier iOS si cela fonctionne.
Ce que vous pouvez faire est de collecter des informations sur les notifications après le redémarrage de votre application.
messaging().onNotificationOpenedApp(remoteMessage => { console.log( 'Notification caused app to open from background state:', remoteMessage.notification, ); YOUR_NAVIGATION_PATH_HERE; }); SOURCE : https://rnfirebase.io/messaging/notifications
@Override protected void onResume() { super.onResume(); // Clear all notification NotificationManager nMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); nMgr.cancelAll(); }
avez-vous essayé avec getInitialNotification () pour le moment où l'application est tuée lorsque l'utilisateur l'ouvre sans appuyer sur la notification?
Oui j'ai essayé. Je suis nouveau pour réagir natif. Cette méthode est-elle appelée lorsque l'application est ouverte même après avoir effacé la notification? Pouvez-vous s'il vous plaît fournir plus d'informations sur la mise en œuvre?