Firebase lors de la réception de la notification Push n'a pas reçu le popup
import Firebase
import FirebaseInstanceID
import FirebaseMessaging
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
registerForPushNotifications(application)
FIRApp.configure()
//Add observer for InstanceID token refresh callback.
NSNotificationCenter
.defaultCenter()
.addObserver(self, selector: #selector(AppDelegate.tokenRefreshNotificaiton),
name: kFIRInstanceIDTokenRefreshNotification, object: nil)
//Override point for customization after application launch.
return true
}
func registerForPushNotifications(application: UIApplication) {
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
}
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject],
fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
print("===== didReceiveRemoteNotification ===== %@", userInfo)
}
func tokenRefreshNotificaiton(notification: NSNotification) {
let refreshedToken = FIRInstanceID.instanceID().token()!
print("InstanceID token: \(refreshedToken)")
//Connect to FCM since connection may have failed when attempted before having a token.
connectToFcm()
}
func connectToFcm() {
FIRMessaging.messaging().connectWithCompletion { (error) in
if (error != nil) {
print("Unable to connect with FCM. \(error)")
} else {
print("Connected to FCM.")
}
}
}
Également à faire en Info.plist FirebaseAppDelegateProxyEnabled = PAS de
Je ne sais pas pour l'instant mais j'ai eu l'impression(...) dans didReceiveRemoteNotification, mais ne pas obtenir la popup. J'ai envoyer le message à partir de Firebase -> Console -> Notification -> Seul appareil et le copie ici, le jeton qui j'ai eu de Console de xCode -> func tokenRefreshNotificaiton
Obtenir le suivant dans la console, mais n'obtenez pas de popup
<FIRAnalytics/INFO> Firebase Analytics enabled
InstanceID token: TOKEN_ID
Connected to FCM.
===== didReceiveRemoteNotification ===== %@ [notification: {
body = test;
e = 1;
}, collapse_key: com.pf.app, from: 178653764278]
Aussi app configurations
source d'informationauteur Svitlana
Vous devez vous connecter pour publier un commentaire.
mis le code suivant dans AppDelegate.m
Je devine que votre application est au premier plan lors de l'essai. Lorsque votre application est au premier plan n'est visible notification est déclenchée, au lieu de vous recevoir le rappel à
didReceiveRemoteNotification
. Voir la la documentation pour plus d'info.Pour vérifier, mettre votre application en arrière-plan et d'essayer de l'envoi de la notification push de nouveau.
J'ai la même configuration que vous avez et il fonctionne comme AdamK dit. (Alors que dans le mode arrière-plan, une notification s'affiche.) Vérifiez également vos certificats.
D'abord vérifier avec Firebase Notification de la Console pour voir si la notification d'envoi ou non. Si c'est un succès, alors le problème est dans le code côté; sinon, vérifiez que l'erreur est à venir dans Firebase. Si vous recevez un message d'erreur comme Apn manquant, vous avez besoin de vérifier avec le développement/production .p12 fichier de Configuration de Projet->Messagerie en Nuage onglet.
Il suffit d'utiliser cette fonction dans votre délégué d'application sandbox pour le développement de prod pour prodction