การแจ้งเตือน Flutter Push ไม่แสดงบน IOS


12

ฉันมีปัญหากับ Flutter และ IOS เกี่ยวกับการแจ้งเตือนแบบพุช

การตั้งค่าของฉันและสิ่งที่ใช้งานได้:

1) ฉันติดตั้งfirebase_messaging: ^5.1.6แพคเกจโดยไม่มีข้อผิดพลาด / ปฏิบัติตามคำแนะนำทั้งหมดสำหรับ IOS

2) ฉันได้ขออนุญาตจากผู้ใช้ใน IOS และได้รับการแจ้งเตือนแบบพุช

3) ฉันสามารถรับโทเค็น FCM บนอุปกรณ์ IOS และ Android

4) ฉันได้สร้างคีย์ในส่วนนักพัฒนาของ Apple และเพิ่มรหัสไปยัง FCM

5) ฉันได้ปิดแอพ / ส่งไปที่พื้นหลังเมื่อทำการทดสอบ - ยังไม่มีโชค

6) ฉันได้เพิ่มไฟล์ google-service-info ไปยัง Runner โดยใช้ Xcode

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

ฉันคิดว่ามันเกี่ยวข้องกับ FirebaseAppDelegateProxyEnabled medium.com/flutterpub/…ลิงค์นี้จะเป็นประโยชน์
Ares

ดูเหมือนว่าลิงก์ลิงก์ที่เก็บถาวรยังคงทำงานอยู่: web.archive.org/web/20191118225834/https://medium.com/…แต่ไม่มีภาพ :(
Stefano Saitta

อันนี้ก็ดูดีเช่นกัน: medium.com/@jun.chenying/ …
Stefano Saitta

1
คุณสามารถส่งพวกเขาโดยใช้คอนโซลการส่งข้อความ firebase หรือไม่?
Stefano Saitta

@ user3057745 คุณแก้ไขปัญหานี้หรือไม่
Daniel Kuta

คำตอบ:


2

มันไม่ได้สวยคุณอาจจำเป็นต้องให้รายละเอียดมากขึ้น แต่โปรดยื่นเรื่องนี้ไปhttps://github.com/FirebaseExtended/flutterfire/issues มิฉะนั้นการค้นหาอย่างรวดเร็วของปัญหาการแจ้งเตือนแบบพุชของiOSจะแสดงรายงานที่หลากหลาย ต่อไปนี้เป็นสิ่งที่คล้ายกันบางทีอาจมีความเกี่ยวข้องกับคุณ

หรือถ้าคุณยื่นไปแล้วแบ่งปันลิงค์! คนอื่นอาจเพิ่มความคิดเห็นให้กับคุณ


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) ดังนั้นโปรดตรวจสอบอีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.