2016-09-25 4 views
0

Я использую уведомление толчка в моем приложении, это отлично работает, но я хочу, чтобы получить уведомление, если мое приложение в фоновом режиме, но метод didReceiveRemoteNotification не называется
я сумасшедшим, что
1- включить Фоновая Mod
2- проверка дистанционного уведомления
3- положить content_available = истина в полезных данных
, а также, когда я проверить его из ТСМ приборной панели не работает,
Пожалуйста, кто может мне помочь, спасибо.didReceiveRemoteNotification не вызывается в фоновом режиме, хотя content_available = истина

ответ

-1

Вы приложение должно обрабатывать все возможные состояния доставки толчок уведомление:

Ваше приложение было только начало Ваше приложение было только что принесли из фона на передний план Ваше приложение уже работает на переднем плане Вы не получите выбрать время доставки, какой метод представления используется для представления push-уведомления, которое закодировано в самом уведомлении (дополнительное предупреждение, номер значка, звук). Но поскольку вы, по-видимому, контролируете как приложение, так и полезную нагрузку 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 
    ... 
} 

для дальнейшего использования. Пожалуйста, проверьте

didReceiveRemoteNotification when in background

+0

Привет, Спасибо за ваш ответ, но, поскольку я сказал, что уведомление работает нормально, но когда приложение находится в фоновом режиме, doReceiveRemoteNotification не вызывается, но после уведомления о клике он называется почему? – Hosny

+0

Привет, очевидно, что, поскольку ваше приложение неактивно, пока пользователь не нажмет на уведомление, чтобы переместить приложение из фона или состояния переднего плана в активное состояние. didReceiveRemoteNotification не будет вызываться. –

0

Если вы тестируете на iOS 10, content_available должен быть JSON значением notification ключа, а не в data ключе. Хотя для iOS <= iOS 9, content_available может быть в JSON значение data или notification.

+0

Привет, я нашел причину, по которой безумное уведомление не работает в фоновом режиме, я отправил полезную нагрузку с предупреждающим ключом, и когда я отправил aps только с content_available и звуковым ключом, тогда он работал как шарм :), но я думаю, что это неправильно. – Hosny

Смежные вопросы