2017-11-26 1 views
0

사용자가 포그 라운드로 최소화 된 앱을 가져올 수있는 알림을 탭할 수있는 앱을 포그 라운드로 다시 가져 왔을 때 최신 푸시 알림 데이터 읽기 (이 앱은 나와 잘 작동 함) 일반적으로 이런 통지 데이터 ...푸시 알림 구현시

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) 
{ 
    let userInfo = notification.request.content.userInfo 
    parsePayload(arg: (userInfo["PN_Body"] as? NSString)!) 
    completionHandler([.alert, .badge, .sound]) 
} 

제 질문은 다른 시나리오에 관한 앱을 최소화하고,에 의해 전경으로 응용 프로그램을 (안 가져 동안받은 사용자가 5 알림 말하는 경우

알림을 두드리는 것), 그때 어떻게 내가 가장 최근의 알림을 읽을까요? 살았습니까?

+1

짧은 대답은 그렇지 않습니다. 앱이 포 그라운드로 돌아 왔을 때 가장 먼저해야 할 일은 서버에 업데이트 된 데이터가 있는지 확인하는 것입니다. 알림은 앱에 데이터를 안정적으로 전달하기위한 것이 아닙니다. – Paulw11

답변

1

당신은 func getDeliveredNotifications(completionHandler: @escaping ([UNNotification]) -> Void)

"알림을 호출하여 여전히 알림 센터에 표시되는 알림을받을 수 있습니다 전달 된 앱 로컬 및 원격 알림을 나타내는 UNNotification 객체의 배열 알림 센터에 계속 표시됩니다. 알림 센터에 앱 알림이 표시되지 않으면 배열이 비어 있습니다. "

그러나 알림이 오래되어 알림 센터에 잠시 앉아있는 경우 정확한 정보를 제공하지 못할 수 있습니다. 정말 지저분하게 만들 수 있으며 알림이 전달 된 날짜를 확인하고 앱이 백그라운드에서 마지막으로 입력/종료 된 시간과 비교할 수 있습니다.

마찬가지로 @ paulw11에 따르면 서버로 확인하고 정보를 새로 고침해야합니다.