![](/img/trans.png)
[英]Flutter FCM push notification not receiving on IOS with firebase_messaging: ^9.1.3
[英]How to debug iOS not receiving push notifications (Flutter using firebase_messaging)?
目前,我正在使用 flutter firebase_messaging 庫來推送 iOS 和 Android 的通知。
我在接收由 firebase 控制台(通過指定 apnsToken 進行通知測試)或使用舊版 HTTP 協議的 curl 請求(僅通知,不發送 iOS 或 Android 有效負載)發送的 iOS 通知時遇到問題。 在 Android 上,這兩種方法都可以正常工作並且會收到通知。
我已按照文檔中的所有指定步驟操作但沒有成功:
更多信息:我可以在 iOS 和 Android 上獲取 APNs ID,所以我猜問題不在於 firebase(核心)配置,而可能在於 firebase 消息傳遞。 但是,iOS APN(僅大寫鎖定字符和數字)似乎與 Android APN 完全不同。 正常嗎?
我沒有弄亂 FirebaseAppDelegateProxyEnabled,甚至認為我收到以下消息:FIRMessaging 遠程通知代理已啟用,將調整遠程通知接收器處理程序。
我知道 curl 請求返回 200 OK(響應代碼,我在 Android 上收到通知)。
我忘記了任何步驟? 我該如何調試?
根據我的經驗,一般來說調試這個是相當困難的。 我有一個類似的問題,我發現這是由於我犯的兩個錯誤。 雖然您可能已經解決了您的問題,但我會將其發布在這里,以便其他人可以從中受益。
在 iOS 上,您需要請求發送通知的權限,否則它們將永遠不會到達。 查看特定命令的文檔。 就我而言,它的工作原理是
FirebaseMessaging.instance.requestPermission(
alert: true,
announcement: false,
badge: true,
carPlay: false,
criticalAlert: false,
provisional: false,
sound: true,
);
這應該是顯而易見的,但我以某種方式設法認為如果Platform.isIOS
,我需要使用 APNs 令牌。 這當然不是真的,你應該總是使用
String? token = await FirebaseMessaging.instance.getToken();
取回它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.