0

先生,我想通过在下面键入此链接来尝试我的应用程序来测试推送通知,但是尝试了,没有效果。请您告诉我测试我的应用程序的超链接的正确格式是什么?

下面是我的链接

https://android.googleapis.com/gcm/send?registration_ids=
APA91bHhJQJGK1OJxYHcZeH81JoAprU97CAvMHQ58cHj3MYHD204MTn1W9Kl_i51UV8ej5qwLfkwvK-vihfuWjXG6iBvkUZJuclqoNbAjx_K2mN_P2ai4rI82P0dax_tm7NHc-k_1FsBn6hvwxjxxPdgMdtYpSIdwA
&data.message="hello testing"

collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.message="+值+"

4

1 回答 1

1

您实际上可以从 Android 设备本身对其进行测试:

public class PushTester {

    final static private String deviceId = "YOUR_DEVICE_ID";
    final static private String apiId = "YOUR_API_ID";
    final static private String sendUrl = "https://android.googleapis.com/gcm/send";

    static void testPush() {
        URL url;
        HttpsURLConnection urlConnection;
        OutputStream os = null;
        InputStream is = null;;
        try {
            url = new URL(sendUrl);
            urlConnection = (HttpsURLConnection) url.openConnection();
            urlConnection.setUseCaches(false);
            urlConnection.setConnectTimeout(3000);
            urlConnection.setReadTimeout(3000);
            urlConnection.setRequestMethod("POST");
            urlConnection.setRequestProperty("User-Agent", "Android Push tester");
            urlConnection.setRequestProperty("Content-Type", "application/json");
            urlConnection.setRequestProperty("Authorization", "key="+apiId);
            JSONObject message = new JSONObject();
            JSONArray regIds = new JSONArray();
            JSONObject data = new JSONObject();
            regIds.put(deviceId);
            message.put("registration_ids", regIds);
            //message.put("collapse_key", value)
            data.put("something", "value");
            message.put("data", data);
            urlConnection.setDoOutput(true);
            os = urlConnection.getOutputStream();
            os.write(message.toString().getBytes());
            os.flush();
            int status = urlConnection.getResponseCode();
            is = urlConnection.getInputStream();
            byte[] response = new byte[4096];
            is.read(response);
            String responseText = String.valueOf(response); 
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally {
            try {
                if (os != null) {
                    os.close();
                }
                if (is != null) {
                    is.close();
                }
            }
            catch (Exception ex) {
                ex.printStackTrace();
            }
            os = null;
            is = null;
        }
    }

}
于 2013-07-23T09:16:17.083 回答