1

當應用程序處於前臺並收到通知時,將顯示警告消息,並且只顯示「確定」按鈕,不顯示「取消」。所以用戶不能說:「我想忽略這個消息」。iOS:如何讓應用程序在前臺時忽略遠程通知?

但是,我確實需要讓用戶能夠忽略通知。它們包含深層鏈接,如果用戶正在閱讀其他內容,用戶可能不希望被帶到另一個頁面。 爲此,我實施了一項自定義警報,告知:「您是否想轉到本文?是/否」,只有選擇「是」,用戶纔會轉到深層鏈接。

問題是我不知道如何找出標準警報何時關閉。因此,我在didReceiveRemoteNotification中顯示了自定義警報,導致兩個警報重疊(錯誤)。

什麼是推薦的解決方案,讓用戶有機會在她已經在應用中時忽略通知?有沒有辦法在應用程序處於前景時自定義默認警報消息?

+6

當您的應用處於前臺時,iOS不處理通知。它直接發送給你的應用程序,你正在處理通知。如果你有兩個對話框,最有可能的是你將兩個對話框呈現出來。這在[本地和推送通知編程指南](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/IPhoneOSClientImp.html)中說明。 – rckoenes

+0

@rckoenes非常感謝。就是這樣。我使用的是UrbanAirship,但我沒有意識到他們的SDK默認是這樣做的,它不是Apple。如果您將您的評論重新發布爲答案,我很樂意將其標記爲已解決。我花了一些時間調查這件事,這可能會幫助其他人。 – PJC

回答

2

當您的應用處於前臺時,iOS不處理通知。它直接傳送到您的應用程序,您的應用程序正在處理通知。

如果你有兩個對話框,最有可能的是你將兩個對話框展示出來。

Local and Push Notification Programming Guide

0

如果應用程序在前臺運行時通報遞送的說明,應用程序委託接收本地或遠程通知。 正如文檔所述,應用程序委託將處理通知。

相關問題