您好,我有一个IOS应用,该应用利用Firebase来利用FCM消息传递。我启用了使用Firebase控制台发送通知的逻辑,该控制台工作正常,并且在该应用中注册的设备会收到通知。这表示带有Firebase的APN和ios设置正确。快进我在应用程序中所做的是登录并注册,保存用户的用户名和设备ID,当他们点击其朋友列表时,我会发送消息通知。我收到成功,但未收到任何通知。以下是启用通知特定设备的代码
var userSendToToken = document.data()["userToken"] ?? ""
var userFromToken = String()
var serverKey = "SERVER_Key"
var notificationUrl = "https://fcm.googleapis.com/fcm/send"
//get current user token
InstanceID.instanceID().instanceID { (result, error) in
if let error = error {
print("Error fetching remote instance ID: \(error)")
} else if let result = result {
print("Remote instance ID token: \(result.token)")
userFromToken = result.token
}
}
//create send message request
let body = "This is a test message."
let title = "Testing FCM"
var headers:HTTPHeaders = HTTPHeaders()
headers = ["Content-Type":"application/json","Authorization":"key=\(serverKey)"]
print("Send to toekn id is\(userSendToToken)")
let notification = ["to":"\(userSendToToken)","data":["body":body,"title":title,"badge":1,"sound":"default"]] as [String:Any]
Alamofire.request(notificationUrl as URLConvertible,method: .post as HTTPMethod,parameters:notification,encoding:JSONEncoding.default,headers:headers).responseJSON{(response) in
print("message sent response is \(response)")
}
响应成功:
{
"canonical_ids" = 0;
failure = 0;
"multicast_id" = 1326548497335303293;
results = (
{
"message_id" = "0:1591949712208527%68763530f9fd7ecd";
}
);
success = 1;
}