c2dm 등록이후 예제소스대로 휴대폰에서 사용등록한후, Receiver에서 registration_id를 받아 서버에 저장하였습니다.

저장된 registration_id로 서버에서 메시지를 보내면 Error=NotRegistered 가 떨어집니다.

메시지 보내기전에 인증토큰을 받아오는 것도 문제가 없는데 원인이 무엇인지 모르겠습니다.ㅜㅜ


/* 등록 부분 */
Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
registrationIntent.putExtra("app", PendingIntent.getBroadcast(context, 0, new Intent(), 0));
registrationIntent.putExtra("sender", "~~~@gmail.com"); //개발자 email
context.startService(registrationIntent);

/* 메시지 전송부분 */
try {
    StringBuffer postDataBuilder = new StringBuffer();
    postDataBuilder.append("registration_id=" + regId); // 등록ID
    postDataBuilder.append("&collapse_key=1");
    postDataBuilder.append("&delay_while_idle=1");
    postDataBuilder.append("&data.title=" + URLEncoder.encode(title, "UTF-8")); // 제목
    postDataBuilder.append("&data.msg=" + URLEncoder.encode(msg, "UTF-8")); // 내용
     
    byte[] postData = postDataBuilder.toString().getBytes("UTF8");
     
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
     
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
    conn.setRequestProperty("Content-Length",Integer.toString(postData.length));
    conn.setRequestProperty("Authorization", "GoogleLogin auth="+authToken);
    OutputStream out = conn.getOutputStream();
    out.write(postData);
    out.close();
    
    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    
    String inputLine;
    while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
    }
} catch (Exception e) {
    e.printStackTrace();
}