[英]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.