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

php에서 푸쉬 보낼때 질문드립니다.

0 추천
안녕하세요.

푸쉬를 보내려고 하는데.. 잘 몰라서 질문합니다.

웹뷰를 이용한 앱이구요

 public static String SENDER_ID = "발급받은 아이디..";

// 디바이스 체크

GCMRegistrar.checkDevice(context);
         

// AndroidManifest.xml 체크

GCMRegistrar.checkManifest(context);

GCMRegistrar.unregister(context);

// Registration ID 발급 요청
GCMRegistrar.register(context, SENDER_ID);
 String regId = GCMRegistrar.getRegistrationId(this);

 를 해서

 

System.out.println("Registration ID1 : "+regId);

 regId 하면 값을 받아오구요 --> 이걸 php url 로 보내서 디비에 저장하구요

 

 $insert = "insert into mobile_member(member_id ,device_uid,reg_date ) values('".$myPhoneNumber."', '".$device_uid."', now() )";
  mysql_query($insert);

----------------------------------- push 발송 ------------------------

 

###### 안드로이드 S ######
 
   
   $headers = array("Content-Type:application/json", "Authorization:key=발급받은 키 넣었습니다.");
   // API Key
   $REGID = $deviceuid;
   $MSG = $push_message;
   
   $arr = array();
   $arr['data'] = array();
   $arr['data']['msg'] = $MSG;
   $arr['registration_ids'] = array();
   $arr['registration_ids'][0] = $REGID;
   
   // 푸쉬가 도착했을 때 앱에서 추가적으로 자료를 활용할 수 있음.
   $arr['data']['url'] = $push_link;
   //echo "<pre>"

   //print_r($arr);
   //exit;
   $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);

   $response_decode = json_decode($response, true);
   echo "<pre>";
   print_r($response_decode);
//   break;
   echo $response_decode['success'];
   if($response_decode['success']) {
    echo "성공";
   } else {
    echo "실패";
   }

   curl_close($ch);
   

   ###### 안드로이드 E ######

 

이렇게 php 부분을 짜놨는데요

페이지상에서는 success =>1 failure =>0 이라고 성공이라고는 나오는데요 실제로는 단말기로 푸쉬가 안옵니다.

 

어느 부분을 더 찾아봐야 하는건가요??ㅜㅠ

 

도움 부탁드립니다.
꾸우우 (1,140 포인트) 님이 2015년 6월 5일 질문

1개의 답변

0 추천
 
채택된 답변
단말에는 레지만 처리했지 메시지 받았을 때 어떻게 하라는 처리를 안했나요?

했는데 안올리신건지 위에는 그런 소스가 안보이네여
Gradler (109,780 포인트) 님이 2015년 6월 5일 답변
꾸우우님이 2015년 6월 11일 채택됨
아.. 댓글 감사합니다.
저는 안드로이드에서는 단말기 Registration ID 발급만 받고
-> DB에 저장하고 -> php 에서 푸쉬를 발송하면 끝이라고 생각했거든요..

Gradler 님 말씀은 php 푸쉬발송을 하고 나서도 뭔가를 더 해줘야 된다는 말씀이신가요??
푸쉬발송을 하면 단말에서 보여주는 작업을 해야지요
iOS는 시스템이 알아서 팝업을 띄워주지만 안드로이드는 직접 다 구현을 해야 합니다. 팝업을 띄울 것인지 상단 노티피케이션 바에 보여질 것인지 버튼을 눌렀을 때는 어떤 동작을 해야 할 것인지 등등 말입니다.
아... 댓글 감사합니다! 찾아서 열심히 하겠습니다.

감사합니다.
...