2015-12-17 38 views
1

我收到來自我們通知服務器的某些事件的推送通知。當應用程序運行時,禁止/隱藏iOS中的推送通知

  1. 希望這些通知警報出現時,應用程序是背景/前景不活躍

  2. 想通知提醒,當應用程序出現在後臺激活(前景不是問題,因爲通知不會顯示)。我只想顯示我自己的本地通知。

有沒有什麼辦法從代碼做到這一點?基本上我想隱藏遠程推送通知,而是在我的應用程序處於活動狀態時顯示本地通知。

P.S-發送無聲通知的通知服務器不是一個選項 - 服務器不知道我們的應用何時運行/未運行。應用程序和此服務器之間沒有通信。

+0

不,如果我理解你的目標,沒有辦法在代碼中做到這一點。推送警報將由系統在諸如「didReceiveRemoteNotification」之類的委託方法之前傳遞。 –

+0

「在後臺激活」是什麼意思?在一般情況下(只有少數例外情況),一旦您處於後臺,超過iOS提供的寬限期,您的應用即被暫停。 – jcaron

+0

是的,我的意思是這個應用程序可以在後臺運行的寬限期。 – user1968919

回答

1

您可以先通知您的應用程序,然後顯示本地通知。要執行此操作,您可以簡單地從服務器發送content-available通知。這會使您的應用得到通知,然後您可以決定是否顯示本地通知。

+0

但是,如果應用程序沒有運行,我確實希望系統顯示通知。特別是因爲didReceiveRemoteNotification withFetchHandler並不總是要被調用,所以它不會在任何情況下喚醒我的應用程序。 – user1968919

+0

你是怎麼解決的? –

相關問題