Reagieren Sie auf native FCM iOS-Push-Benachrichtigung, die nicht übermittelt wurde


8

Zuallererst ist die Umgebung React native. Ich versuche, eine Push-Benachrichtigung in iOS einzurichten , indem ich den Anweisungen des rnfirebase- Pakets folge , welchen Schritt ich mache und was ich auf einem echten iPhone-Gerät teste

  1. Schlüssel erstellen

Geben Sie hier die Bildbeschreibung ein

  1. dann zur Feuerbasis hinzufügen

Geben Sie hier die Bildbeschreibung ein

  1. Fügen Sie Google-service.plist hinzu und fügen Sie das folgende Setup aus dem Firebase-Dokument hinzu

Geben Sie hier die Bildbeschreibung ein

und Fähigkeit aktivieren Geben Sie hier die Bildbeschreibung ein

  1. dann installiere ich pod pod

Geben Sie hier die Bildbeschreibung ein

  1. App ausführen bekam Token

Geben Sie hier die Bildbeschreibung ein

  1. Verwenden Sie Token Send auf der Cloud-Messaging-Konsole

Benachrichtigung nicht zugestellt Ich wusste nicht, was falsch ist, da die Nachricht auch von FCM gesendet wird und was auf APNS passiert, wo ich einen Fehler bekomme, der nur verwirrt ist

danke für den voraus

und versuchen Sie es auch, indem Sie sich direkt mit dem Drücker verbinden Geben Sie hier die Bildbeschreibung ein

und auch nicht wieder erhalten

Versuchen Sie dann, Onesignal mit demselben Zertifikat zu verwenden. Firebase funktioniert auch mit der Testnachricht


Testen Sie dies zur Verdeutlichung auf einem echten iOS-Gerät? Sie können Benachrichtigungen nicht mit dem iOS-Simulator testen.
Dan

@ Dan yup Ich teste auf dem iPhone
krissanawat

Einige weitere Fragen waren Ihre Bewerbung im Vordergrund oder Hintergrund? Wenn im Vordergrund, haben Sie die Ereignis-Listener in der App überprüft? Wenn Hintergrund, haben Sie versucht, es von der Firebase-Konsole oder etwas anderem zu senden?
Ashwin Mothilal

@krissanawat Können Sie uns Ihre vollständige AppDelegate.m-Datei und den reaktionsnativen Code zur Verfügung stellen, in dem Sie Ihren firebaseWorkflow definieren ?
Neeeko

Antworten:


1

Das Token, das Sie in Pusher verwenden, sieht nicht richtig aus. Meine Token für Remote-Benachrichtigungen sehen so aus.

Geben Sie hier die Bildbeschreibung ein

Ich habe nur stille Pushs getestet, aber das Token würde für regelmäßige Warnungen ähnlich aussehen. Hier ist der Code, mit dem ich das Token greife. Ich vermute, dass Sie einen schlechten Token an FCM weiterleiten.

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        
}

Ich greife nach einem Token, das vom rnfirebase-Paket generiert wird. Wenn also das Paket falsch ist, woher bekomme ich das Token
krissanawat

Diese beiden Methoden befinden sich in AppDelegate. Wenn Sie diese dort hinzufügen und dann aufrufen, um sich für Push-Benachrichtigungen zu registrieren, ruft das Betriebssystem didRegisterForRemoteNotificationsWithDeviceToken auf, das das Token druckt. Ich würde mich zuerst darauf konzentrieren, den Drücker zum Laufen zu bringen, und dann FCM debuggen. Wenn der Drücker dann nicht funktioniert, funktioniert FCM auch nicht.
TALE
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.