未发送FCM消息

时间:2020-06-12 13:09:54

标签: ios swift firebase firebase-cloud-messaging

您好,我有一个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;
}

0 个答案:

没有答案