我正在尝试将 firebase 消息集成到我的颤振应用程序中。在 Android 上它可以完美运行,但在 Ios 中,在构建应用程序时,它会打开一个白屏,并且没有其他任何内容出现。
我只能成功运行该应用程序一次,其中一个请求似乎从 Firebase 接收推送消息,即使在我能够发送通知之前也是如此。
我卸载了该应用程序并尝试再次安装,之后它只停留在白屏上,并且 Ios 不再发出请求发送推送权限的通知。
在 X-code Capabilities 中,我启用了推送通知和后台模式“后台获取”和“远程通知”
有没有人经历过这个?
版本:firebase_messaging:^5.0.1+1
主要飞镖
import 'package:App/injection/injector.dart';
import 'package:App/localization/MyLocalizationsDelegate.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter/material.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:App/pages/home/home.dart';
void main() => runApp(new NewsApp());
class NewsApp extends StatelessWidget {
MyLocalizationsDelegate myLocation = const MyLocalizationsDelegate();
FirebaseMessaging firebaseMessaging = new FirebaseMessaging();
String textToken = 'AQUI VAI O TOKEN';
NewsApp(){
Injector.configure(Flavor.PRO);
}
@override
void initState(){
print('iniciou o initState()');
firebaseMessaging.configure(
onLaunch: (Map<String, dynamic> msg){
print('chamou onLaunch');
},
onResume: (Map<String, dynamic> msg){
print('chamou onResume');
},
onMessage: (Map<String, dynamic> msg){
print('chamou onMessage');
}
);
firebaseMessaging.requestNotificationPermissions(
const IosNotificationSettings(
sound: true,
alert: true,
badge: true
)
);
firebaseMessaging.onIosSettingsRegistered.listen((IosNotificationSettings setting) {
print('Configurações do IOS registradas');
});
firebaseMessaging.getToken().then((token){
update(token);
});
}
update(String token){
print(token);
textToken = token;
// setState((){
//
// });
}
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
initState();
return new MaterialApp(
debugShowCheckedModeBanner: false,
title: 'App',
theme: new ThemeData(
primarySwatch: Colors.blue,
primaryColor: Colors.blue,
accentColor: Colors.blue,
brightness: Brightness.light
),
supportedLocales: MyLocalizationsDelegate.supportedLocales(),
localizationsDelegates: [
myLocation,
DefaultCupertinoLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
localeResolutionCallback: myLocation.resolution,
home: HomePage.create(),
);
}
}