我的通知在 android 中没有任何问题,但在 iOS 中我无法弄清楚问题所在。
- 我已创建 APN 文件并上传到 Firebase iOS 配置
- 团队 ID 和应用程序 ID 都正确 - 仔细检查
- "推送通知"在Apple Developer和Xcode中都处于活动状态
- 当应用程序启动时,iOS 请求允许通知
我正在使用firebase_messaging插件,在我的main.dart
中我输入:
@override
void initState() {
super.initState();
if (Platform.isIOS)
this.fbaseMessaging.requestNotificationPermissions(
IosNotificationSettings(sound: true, badge: true, alert: true),
);
}
当用户登录时,我获取令牌:
fbaseMessaging.getToken().then((token) {
// Updates the user account
});
我已经在Xcode模拟器,TestFlight中的iOS设备以及已发布版本中进行了测试,但我从未收到任何通知,我不知道如何调试问题所在。
遵循了几个教程,例如:
- https://medium.com/flutterpub/enabling-firebase-cloud-messaging-push-notifications-with-flutter-39b08f2ed723
- https://www.youtube.com/watch?time_continue=450&v=PzjxZsz3Tjk
已解决。
我所要做的就是改变这一点:
if (Platform.isIOS)
{
this.fbaseMessaging.requestNotificationPermissions(
IosNotificationSettings(sound: true, badge: true, alert: true),
);
}
对此:
if (Platform.isIOS)
{
this.fbaseMessaging.configure();
this.fbaseMessaging.requestNotificationPermissions(
IosNotificationSettings(sound: true, badge: true, alert: true),
);
}
似乎即使我不使用onResume
,onLaunch
和onMessage
也必须调用configure
方法。