Phản ứng thông báo đẩy FCM iOS không được gửi


8

Trước hết môi trường là React bản địa, tôi cố gắng thiết lập thông báo đẩy trong iOS theo hướng dẫn từ gói rnfirebase ở đây tôi thực hiện bước nào và tôi thử nghiệm trên Thiết bị iPhone thật

  1. tạo chìa khóa

nhập mô tả hình ảnh ở đây

  1. sau đó thêm vào căn cứ

nhập mô tả hình ảnh ở đây

  1. thêm Google-service.plist và thêm thiết lập sau từ tài liệu firebase

nhập mô tả hình ảnh ở đây

và acivate capabillity nhập mô tả hình ảnh ở đây

  1. sau đó tôi cài đặt gói pod

nhập mô tả hình ảnh ở đây

  1. chạy ứng dụng có mã thông báo

nhập mô tả hình ảnh ở đây

  1. sử dụng mã thông báo gửi trên bảng điều khiển nhắn tin trên đám mây

thông báo không được gửi Tôi không biết điều gì sai vì tin nhắn cũng gửi từ FCM và điều gì xảy ra trên APNS khi tôi gặp lỗi chỉ là nhầm lẫn

cảm ơn vì sự tiến bộ

và cũng thử bằng cách kết nối trực tiếp với máy đẩy nhập mô tả hình ảnh ở đây

và cũng không được nhận lại

sau đó thử sử dụng Onesignal với cùng chứng chỉ với Firebase vẫn hoạt động ngay cả trên thông báo thử nghiệm


Để làm rõ, bạn có đang thử nghiệm điều này trên một thiết bị iOS thực sự không? Bạn không thể kiểm tra thông báo bằng trình giả lập iOS.
Dan

@Dan yup Tôi làm thử nghiệm trên iPhone
krissanawat

Một vài câu hỏi nữa là ứng dụng của bạn trên nền trước hay nền sau? Nếu tiền cảnh bạn đã kiểm tra trình nghe sự kiện trên Ứng dụng? Nếu nền bạn đã thử gửi nó từ bảng điều khiển Firebase hoặc cái gì khác?
Ashwin Mothilal

@krissanawat bạn có thể cung cấp cho chúng tôi tệp AppDelegate.m đầy đủ của bạn và mã nguồn gốc phản ứng nơi bạn xác định firebasequy trình làm việc của mình không?
Neeeko

Câu trả lời:


1

Mã thông báo bạn đang sử dụng trong Pizer trông không đúng. Mã thông báo của tôi cho các thông báo từ xa trông như thế này.

nhập mô tả hình ảnh ở đây

Tôi chỉ thử nghiệm các lần đẩy im lặng, nhưng mã thông báo sẽ trông tương tự đối với các cảnh báo thông thường. Đây là mã tôi sử dụng để lấy mã thông báo. Tôi đoán là bạn đang đẩy một mã thông báo xấu lên đến FCM.

fileprivate func convertHexDataToString(_ data: Data) -> String {
    var string: String = ""
    for i in 0..<data.count {
        string += String(format: "%02.2hhx", data[i] as CVarArg)
    }
    return string
}

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    let tokenString = convertHexDataToString(deviceToken)
    #if DEBUG
    print("APN sandbox token: '\(tokenString)'")
    Messaging.messaging().setAPNSToken(deviceToken, type: .sandbox)
    #else
    print("APN prod token: '\(tokenString)'")
    Messaging.messaging().setAPNSToken(deviceToken, type: .prod)
    #endif        
}

Tôi lấy mã thông báo được tạo bởi gói rnfirebase vì vậy nếu gói sai, tôi lấy mã thông báo ở đâu
krissanawat

Hai phương thức này có trong AppDelegate. Nếu bạn thêm những người ở đó và sau đó gọi để đăng ký thông báo đẩy, hệ điều hành sẽ gọi didRegisterForRemoteNotutionsWithDeviceToken sẽ in mã thông báo. Tôi sẽ tập trung đầu tiên vào việc làm cho trình đẩy hoạt động, sau đó gỡ lỗi FCM. Nếu máy đẩy không hoạt động thì FCM cũng không hoạt động.
CÂU
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.