2016-08-03 27 views
-1

私はFirebase Cloud Messaging ServerにHTTP投稿リクエストを送信しようとしていました。これは私が作業しているコードであり、私は以下の応答を得ています。 Firebaseのドキュメントによると、メッセージは送信されているはずですが、私がデバイスに送信したときに表示されているのではなく、バックグラウンドでもdidReceiveRemoteNotificationでも送信されるはずです。なぜメッセージが表示されないのですか?以下はSwiftのHTTP投稿

Body:Optional({"multicast_id":9176652856657890066,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1470318910131254%0753194407531944"}]}) 

Error: nil 
Success: Optional(1) 

コード:

let url = NSURL(string: "https://fcm.googleapis.com/fcm/send")! 
     let session = NSURLSession.sharedSession() 

     let request = NSMutableURLRequest(URL: url) 
     request.HTTPMethod = "POST" 
     request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringCacheData 
     let dictionary = ["notification":["title":"BBM","text": message,"project_id": "marketplace-management","registration_id":token!]] as AnyObject 
     do { 
      try request.HTTPBody = NSJSONSerialization.dataWithJSONObject(dictionary, options: .PrettyPrinted) 
     } catch {} 
     request.addValue("application/json", forHTTPHeaderField: "Content-Type") 
     request.addValue("key=myKey", forHTTPHeaderField: "Authorization") 

     let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in 
      print("Response: \(response)") 
      let strData = NSString(data: data!, encoding: NSUTF8StringEncoding) 
      print("Body: \(strData)") 
      print("Error: \(error)") 
      var json = NSDictionary() 
      do { json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) as! NSDictionary } catch {} 
      let parseJSON = json 
      let success = parseJSON["success"] as? Int 
      print("Success: \(success)") 
     }) 
     task.resume() 
+1

「それが動作していないようです」 - あなたが受け取った正確なエラーメッセージが含まれるようにあなたの質問を編集してください。また、「レスポンス」とは何か(状況コードは、特に何が起こっているのかを診断するのに役立ちます)を示してください。 – Rob

答えて

2
let dictionary = ["notification":["title":"","text": message,"project_id": "myProjectID","to":token]] 
    print(dictionary)//["notification": ["title": "", "project_id": "myProjectID", "to": "12", "text": "message"]] 
    do { 
     try request.HTTPBody = NSJSONSerialization.dataWithJSONObject(dictionary, options: .PrettyPrinted) 
    } catch {}