2016-07-27 3 views
0

こんにちは私はFirebaseのアップストリームメッセージを使用しているアプリケーションをビルドしています。しかし、私がアップストリームのmsgを送るためにクリックするとき、私はそのメッセージにオブジェクトを入れなければなりません。この部分ではモデルを上流のメッセージの文字列に変換するにはどうすればよいですか?

public void getObjectEvent(EventModel data){ 
    Map dataa = new HashMap(); 
    dataa.put("message","Upstream message."); 
    Gson datajson = new Gson(); 
    datajson.toJson(data); 
    FirebaseMessaging fm=FirebaseMessaging.getInstance(); 
    fm.send(new RemoteMessage.Builder(SENDER_ID + "@gcm.googleapis.com") 
      .addData("action","message") 
      .addData("data","{\"message\":\"Upstream Message\"}") 
      .addData("object", data) 
      .build()); 


} 

::これは私がそのモデルを持っている私の関数である

.addData("object", data) 

この「データ」の文字列である必要がありますので、それは私にエラーを与えるが、私のニーズのために、私は、オブジェクトを送信する必要があります(イベントモデル) 誰か助けてくれますか?

+0

'data.toString()' –

答えて

2

ホールドがtoJsonの値が返されました:

String json = datajson.toJson(data); 

そしてaddDataにJSON文字列を設定します。

.addData("object", json) 

Finalyあなたの方法は次のようになります。

public void getObjectEvent(EventModel data){ 
    Map dataa = new HashMap(); 
    dataa.put("message","Upstream message."); 
    Gson datajson = new Gson(); 
    String json = datajson.toJson(data); 
    FirebaseMessaging fm=FirebaseMessaging.getInstance(); 
    fm.send(new RemoteMessage.Builder(SENDER_ID + "@gcm.googleapis.com") 
      .addData("action","message") 
      .addData("data","{\"message\":\"Upstream Message\"}") 
      .addData("object", json) 
      .build()); 
} 
1

はこれを試してみてください。

String jsonData = datajson.toJson(data); 

    /// 
    .addData("object", jsonData) 

これでJSONObjectとしてモデルを送信できます。

関連する問題