Firebase在安装和首次在iOS上运行后不会显示任何通知

Firebase在安装和首次在iOS上运行后不会显示任何通知,firebase,flutter,message,Firebase,Flutter,Message,在iOS上安装应用程序并首次使用if后,我不会立即收到通知。重新启动应用程序后,我将开始接收通知 我在应用程序开始时给下面的类打电话,但它第一次不起作用。我也尝试在代码后面调用该类,但它仍然不起作用 以下是我编写的代码: 导入'dart:async'; 导入“package:firebase_messaging/firebase_messaging.dart”; 进口“包装:颤振/材料.省道”; 导入“包:hrqoltesting/API/API.dart”; 导入“包:hrqoltesting

在iOS上安装应用程序并首次使用if后,我不会立即收到通知。重新启动应用程序后,我将开始接收通知

我在应用程序开始时给下面的类打电话,但它第一次不起作用。我也尝试在代码后面调用该类,但它仍然不起作用

以下是我编写的代码:

导入'dart:async';
导入“package:firebase_messaging/firebase_messaging.dart”;
进口“包装:颤振/材料.省道”;
导入“包:hrqoltesting/API/API.dart”;
导入“包:hrqoltesting/api/ASsessment/ASsessment.dart”;
导入“包:hrqoltesting/assessmentselection/petassessment.dart”;
导入“包:hrqoltesting/AssessmentQuestion/AssessmentQuestion.dart”;
导入“包:hrqoltesting/AssessmentQuestion/Progressbar.dart”;
导入“包:hrqoltesting/Globals/Globals.dart”;
导入“包:hrqoltesting/Life%20评估%20内容/评估%20内容%20页.dart”;
导入“包装:HRQolTest/notification/Medicing%20Screen%20Dog%20.dart”;
导入“package:progress_dialog/progress_dialog.dart”;
导入“package:shared_preferences/shared_preferences.dart”;
导入“../const.dart”;
进口“药物筛选Cat.dart”;
类NotificationClass扩展StatefulWidget{
最后一个孩子;
NotificationClass({this.child});
@凌驾
_NotificationClassState createState();
}
类_通知类状态扩展状态
使用SingleTickerProviderStateMixin{
最终FirebaseMessaging_FirebaseMessaging=FirebaseMessaging();
流媒体订阅;
流订阅和流订阅;
PushNotificationMessage通知;
bool\u newNotification=false;
进步对话公关;
getassessments(var pettype)异步{
api callapi=新api();
SharedReferences pref=等待asd;
var x=等待调用API.评估(pettype);
返回x;
}
@凌驾
void initState(){
super.initState();
测试();
}
异步测试{
_firebaseMessaging
.requestNotificationPermissions(IONotificationSettings());
等待未来。延迟(持续时间:10秒);
iosSubscription=\u firebaseMessaging.OnAssettingsRegistered.listen((数据){
});
_firebaseMessaging.configure(
onMessage:(映射消息)异步{
打印(“onResume:$message”);
if(消息[“body”].toString().toLowerCase())==
“${globals.petname.toString().toLowerCase()}的下一次librela注入即将到期。点击查看详细信息”){
Navigator.pushReplacement(上下文,
MaterialPage路由(生成器:(上下文)=>MedicalScreen());
}else if(消息[“body”].toString().toLowerCase())==
“${globals.petname.toString().toLowerCase()}的下一次solensia注入即将到期。点击查看更多信息”){
Navigator.pushReplacement(上下文,
MaterialPage路由(生成器:(上下文)=>MedicalScreenCat());
}else if(消息[“评估id”!=null){
var date=DateTime.parse(消息[“到期日]).add(持续时间(天):7));
if(DateTime.now().isBefore(date)){
if(int.parse(message[“assessment_id”])==1||
int.parse(消息[“评估id”])==3||
int.parse(消息[“评估”])==4||
int.parse(message[“assessment_id”])==7||
int.parse(message[“assessment_id”])==9||
int.parse(消息[“评估id”])==10){
globals.assessmentid=int.parse(消息[“assessment_id]”);
导航器。推(
上下文
材料路线(
生成器:(上下文)=>
评估问题(globals.assessmentid),
));
}否则{
globals.assessmentid=int.parse(消息[“assessment_id]”);
globals.opt.clear();
globals.ques.clear();
globals.answeropt.clear();
api callapi=新api();
var x=await callapi.questions();
导航器。推(
上下文
材料路线(
生成器:(上下文)=>assessmentContent(),
));
}
}否则{
清单评估=
等待评估(globals.pettype);
导航器。更换(
上下文
材料路线(
生成器:(上下文)=>petassementselection(
评估,,
)),
);
}
}
设置状态(){
_newNotification=true;
});
},
onLaunch:(映射消息)异步{
打印(“onResume:$message”);
if(消息[“body”].toString().toLowerCase())==
“${globals.petname.toString().toLowerCase()}的下一次librela注入即将到期。点击查看详细信息”){
Navigator.pushReplacement(上下文,
MaterialPage路由(生成器:(上下文)=>MedicalScreen());
//NotificationClass().createState().dispose();
}else if(消息[“body”].toString().toLowerCase())==
“${globals.petname.toString().toLowerCase()}的下一次solensia注入即将到期。点击查看更多信息”){
Navigator.pushReplacement(上下文,
MaterialPage路由(生成器:(上下文)=>MedicalScreenCat());
}else if(消息[“评估id”!=null){
var date=DateTime.parse(消息[“到期日]).add(持续时间(天):7));
if(DateTime.now().isBefore(date)){
if(int.parse(message[“assessment_id”])==1||
int.parse(消息[“评估id”])==3||
int.parse(消息[“评估”])==4||
int.parse(message[“assessment_id”])==7||
int.parse(message[“assessment_id”])==9||
int.parse(消息[“