Ответ 1
Прежде всего push-уведомления не являются "сильными", если вы просто позволяете уведомлению сидеть достаточно долго (например, телефон отключен в течение многих дней), он будет отброшен. Для сохранения содержимого, отправленного в уведомлениях, необходимо выполнить некоторую пользовательскую обработку на заднем плане.
В протоколе UIApplicationDelegate
theres application:didFinishLaunchingWithOptions:
. Если ваше приложение запускается пользователем, нажимая правую кнопку в уведомлении push-уведомления, словарь launchOptions
, привязанный к вызову метода, будет содержать информацию об этом уведомлении; если ваше приложение уже запущено, вместо него будет вызываться application:didReceiveRemoteNotification:
(также в протоколе делегата).
Итак,
-
Если приложение запущено и вы реализуете
application:didReceiveRemoteNotification:
, тогда да, вы получите полезную нагрузку. В противном случае ничего не происходит. -
Если приложение не запускается во время отправки уведомления, пользователь нажимает на уведомление об уведомлении и запускает ваше приложение, ваше приложение получает полезную нагрузку, если оно реализует
application:didFinishLaunchingWithOptions:
. В противном случае вы ничего не получите.