Reagir a notificação push nativa do FCM iOS não entregue


8

Antes de mais nada, o ambiente é React native, tento configurar a notificação por push no iOS, seguindo as instruções do pacote rnfirebase aqui.

  1. criar chave

insira a descrição da imagem aqui

  1. depois adicione ao firebase

insira a descrição da imagem aqui

  1. adicione Google-service.plist e adicione a configuração a seguir no firebase doc

insira a descrição da imagem aqui

e ativar a capacidade insira a descrição da imagem aqui

  1. então eu instalo o pacote de pods

insira a descrição da imagem aqui

  1. executar o aplicativo recebeu um token

insira a descrição da imagem aqui

  1. usar envio de token no console de sistema de mensagens na nuvem

notificação não entregue Eu não sabia o que estava errado, porque a mensagem também é enviada pelo FCM e o que acontece no APNS, onde eu recebo um erro apenas confuso

agradeço antecipadamente

e tente conectar diretamente com o empurrador insira a descrição da imagem aqui

e também não recebido novamente

tente usar o Onesignal com o mesmo certificado com o Firebase e funcione mesmo na mensagem de teste


Apenas para esclarecimento, você está testando isso em um dispositivo iOS real? Você não pode testar as notificações com o simulador do iOS.
Dan

@Dan yup Eu faço testes no iPhone
krissanawat 14/01

Mais algumas perguntas foram aplicadas em primeiro ou segundo plano? Em primeiro plano, você verificou os ouvintes do evento no aplicativo? Se você tentou enviar o plano de fundo do console do Firebase ou algo mais?
Ashwin Mothilal 14/01

@krissanawat, você pode nos fornecer seu arquivo AppDelegate.m completo e o código nativo de reação em que você define seu firebasefluxo de trabalho?
Neeeko 15/01

Respostas:


1

O token que você está usando no Pusher não parece certo. Meus tokens para notificações remotas são assim.

insira a descrição da imagem aqui

Eu estava apenas testando impulsos silenciosos, mas o token seria semelhante para alertas regulares. Aqui está o código que eu uso para pegar o token. Meu palpite é que você está enviando um token ruim para o 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        
}

Eu pego o token que gera pelo pacote rnfirebase, portanto, se o pacote estiver errado, onde posso obter o token
krissanawat 17/01

Esses dois métodos estão no AppDelegate. Se você adicionar esses itens e ligar para se registrar para receber notificações push, o sistema operacional chamará didRegisterForRemoteNotificationsWithDeviceToken que imprime o token. Eu focaria primeiro em fazer o empurrador trabalhar e depois depurar o FCM. Se o empurrador não estiver funcionando, o FCM também não funcionará.
TALE
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.