Thông báo đẩy Flutter không hiển thị trên iOS


12

Tôi gặp sự cố với Flutter và IOS liên quan đến thông báo Push.

Thiết lập của tôi và những thứ hoạt động:

1) Tôi đã cài đặt firebase_messaging: ^5.1.6gói không có lỗi / làm theo tất cả các hướng dẫn của họ dành cho iOS

2) Tôi đã xin phép người dùng trên iOS và chấp nhận nhận thông báo đẩy

3) Tôi có thể nhận mã thông báo FCM trên thiết bị iOS và Android

4) Tôi đã tạo Khóa trong phần dành cho nhà phát triển của Apple và thêm khóa vào FCM

5) Tôi đã đóng ứng dụng / gửi nó xuống nền khi thử nghiệm - vẫn không gặp may

6) Tôi đã thêm tệp google-service-information vào Runner bằng Xcode

7) Tôi đã thêm thông báo đẩy và thông báo nền trong Khả năng XCode

8) Tôi đang thử nghiệm trên thiết bị vật lý iPhone 7 và iPad vật lý

Tôi đã sử dụng curl để gửi thông báo đến thiết bị 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}"

Tôi nhận được phản hồi thành công từ căn cứ hỏa lực

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

Đây là cách tôi lấy mã thông báo:

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

Khi tôi chạy ứng dụng trên iOS, tôi không gặp phải bất kỳ lỗi Firebase nào.

Tôi đã loay hoay với điều này trong 2 ngày nay, vì vậy sẽ hơi khó chịu, tất cả những điều trên dường như đều hoạt động trên Android.

Mọi góp ý, làm ơn.

Bác sĩ rung rinh:

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!

Tệp AppDelegate.m của tôi

#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

Tôi nghĩ rằng nó có liên quan đến FirebaseAppDelegateProxyEnables. Medium.com/flutterpub/ mài Liên kết này sẽ hữu ích.
Ares

Liên kết dường như tắt, kho lưu trữ vẫn còn hoạt động: web.archive.org/web/20191118225834/https://medium.com/ cảm nhưng không có hình ảnh :(
Stefano Saitta

Điều này cũng có vẻ tốt: vừa.com /@jun.chenying / từ
Stefano Saitta

1
Bạn có thể gửi chúng bằng bảng điều khiển nhắn tin firebase không?
Stefano Saitta

@ user3057745 Bạn có giải quyết được vấn đề này không?
Daniel Kuta

Câu trả lời:


2

Nó không đẹp, bạn có thể cần cung cấp thêm nhiều chi tiết, nhưng vui lòng gửi vấn đề này đến https://github.com/FirebaseExtends/flutterfire/issues . Mặt khác, tìm kiếm nhanh các sự cố thông báo đẩy iOS cho thấy nhiều báo cáo khác nhau. Dưới đây là một số cái tương tự, có thể một cái có liên quan đến bạn?

Hoặc nếu bạn đã nộp một, chia sẻ liên kết! Những người khác có thể thêm thông tin phản hồi cho bạn.


0

Nếu bạn đang thử nghiệm trên thiết bị sang trọng ios 10 thì hãy thử bằng cách thêm các dòng bên dưới vào tệp AppDelegate.swift của bạn bên dưới FirebaseApp.configure ()

 if #available(iOS 10.0, *) {
  UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
}

0

Bạn phải hoàn thành tất cả các bước từ https://pub.dev/packages/firebase_messaging một cách cẩn thận. Tôi cũng bị mắc kẹt trong đó. Nhưng sau này tôi nhận ra mình đang thiếu thứ gì đó. Sau đó tôi kiểm tra lại tất cả các bước. Tôi đã lỡ đăng ký với APN (Thông báo đẩy của Apple). Vì vậy, vui lòng kiểm tra lại một lần nữa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.