J'ai intégré Firebase Messaging SDK dans mon projet iOS, créé un certificat de notification Push pour le développement et un pour la production, téléchargé les deux clés p12 sur Firebase. Je ne reçois pas les notifications, mais uniquement pour le développement.
Le code d'enregistrement est bon, et c'est le même que j'ai utilisé pour APNS habituel, qui a bien fonctionné.
Le même comportement se produit pour 3 applications.
Quelqu'un at-il rencontré ce problème? Avez-vous des solutions ou des suggestions?
J'ai eu le même problème. Apparemment, il y a une erreur dans la documentation de Firebase. Lorsque vous exportez le certificat APN à des fins de production de votre trousseau vers le fichier .p12, vous devez sélectionner le certificat actuel, non la clé privée .
Assurez-vous de télécharger sur la console Firebase ce fichier .p12 dans les paramètres du certificat APN de Cloud Messaging.
Swift 4.0
Assurez-vous également que vous utilisez:
Messaging.messaging().setAPNSToken(deviceToken as Data, type: .prod)
à l'intérieur:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
#if DEVELOPMENT
//Develop
Messaging.messaging().setAPNSToken(deviceToken as Data, type: .sandbox)
#else
//Production
Messaging.messaging().setAPNSToken(deviceToken as Data, type: .prod)
#endif
}
Tout d’abord, vérifiez le certificat que vous exportez. L’erreur typique est d’exporter une clé privée et non un service. J'ai joint une capture d'écran. J'espère que cela vous fera gagner du temps.
Pour moi, ces étapes ont résolu le même problème en production:
Sur le portail des développeurs Apple, accédez à Clés -> Ajouter une clé
Téléchargez votre clé, copiez le paramètre ID clé
Je l'ai obtenu par ces étapes:
Il semble que l'étape 4 fasse la différence.