0

私はGCM(Google Cloud Messaging)を使用しています。その中で、サーバー側からJ Sonを送信したいのですが、クライアント側では、私が行った簡単なメッセージのためにそれを受け取りたいのですが、どうすればJ Sonを渡すことができますか?サーバー側からクライアント側へ。

これを解決するのを手伝ってください。

これは私のサーバー側のコードです

 public class GCMBroadcast extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static final String SENDER_ID = "";
    private static final String ANDROID_DEVICE = "";
    private List<String> androidTargets = new ArrayList<String>();
    public GCMBroadcast() {

        super();
        androidTargets.add(ANDROID_DEVICE);

    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String collapseKey = "";
        String userMessage = "";

        try {
            userMessage = request.getParameter("Message");
            collapseKey = request.getParameter("CollapseKey");
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }
        Sender sender = new Sender(SENDER_ID);
        Message message = new Message.Builder()


        .collapseKey(collapseKey)
        .addData("message", userMessage)
        .build();

        try {

            MulticastResult result = sender.send(message, androidTargets, 1);
            System.out.println("Response: " + result.getResults().toString());
            if (result.getResults() != null) {

                int canonicalRegId = result.getCanonicalIds();
                if (canonicalRegId != 0) {
                    System.out.println("response " +canonicalRegId );
                }
            } else {
                int error = result.getFailure();
                System.out.println("Broadcast failure: " + error);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }


        request.setAttribute("CollapseKey", collapseKey);
        request.setAttribute("Message", userMessage);

        request.getRequestDispatcher("XX.jsp").forward(request, response);

    }

}
4

1 に答える 1

0

ペイロード ( へのMessage呼び出しによって に追加されるaddData) は、名前と値のペアのみにすることができます。を送信する場合は、そのような名前と値のペアの値に文字列をJSON入れることができます。次に、クライアント側でJSONそれを自分で解析する必要があります。JSON

例えば ​​:

.addData("message","{\"some_json_key\":\"some_json_value\"}")

于 2013-09-04T13:06:16.060 に答える