2017-01-26 9 views
-1

Для моей панели статистики статистики внутри бэкенда мне нужно вызвать rest-api через alamofire, который сообщает серверу, что пользователь открыл приложение через push-уведомление.call rest-api, когда приложение открывается через push-уведомление

Как я могу это достичь?

+0

вы пытались с ** applicationWillEnterForeground ** или ** applicationDidBecomeActive ** ? –

+0

, но как я могу дифференцировать, если приложение было открыто вручную или через push-уведомление? Мне нужно увидеть его на панели инструментов, если толчок эффективен. –

+0

«через push-уведомление нажмите« что это значит? –

ответ

1

Я работал с местными уведомлениями, поэтому я приведу вам пример о том, что я делаю. Я не знаю, так ли это для push-уведомлений.

Что я сделать, это установить AppDelegate в соответствии с Пользовательским Notifications делегатом

1: Импорт

import UserNotifications 

2: Добавить протокол

class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate 

3: Уведомление Center Instance

var notificationCenter: UNUserNotificationCenter! 

4: Инициализировать и установить делегат

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

    notificationCenter = UNUserNotificationCenter.current() 
    notificationCenter.delegate = self 

    return true 
} 

5: NotificationCenter ответ

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping() -> Void) { 

     print("notification pressed") 
} 
+0

Вы можете сделать то же самое (add noti center delegate) в отдельном классе, но вам нужно сохранить его в приложении appDelegate. Надеюсь, поможет! –

+0

большой вклад, очень подробно! Но надо сказать, что это работает только для iOS 10 или выше. –

+0

Ohhh yes yes im sorry :( –