0

我正在嘗試向Android和iOS發送推送通知。在Android推送通知處理通過數據而在ios 通知是需要在有效載荷顯示通知。從Firebase發送推送通知到Android以及iOS

但是,如果通知部分已添加並且用戶訂閱了兩個設備上的通道。在Android上,它會顯示2條由有效負載的通知部分創建的消息。

從firebase發送有效內容的任何特定方式。這樣它可以在兩個設備上運行。

在此先感謝

+0

Firebase支持向iOS和Android發送相同的通知。請參閱https://firebase.google.com/docs/cloud-messaging/android/first-message#send_a_notification_message –

+0

@FrankvanPuffelen:我可以向ios和Android發送通知。但我不想讓Firebase使用系統通知托盤。通知將由數據部分創建。 – coreDeviOS

+0

說明需要:「在Android上顯示2條消息」。你是說* Android通知抽屜*顯示消息兩次? – ToolmakerSteve

回答

0

就像Frank說的那樣,Firebase確實支持向iOS和Android發送消息。

如果發送的通知消息與Android客戶端將要麼顯示自動生成的基於該通知的有效負載通知的數據有效載荷(所以二者通知和數據),如果該應用是在後臺被傳遞到onMessageReceived回調,您可以選擇根據數據和/或通知負載生成通知,如果您希望應用程序處於前臺。將不會生成兩個通知。

+0

在我看來,OP說他們*收到了兩個通知。這不是對他們的問題的*評論*,而是要求澄清,而不是*回答*(這看起來與OP的情況相矛盾,因此不適用於他們)? – ToolmakerSteve

+0

......我在想他們的「通知」有效載荷導致Android生成通知,然後他們有處理「數據」部分的代碼(所以他們的應用程序在後臺,並對事件作出響應,當時他們以編程方式生成「本地通知」。)根據我正在閱讀的內容;還沒有嘗試過這個,所以尋找一個支持這兩個平臺的好例子 - 在搜索和閱讀一整天之後還沒有找到它!如果你可以展示一些可以在兩個平臺上運行的json,那就太棒了 - 而且是第一個。並澄清什麼回調做/不做。 – ToolmakerSteve

+0

嗯。一個問題。根據一些帖子,如果沒有通知有效載荷,如果您的應用已被*終止*(因此它不在後臺運行),Android將不會執行任何操作。雖然也許「自動啓動」可以解決這個問題?對不起,我不清楚:iOS和Android通知密鑰要求之間存在*不兼容,所以它似乎支持這兩種方法,是將iOS密鑰放入通知部分,並將Android密鑰放入數據中(讓應用程序處理它)。但是如果這樣做,Android會認爲通知部分是「不完整的」 - 我認爲它不會顯示它,或者顯示得不好。 – ToolmakerSteve