Можем ли мы вызвать API для тихого уведомления в фоновом режиме?

Можно ли вызвать API для отправки данных на сервер при получении тихого push-уведомления в iOS? Любая помощь будет оценена.

заранее спасибо


person poojs followal    schedule 05.08.2019    source источник
comment
Да, ты можешь. Попробуйте это stackoverflow.com/a/50044201/5084797   -  person manishsharma93    schedule 05.08.2019


Ответы (1)


Можно сделать вызов API после получения тихого push-уведомления. Однако это не сработает, если приложение будет уничтожено пользователем. Если это проблема, см. этот ответ

Если это не так, вот как это сделать. Вам необходимо включить «Фоновое получение» и «Удаленные уведомления» в фоновых режимах на экране «Возможности приложения» в XCode.

Затем добавьте этот метод application(_:didReceiveRemoteNotification:fetchCompletionHandler:). в свой AppDelegate. Вы можете сделать вызов API внутри этого метода.

Ex:

 func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

   apiCall(fetchCompletionHandler: completionHandler)

}
func apiCall(fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void){

  //Make call here

    completionHandler(UIBackgroundFetchResult.noData)

}
person Emir    schedule 05.08.2019
comment
Вы можете вызвать службу, когда ваше приложение убито. Проверьте это stackoverflow.com/a/50044201/5084797. - person manishsharma93; 05.08.2019