마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

제가 짠 GCM 서버코드가 뭔가 잘못되엇나요?

0 추천

구글로 Push하는 서버페이지입니다.

무언가 잘못되었나요?

구글에서 예제소스를 가져와 살짝 바꾼거밖에 없는데ㅠㅠ

현재 db에 저장된 데이터는 1개입니다.

디바이스 1개가 등록되어 있고 거기에 푸쉬를 보내려 하는데 되지를 않네요..

 

{"multicast_id":6299125045869628957,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}

이와같은 에러가 납니다. 도와주세요..ㅠㅠ 벌써 하루째 이럽니다.ㅠㅠ

$arr = array();
$arr['data'] = array();
$arr['data']['msg'] = $messageData;
$arr['registration_ids'] = array();
 
while($row = mysql_fetch_array($result))
  {
$arr['registration_ids'][$conidx] =  $row['reg_id'];
    $conidx++;
  }
  
mysql_close($connect);
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,    'https://android.googleapis.com/gcm/send');
curl_setopt($ch, CURLOPT_HTTPHEADER,  $headers);
curl_setopt($ch, CURLOPT_POST,    true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($arr));
$response = curl_exec($ch);
echo $response;
curl_close($ch);
갸아악 (21,260 포인트) 님이 2013년 7월 10일 질문

1개의 답변

0 추천
 
채택된 답변
자답임다.

mysql DB의 reg_id값을 저장하는 필드의 길이를 50으로 제한해서였습니다.

오는건 150자가 넘더군요..ㅠㅠ;
갸아악 (21,260 포인트) 님이 2013년 7월 10일 답변
갸아악님이 2013년 7월 17일 채택됨
registration id 값은 길이가 어느 정도인지 정확한 정보가 없습니다.
DB에 길이제한 주시지 마세요.
조언 감사드립니다~~~~~~~~~
...