2017-09-05 3 views
0

도시용 비행선을 사용하여 iOS 10 (Swift) 앱에서 푸시 알림을 수신합니다. 나는 당신의 도움을 요청하여 다음 문제들을 해결하고 있습니다. .. 내가 작업 다음 시도 응용 프로그램은 알림을 숨기려면 전경푸시 알림 관리

를 실행하는 경우 알림을 숨길

수 없습니다

  1. 위임 방법 FUNC의 userNotificationCenter의 제거 구현 (_ 센터 : UNUserNotificationCenter, willPresent 알림 : UNNotification, withCompletionHandler completionHandler : @escaping (UNNotificationPresentationOptions) -> Void)

  2. completionHandler (UNNotificationPresentationOptionNone) 을 전달하여 토스트 이스케이프/숨기기를 시도했지만 "UNNotificationPresentationOptionNone"은 더 이상 사용할 수 없습니다.

  3. completionHandler ([]) - 작동하지 않습니다. 나는

취소 통보에 "UNNotificationPresentationOptionNone"을 전달하는 시도

취소하는 방법/목록에서 전달 (사용자 한 번 읽거나 취소) 통보를 제거하고 그에 따라 배지 아이콘을 업데이트합니다.

감사

답변

0

전경 프레 젠 테이 션 도시 비행선 SDK와 iOS10 + 전경 프리젠 테이션 옵션을 처리하는 방법은 두 가지가 있습니다

취급. Urban Airship SDK에 UAPushNotificationDelegate의 인스턴스가 구성되어 있다면 프리젠 테이션 옵션은 presentationOptions으로 위임되어 푸시 당 처리됩니다. 예 :

@available(iOS 10.0, *) 
func presentationOptions(for notification: UNNotification) -> UNNotificationPresentationOptions { 
    return [.alert] 
} 

[]을 반환 할 수 없습니다.

위의 대리인이 구성되어 있지 않으면 defaultPresentationOptions을 설정하여 모든 전경 프리젠 테이션 옵션을 사용하지 않도록 설정할 수 있습니다. 당신이 removeAllDeliveredNotifications() 방법을 제공 UNUserNotificationCenter의 공유 인스턴스를 통해 앱의 알림을 지울 수 있습니다 iOS10 +에

UAirship.push().defaultPresentationOptions = [] 

지우기 알림

. 이전 버전의 iOS와의 호환성을 유지하기 위해 배지를 0으로 설정할 수 있습니다. 자세한 내용은 here입니다.

if #available(iOS 10.0, *) { 
    UNUserNotificationCenter.current().removeAllDeliveredNotifications() 
} else { 
    UIApplication.shared.applicationIconBadgeNumber = 0; 
};