2016-07-05 38 views
0

當我們收到的推送通知而應用程序是在後臺模式中,它會自動使用APS和其它參數,如聲音,徽章,警報以產生在上面出現的通知。防止自動生成的推送通知

我想要的是防止自動生成的通知讓它調用didReceiveRemoteNotification並生成我的自定義本地通知並將其顯示在頂部和通知中心。

其原因在於該消息是根據在推送通知中接收到的一些數據之後本地管理的情況來定製的。

我還沒有嘗試過任何東西,因爲我找不到任何解決方案。我甚至不知道這是否可能。

任何可以解決這種其他方式的幫助或其他建議是高度讚賞。

回答

1

你可以看看到iOS無聲通知here

但是,你有2個不同的情況:

  • 1你的應用程序是在面前,並接收遠程調用,並通知沒有顯示。

  • 2您的應用程序在後臺,我不認爲didreceiveRemove被調用。

所以在這兩種情況下,你不會達到目的。你可能會嘗試在發送之前自定義通知

+0

如果我們使用後臺提取,會調用哪個方法。這給我們30秒的時間來執行指令? –

+1

如果通知有效載荷在'aps'字典中包含值'content-available:1',則在應用程序處於後臺時調用應用程序'didReceiveRemoteNotification:fetchHandler:'。 – Avi

+0

謝謝@Avi。這將幫助我生成本地通知,但更大的問題是阻止自動生成的推送通知。 –

0

即使您的應用程序處於後臺,暫停,不活動或終止,它也會被無聲推送通知喚醒。 (注意:當應用程序沒有被無聲推動喚醒的唯一場景是當它已經被控制中心的用戶殺死時)

因此,您可以發送靜默推送,執行您需要執行的任何操作在數據上,然後生成一個本地的通知,將進入托盤。