# #ios #swift #firebase #flutter #firebase-cloud-messaging
Вопрос:
Я перепробовал все решения на StackOverflow и GitHub, но я все еще не получаю уведомлений в IOS. В Android он работает нормально, но в IOS — нет. Я использую последнюю версию плагина firebase_messaging, т. е. ^9.1.3, с новыми функциями, которые они ввели. Кто-нибудь может помочь, пожалуйста? Ниже приведен код, который я использовал для получения данных уведомления
Я тестирую это на реальном устройстве IOS с версией 14.2, и я также включил уведомления в настройках.
Future<void> _firebaseMessagingBackgroundHandler(
RemoteMessage message) async {
// If you're going to use other Firebase services in the background, such as Firestore,
// make sure you call `initializeApp` before using other Firebase services.
await Firebase.initializeApp();
print('Handling a background message ${message.messageId}');
}
void firebaseCloudMessaging_Listeners() {
if (Platform.isIOS) iOS_Permission();
_firebaseMessaging.getToken().then((token) {
print(token);
});
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
print(message.notification.body);
RemoteNotification notification = message.notification;
AndroidNotification android = message.notification?.android;
if (notification != null amp;amp; android != null) {}
});
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
print('A new onMessageOpenedApp event was published!');
nextScreen(message, "onLaunch");
});
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
}
// for IOS permision
void iOS_Permission() async {
NotificationSettings settings = await _firebaseMessaging.requestPermission(
announcement: true,
carPlay: true,
criticalAlert: true,
provisional: false,
sound: true,
badge: true,
alert: true);
}
// setting up the variables I need
FirebaseMessaging setUpFirebase(Function next, BuildContext context) {
_firebaseMessaging = FirebaseMessaging.instance;
firebaseCloudMessaging_Listeners();
this.context = context;
return _firebaseMessaging;
}
void deleteFirebaseInstance() {
_firebaseMessaging.deleteToken();
}
Комментарии:
1. и я уже включил push-уведомления,фоновые режимы (с фоновой выборкой и удаленными уведомлениями) в Xcode
2. и просто для уверенности… вы пытаетесь получать уведомления на реальном устройстве IOS или работаете с эмулятором IOS?
3. Перейдите на свое устройство iOS, настройки, найдите свое приложение, откройте его настройки, проверьте, включены ли настройки уведомлений для вашего приложения.
4. Эй, да, я использую реальное устройство с версией IOS 14.2, и уведомления включены.
Ответ №1:
Для iOS вам нужно
- Включите Push-уведомление о: https://developer.apple.com/account/resources/identifiers/bundleId
- Добавьте возможность Push-уведомления в Xcode
- Файл Config .p8 на консоли Firebase