푸시 알림과 관련하여 Flutter 및 IOS에 문제가 있습니다.
내 설정 및 작동하는 것들 :
1) firebase_messaging: ^5.1.6
오류없이 패키지를 설치했으며 IOS에 대한 모든 지침을 따랐습니다.
2) IOS에 대한 사용자 권한을 요청하고 푸시 알림 수신을 수락했습니다.
3) IOS 및 Android 기기에서 FCM 토큰을 얻을 수 있습니다
4) Apple 개발자 섹션에서 키를 만들고 FCM에 키를 추가했습니다.
5) 테스트 할 때 앱을 닫고 백그라운드로 보냈습니다. 아직 운이 없습니다.
6) Xcode를 사용하여 google-service-info 파일을 Runner에 추가했습니다.
7) XCode 기능에 푸시 알림 및 백그라운드 알림을 추가했습니다.
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
답변
예쁘지는 않지만 더 자세한 정보를 제공해야 할 수도 있지만이 문제를 https://github.com/FirebaseExtended/flutterfire/issues에 제출 하십시오 . 그렇지 않으면 iOS 푸시 알림 문제를 빠르게 검색하면 다양한 보고서가 표시됩니다. 여기 비슷한 것들이 있습니다. 아마도 당신과 관련이 있습니까?
- https://github.com/FirebaseExtended/flutterfire/issues/1799
- 전경, RE에만 표시 :
5) I have closed the app / sent it to the background when testing - still no luck
- 전경, RE에만 표시 :
- https://github.com/FirebaseExtended/flutterfire/issues/1590
- 배경 문제와 관련
- https://github.com/FirebaseExtended/flutterfire/issues/1797
- 콘솔에서 시도 했습니까?, RE : Stefano Saitta 님의 코멘트
- https://github.com/FirebaseExtended/flutterfire/issues/1677
- Android에서는 작동하지만 iOS에서는 작동하지 않습니다.
- https://github.com/FirebaseExtended/flutterfire/issues/1581
- 다른 플러그인은 그것을 깨뜨릴 수 있습니까?
또는 이미 제출 한 경우 링크를 공유하십시오! 다른 사람들이 귀하의 의견을 추가 할 수 있습니다.
답변
iOS 10 Plush 장치에서 테스트하는 경우 FirebaseApp.configure () 아래의 AppDelegate.swift 파일에 아래 줄을 추가하십시오.
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
}
답변
https://pub.dev/packages/firebase_messaging의 모든 단계를 신중하게 완료해야합니다 . 나는 또한 그것에 갇혀 있었다. 그러나 나중에 나는 무언가를 놓치고 있다는 것을 깨달았습니다. 그런 다음 모든 단계를 다시 확인하십시오. APN (Apple Push Notification)에 등록하지 못 했으므로 다시 한 번 다시 확인하십시오.