2019.5월 구글에서 GCM removed 되어 FCM 으로 코딩 변경해야 사용 가능하다.
-----------------------------------------------------------------------------------------------------
구글 GCM(Google Cloud Message) 를 이용한 PUSH 메시지 전송을 하려면 https://console.developers.google.com 에서 API 를 등록하고 사용자를 등록해야 한다.
PUSH 메시지 개념은 서버에서 보내는 메시지를 스마트폰에서 받는 것으로 구글에서 제공하는 GCM(Google Cloud Message) 서비스를 이용한다.
현재는 FCM 으로 등록하라고 URL 을 제공하기 때문에 GCM 등록은 쉽지 않다.
FCM 으로 메시지 전송하는 걸 제대로 하려면 PHP 기반 게시판까지 연동해야 될 거 같아서 테스트하고 정리까지 하기에는 시간이 좀 걸릴거 같다.
사용자정보 등록방법
동일한 키를 가지고 서버 IP만 여러개 등록하면 어플 여러개에서 GCM 을 사용할 수 있다.
구글에서 등록할 기능은 위와같이 하면 끝난다.
GCM Sender.php 파일 일부 내용
function AndroidPush($registrationIDs){
global $message;
$apiKey ="AIzaSyCoq9ccKiIrovwqm4mY0Ss"; // 생성코드(일부 내용 수정했음)
$url = 'https://android.googleapis.com/gcm/send';
$headers = array( 'Authorization: key=' . $apiKey, 'Content-Type: application/json' );
$data = array('registration_ids' => $registrationIDs, 'data' => array( "msg" => $message ) );
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
// Execute post
$reponse = curl_exec($ch);
// Close connection
curl_close($ch);
$_rs=json_decode($reponse,true);
return $_rs['success'];
}
Android 코드에서 사용할 서비스 계정 ID
'안드로이드 > Google API, Firebase' 카테고리의 다른 글
Google Calendar API 사용 설정 (0) | 2018.10.18 |
---|---|
안드로이드 스튜디오 FCM 푸시알림 구현 - 4 (PHP 서버 PUSH 메시지 발송 코드) (0) | 2017.09.02 |
안드로이드 스튜디오 FCM 푸시알림 구현 - 3 (안드로이드 토큰 PHP 서버 등록) (0) | 2017.09.02 |
안드로이드 스튜디오 FCM 푸시알림 구현 - 2 (안드로이드 코드 구현) (0) | 2017.09.02 |
안드로이드 스튜디오 FCM 푸시알림 구현 - 1 (설정 준비) (2) | 2017.09.01 |