Получение push-уведомлений в разных штатах
Я знаю, что эта тема обсуждалась, но я все еще вижу противоречивые комментарии, и я все больше и больше теряюсь
Я просто хочу знать, что происходит, когда мое приложение находится в фоновом режиме и получает push-уведомление.
Я знаю это:
В то время как на переднем плане - приложение: didReceiveRemoteNotification: вызывается, и нет никакого предупреждения, значка или звука.
в то время как не запущено - предупреждение, значок и / или звук показываются / воспроизводятся, и если пользователь нажимает кнопку "Просмотр / Открыть" (действие) уведомления, приложение запускается и вызывается приложение:didFinishLaunchingWithOptions: и полезная нагрузка уведомления пропущено, если пользователь закрывает уведомление и нажимает на значок приложения, вызывается тот же метод, однако информация об уведомлении не передается.
в то время как в фоновом режиме - вот где я запутался. Мне нужно знать, если работа в фоновом режиме или приостановка имеет значение, и в любом случае, какой метод (ы) вызывается, и отображается ли / воспроизводится ли оповещение, значок и / или звук.
Благодарю.
1 ответ
Вы можете найти этот ответ на Как ответить на просмотр push-уведомлений, если приложение уже запущено в фоновом режиме, полезным.
По сути, вы можете сказать, было ли ваше приложение выведено на передний план или нет в приложении:didReceiveRemoteNotification: используя этот фрагмент кода:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if ( application.applicationState == UIApplicationStateActive )
// app was already in the foreground
else
// app was just brought from background to foreground
...
}