Уведомление Flutter Push не отображается на IOS

12

У меня проблема с Flutter и IOS в отношении push-уведомлений.

Мои настройки и вещи, которые работают:

1) Я установил firebase_messaging: ^5.1.6пакет без ошибок / выполнил все их инструкции для IOS

2) Я запросил у пользователя разрешение на IOS и согласился получать push-уведомления

3) Я могу получить токен FCM на устройствах IOS и Android

4) Я создал ключ в разделе для разработчиков Apple и добавил ключ в FCM

5) Я закрыл приложение / отправил его в фоновом режиме при тестировании - все равно не повезло

6) Я добавил файл google-service-info в Runner, используя Xcode

7) Я добавил push-уведомления и фоновые уведомления в XCode Capabilities

8) Я тестирую на физическом устройстве iPhone 7 и физическом iPad

Я использовал curl для отправки уведомления на устройство IOS

curl -X POST --header "Authorization: key=<myAuthKEY>" \
    --Header "Content-Type: application/json" \
    https://fcm.googleapis.com/fcm/send \
    -d "{\"to\":\"<myDeviceKey>\",\"notification\":{\"body\":\"Hello\"},\"priority\":10}"

Я получаю ответ от Firebase

{"multicast_id":<SomeIdHere>,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"<SomeIdHere>"}]}

Вот как я получаю токен:

firebaseMessaging.getToken().then((String token) {
      _authModel.setNotificationToken(token);
    });

Когда я запускаю приложение на IOS, я не получаю никаких ошибок Firebase.

Я возился с этим уже 2 дня, так что это немного раздражает, все вышеперечисленное работает на Android.

Любые предложения, пожалуйста.

Флаттер Доктор:

Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel stable, v1.9.1+hotfix.4, on Mac OS X 10.15 19A583, locale en-GB)

[] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[] Xcode - develop for iOS and macOS (Xcode 11.0)
[] Android Studio (version 3.5)
[] VS Code (version 1.38.1)
[] Connected device (4 available)No issues found!

Мой файл AppDelegate.m

#include "AppDelegate.h"
#include "GeneratedPluginRegistrant.h"
@import Firebase;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [FIRApp configure];
  [GeneratedPluginRegistrant registerWithRegistry:self];
  // Override point for customization after application launch.
  return [super application:application didFinishLaunchingWithOptions:launchOptions];
}

@end
user3057745
источник
Я думаю, что это связано с FirebaseAppDelegateProxyEnabled. medium.com/flutterpub/… Эта ссылка будет полезна.
Арес
Ссылка кажется отключенной, архив еще активен: web.archive.org/web/20191118225834/https://medium.com/… но без изображений :(
Стефано Саитта
Этот также кажется хорошим: medium.com/@jun.chenying/…
Стефано Саитта
1
Вы можете отправить их через консоль сообщений Firebase?
Стефано Саитта
@ user3057745 Вы решили эту проблему?
Даниэль Кута

Ответы:

2

Это не очень красиво, вам может потребоваться предоставить гораздо больше подробностей, но, пожалуйста, сообщите об этом по адресу https://github.com/FirebaseExtended/flutterfire/issues . В противном случае быстрый поиск проблем с push-уведомлениями в iOS покажет множество отчетов. Вот несколько подобных, может быть, один из них связан с вашим?

Или, если вы уже подали заявку, поделитесь ссылкой! Другие могут добавить отзыв к вашему.

TWL
источник
0

Если вы тестируете на плюшевом устройстве ios 10, попробуйте добавить следующие строки в файл AppDelegate.swift ниже FirebaseApp.configure ()

 if #available(iOS 10.0, *) {
  UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
}
Бринда Ратод
источник
0

Вы должны тщательно выполнить все шаги из https://pub.dev/packages/firebase_messaging . Я тоже застрял в этом. Но позже я понял, что что-то упустил. Затем я проверяю все шаги. Я пропустил регистрацию в APN (Apple Push Notification). Поэтому, пожалуйста, перепроверьте еще раз.

даду мохапатра
источник