我没有收到来自Firebase的任何通知,但是当我使用Pusher应用进行测试时,我收到了通知。
这些是我完成的步骤。如果我做错了事,请帮助我。
1_添加如下所示的NotificationService。
class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)?
var bestAttemptContent: UNMutableNotificationContent?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
self.contentHandler = contentHandler
bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
if let bestAttemptContent = bestAttemptContent {
// Modify the notification content here...
bestAttemptContent.title = "hello"
bestAttemptContent.body = "this is test"
contentHandler(bestAttemptContent)
}
}
}
2 _将NotificationCenter委托设置为自己在应用程序委托中
Messaging.messaging().delegate=self
UNUserNotificationCenter.current().delegate = self
3_用于发送通知的设备令牌(我将其存储到服务器)
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
print("Firebase registration token: \(fcmToken)")
let dataDict:[String: String] = ["token": fcmToken]
NotificationCenter.default.post(name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict)
// TODO: If necessary send token to application server.
// Note: This callback is fired at each app startup and whenever a new token is generated.
}
我将此FCMToken发送到服务器端(java,春季启动)
4_我已在“功能”中启用了推送通知
5_我已经在Firebase控制台的项目设置的云消息传递中添加了.p12文件,但是我对此有很大疑问!我应该使用服务器的帐户登录到Firebase吗?或为自己做一个账户?因为我为自己创造了一个。
一些提示:
我们是一个像服务器端(JAVA)这样的团队。网络,Android和iOS
此推送通知在android上有效,但在ios上不可用。
我认为我做错事了。
感谢您阅读本主题并帮助我。
答案 0 :(得分:1)
这是交叉检查您的问题的步骤,
Appdelegate
中,配置您的Firebase
FirebaseApp.configure()
更新,根据您在评论中的问题,正在更新此问题。
要使用NotificationService扩展,您的通知必须在通知有效负载中包含mutable-content
属性。使用fcm api可以做到这一点。将它们放在邮递员中,
https://fcm.googleapis.com/fcm/send
在标题中,添加服务器密钥(您可以从Firebase控制台获取它)
在主体中的将此有效负载添加到火灾通知中。这将触发您的Notification Service Extension。
{
"notification": {
"title": "1",
"body": "",
"click_action": "",
"icon": "",
"mutable_content": true,
"content_available": true
},
"registration_ids":["add your fcm token"],
"data": {}
}
根据教程: https://code.tutsplus.com/tutorials/ios-10-notification-service-extensions--cms-27550