2
respostas

Device recebe a mensagem no console, mas o push não vem

Estava tudo funcionando até aqui no tutorial. Tive que pausar a parte de Firebase para mexer com uns refreshs de tabelas e voltei agora ao FCM. O token e a mensagem (enviada pelo console do firebase) vêm no console, mas a notificação/push não aparece, nem background, nem foreground. Ja gerei um novo certificado APN e atualizei em todos lugares. Na aba Capabilities, Push Notification e Remote Notification estão ligadas. O celular não está no silencioso e tem permissao para notificacoes no meu app.

Como faço para aparecer a notificação? Alguma ajuda, por favor?

Meu App Delegate:

import UIKit
import CoreData
import UserNotifications
import Firebase
import FirebaseMessaging

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, MessagingDelegate {

    var window: UIWindow?
    let defaults = Defaults()

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        let appDelegate = UIApplication.shared.delegate as! AppDelegate
        appDelegate.window?.rootViewController = rootVC

        let autorizacao: UNAuthorizationOptions = [.badge, .alert, .sound]
        UNUserNotificationCenter.current().requestAuthorization(options: autorizacao) { ( _, _ )in
            Messaging.messaging().delegate = self
            Messaging.messaging().shouldEstablishDirectChannel = true
        }

        application.registerForRemoteNotifications()
        FirebaseApp.configure()

        return true
    }

    func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
        print("token: \(fcmToken)")
        if defaults.getTokenFCM() == "" {
            defaults.setTokenFCM(fcmToken)
        }
    }
    func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) {
        print(remoteMessage.appData)
    }
2 respostas

Oi Rodrigo, tudo bem?

Conseguiu resolver esse problema com o push?

Abs.

Não. Acabei usando One Signal ao inves do Firebase. Você podia mencionar ele em seus cursos. É uma ótima ferramenta.