Как обрабатывать push-уведомления Firebase, когда приложение iOS приостановлено / убито и пользователь нажимает на уведомление? - PullRequest
0 голосов
/ 21 сентября 2019

Я хочу знать, какую функцию следует вызывать и как, когда я получаю уведомление, когда мое приложение приостановлено / убито.Я могу обработать, когда мое приложение находится на переднем плане / в фоне, однако, когда приложение убито, я не уверен, как и где обрабатывать или анализировать полезные данные уведомлений?

1 Ответ

1 голос
/ 21 сентября 2019

При открытии приложения из уведомления вы получите данные уведомления в приложении: будет вызван метод didFinishedLaunchingWithOptions.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if (launchOptions != nil)
    {
        // opened from a push notification when the app is closed
        NSDictionary* userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
        if (userInfo != nil)
        {
             NSLog(@"userInfo->%@", [userInfo objectForKey:@"aps"]);
        }
    }
    else
    {
        // opened app without a push notification.
    }
}

Swift 5.1

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
    if launchOptions != nil {
        // opened from a push notification when the app is closed
        let userInfo = launchOptions?[.remoteNotification] as? [AnyHashable : Any]
        if userInfo != nil {
            if let object = userInfo?["aps"] {
                print("userInfo->\(object)")
            }
        }
    } else {
        // opened app without a push notification.
    }
}
...