У меня есть проект флаттера, использующий firebase_messaging для push-уведомлений. Я могу получать уведомления на своем устройстве iOS, но не получаю уведомления на своем устройстве Android.
Я тестирую push-уведомления через консоль Firebase и использую токен FCM, сгенерированный на моем устройстве Android.
Я дважды проверил свои файлы сборки и сервис Google json, как и предлагалось здесь .
Вот мой код флаттера:
@override
void initState() {
super.initState();
_firebaseMessagingSetup();
}
void _firebaseMessagingSetup() {
if (Platform.isIOS) {
_firebaseMessaging.requestNotificationPermissions(
IosNotificationSettings(sound: true, badge: true, alert: true)
);
_firebaseMessaging
.onIosSettingsRegistered
.listen((IosNotificationSettings settings)
{
print("Settings registered: $settings");
});
}
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) {
print('on message $message');
},
onResume: (Map<String, dynamic> message) {
print('on resume $message');
},
onLaunch: (Map<String, dynamic> message) {
print('on launch $message');
},
);
_firebaseMessaging.getToken().then((token){
print(token);
});
}
В моем app/build.gradle
я использовал firebase-сообщения о зависимостях вместо firebase-core, потому что мое приложение не собирается при использовании firebase-core:
// ..
dependencies {
//...
implementation 'com.google.firebase:firebase-messaging:18.0.0' // added
}
apply plugin: 'com.google.gms.google-services' // added
Во время отладки я получаю следующее сообщение, но не уверен, связано ли это с этой проблемой.
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)