我正在嘗試在使用Firebase雲消息傳遞(FCM)的多平臺Web和移動平臺應用中實現消息子系統。 FCM允許您以兩種格式發送消息:通知和數據。Firebase雲消息傳遞:可能在權限=被阻止時發送數據消息?
通知由平臺顯示,例如,在網絡平臺上的一個小彈出窗口中,或添加到您的手機上的通知列表。
數據消息由您的應用程序處理。
在應用程序可以接收消息之前,您必須要求用戶發送/接收通知的權限。
現在,當用戶阻止通知時,數據消息似乎也被阻止。我是否錯過了一些東西,或者是這個設計?
我正在嘗試在使用Firebase雲消息傳遞(FCM)的多平臺Web和移動平臺應用中實現消息子系統。 FCM允許您以兩種格式發送消息:通知和數據。Firebase雲消息傳遞:可能在權限=被阻止時發送數據消息?
通知由平臺顯示,例如,在網絡平臺上的一個小彈出窗口中,或添加到您的手機上的通知列表。
數據消息由您的應用程序處理。
在應用程序可以接收消息之前,您必須要求用戶發送/接收通知的權限。
現在,當用戶阻止通知時,數據消息似乎也被阻止。我是否錯過了一些東西,或者是這個設計?
在iOS上下文中,只需要顯示通知中心的推送通知。
UIApplication.shared.registerForRemoteNotifications()
將允許您檢索設備令牌,但不會顯示權限警報。此時,您可以收到推送通知,但您不會請參閱,除非您在didReceiveRemoteNotification
或Firebase數據消息didReceive remoteMessage
中打印出來。
爲了在應用程序外部顯示通知,您需要撥打UIApplication.shared.registerUserNotificationSettings(settings)
,這將顯示權限提醒。
我認爲這是通過設計,所以它應該是預期的。權限是爲了向用戶提供權力/控制權,以便在他們的設備中發生的事情。如果阻止的應用仍然能夠發送通知,它看起來不太好,但如果發生這種情況,它會使權限無用。 –
是的,謝謝你的評論AL。我想它確實有道理。我將FCM視爲更通用的消息傳遞基礎結構,可以選擇連接目標平臺的通知API。顯然它不是一種選擇,而是它的一個組成部分。你會同意嗎? –
FCM主要是簡單的推送通知服務。所以是的,這是一個不可或缺的部分。 –