簡體   English   中英

Flutter 推送通知到 iOS & Android 沒有 firebase?

[英]Flutter Push notification to iOS & Android without firebase?

我想知道如何在使用任何外部服務(如 Firebase 或 OneSignal)的情況下向 Android 和 iOS 設備中的 Flutter 應用程序用戶推送通知?

我想在PHP中實現一個代碼,它可以向我的Flutter 應用程序中的所有/特定用戶發送推送實時通知,該應用程序在 Android 和 iOS 中都有效。

我找到了一些解決方案,比如flutter_local_notifications with workmanger ,它可以在后台獲取 API 至少 15 分鍾。 Workmanger不是好的解決方案,因為它只能工作 15 分鍾,並且會消耗電池和互聯網。

我需要一個針對 Android 和 iOS 設備的 flutter 應用程序的有效解決方案,即使應用程序關閉,它也可以實時偵聽來自服務器的消息。

如何解決? 謝謝

iOS

如果您的應用程序需要在后台進行 API 調用,您將始終需要與 Apple 的推送通知服務器 (APNS) 集成。 原因是一旦某個應用進入后台,iOS 往往很快就會讓該應用進入休眠狀態。

正確的做法是使用靜默推送通知來喚醒應用程序。 收到后,設備上不會顯示任何消息,但應用程序需要大約 30 秒才能撥打 API 電話。

在您的情況下,該應用程序可以撥打 API 電話,然后安排本地推送通知以顯示您的消息。

通過推送通知進行后台更新

安排本地推送通知

Android

看起來 WorkManager 是您最好的選擇。 我看不出它如何影響電池。

供參考

您不需要使用 Firebase 或 OneSignal 來推送通知,無論是靜音還是其他方式。 它們只是與官方 Apple 或 Google 推送通知服務器交互的第 3 方服務。

不幸的是,我認為這是不可能的。 甚至 OneSignal 也使用 Firebase API 發送通知,如您在此處所見。 對於所有其他解決方案,您必須在更新頻率與互聯網使用和電池消耗之間取得平衡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM