Я использую реагирующую версию 0.60, push-уведомление Firebase. Мне нужна помощь с реагированием на родные push-уведомления Firebase IOS с данными. Я могу отправлять уведомления с данными полезной нагрузки. Я могу получить уведомление, когда приложение на переднем плане, фон, убит. Я отправляю данные с уведомлением.
{
"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"
}
Я хочу показать уведомление и одновременно сохранить данные в локальной базе данных приложения, даже если пользователь не нажимает на уведомление.
Я могу обработать уведомление, когда пользователь нажимает на уведомление. Я хочу обновить данные в приложении, когда уведомление получено пользователем, а также показать уведомление. Я не хочу использовать тихое фоновое уведомление.
Мой код приложения Applelegate
- (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");
}
Я хочу достичь 1. Пользователь должен получить уведомление, даже если приложение закрыто, убито, фон. 2. Локальная база данных приложения пользователя должна обновляться, даже если пользователь не нажимает на уведомление.
Я достиг первого пункта в поиске второго. Я новичок, чтобы реагировать на родных. Я знаю, что при получении уведомления вызывается метод обработчика завершения. когда приложение убито, ничего не отображается в журнале xcode. Как мне написать код в методе завершения обработчика? и как я могу проверить, вызван ли метод и выполнено ли задание.