Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

혼자서 앱 만드는 개발자 함께하는 AI 세상

[펫버틀러] 반려 동물 고민 상담 앱 - 개발 17 일차 (메세지 발송을 위한 구글메세지등록) 본문

펫버틀러

[펫버틀러] 반려 동물 고민 상담 앱 - 개발 17 일차 (메세지 발송을 위한 구글메세지등록)

혼앱사 2023. 2. 4. 16:13
반응형

채팅을 작성하거나 사용자에게 알람을 보낼때 firebase를 통해 메세지를 전송한다.

최근에 메세징 서비스는 설정만으로 보낼수있게 되어있다.

아래처럼 프로젝트 설정에 들어가서 api관리에 들어가면 아래 화면을 볼수있다.

저는 설정을 해서 관리라고 문구가 뜨는데 처음 들어가면 신규로 뜬다. 그럼 그걸 클릭한다.

아래 서버키를 자신의 서버에 코딩에서 등록하면 메세지를 보낼수 있다.

저의 경우 php서버에서 보내기 때문에 아래 코드를 적용했다.

<?php
 
    error_reporting( E_ALL ); // 에러체크를위한 설정
    ini_set( "display_errors", 1 ); // 에러체크를위한 설정

    header('Content-Type: application/json; charset=UTF-8');
    header("HTTP/1.1 200 OK");
    header("Access-Control-Allow-Methods: OPTIONS,GET,POST,PUT,DELETE");

 
 
$__rawBody = file_get_contents("php://input");  
//echo  $__rawBody;
$__getData =  json_decode($__rawBody);  


  $messageToken  =    $__getData->messageToken; 
  $from  =    $__getData->from;
  $content  =    $__getData->content;   
  $toNickName  =    $__getData->toNickName;   
  $toID  =    $__getData->toID;   
	 			$fields = array (
			 	 'data' => array(    'idTo'=>  $toID ,    'contents'=> $content ),
						'registration_ids' => array (
								$messageToken   
						),
						'notification' =>  array( 'title'=>'팻퍼틀러', 'body'=>   "팻퍼틀러  ".$toNickName."님 메세지가 들어왔습니다. ".$content ,'content' =>   $content  ,'content' =>   $from )
				);
				$fields = json_encode ( $fields );

			 
					$headers = array (
						'Authorization: key=' . "AAAAkr7ea-g:APA91basdfjk123e123123K7bZDfjs1S/***********위에서 받아온 서비키 적용*******************/ROxP-hvJZch64QjNuQYePoI",
						'Content-Type: application/json'
				);



				$ch = curl_init ();

				curl_setopt ( $ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
				curl_setopt ( $ch, CURLOPT_POST, true );
				curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
				curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
				curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields );

				$result2 = curl_exec ( $ch );

				echo $result2 ;
				curl_close ( $ch );
				 flush();
728x90
반응형
Comments