푸시 알림을 보내도록 서버를 설정하려고합니다.Android : 지정된 애플리케이션 패키지쪽으로 알림을 푸시
예를 들어 특정 패키지 사용자에게 푸시 알림을 보내려고합니다. com.mysite.android
과 같은 것입니다 (이 옵션은 Firebase 콘솔에서 사용 가능합니다). this 같은 응답 확인 지정한 패키지 사용자에게 푸시 알림을 보내도록 to
매개 변수를 설정하는 방법을 이해할 수 없습니다. specific devices by their ids
또는 news topics
으로 알림을 전송하는 샘플을 찾을 수 있습니다.
설명 : 나는 푸시 알림을 보내려는 응용 프로그램의 소유자입니다. 그것은 여기에 도움이 내 코드의 경우
는 :
<?php
/*
Parameter Example
$data = array('post_id'=>'12345','post_title'=>'A Blog post');
$target = 'single tocken id or topic name';
or
$target = array('token1','token2','...'); // up to 1000 in one request
*/
echo "Start<br/>";
$result = sendMessage('{"id":"hello"}',null);
var_dump($result);
function sendMessage($data,$target){
//FCM api URL
$url = 'https://fcm.googleapis.com/fcm/send';
//api_key available in Firebase Console -> Project Settings -> CLOUD MESSAGING -> Server key
$server_key = 'xxxxxxxxxxxxxxxxxxxkeyxxxxxxxxxxxxxxxxxxxxxxxx';
$fields = array();
$fields['data'] = $data;
$fields['restricted_package_name']='com.mysite.android ';
$fields['dry_run']=true;
if (isset($target)){
if(is_array($target)){
$fields['registration_ids'] = $target;
}else{
$fields['to'] = $target;
}
}
//header with content_type api key
$headers = array(
'Content-Type:application/json',
'Authorization:key='.$server_key
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('FCM Send Error: ' . curl_error($ch));
}
curl_close($ch);
return $result;
}
?>
주의 사항 : 나는 의도적으로 내 server_key
를 제거했습니다.
나는 알고있다. 정보를 내 패키지에 보내고 싶습니다. 그래서 같은 Android 패키지를 사용하는 모든 사용자가 동일한 장치 토큰을 사용합니까? 나는 그렇지 않다고 생각한다. – VSB
장치 토큰은 모든 장치에 대한 고유 한 식별자가 아니므로 동일한 패키지에서 중복 토큰을 결코 찾을 수 없습니다. – user101530
각 장치에는 사용자가 장치의 Firebase 인증 방법을 호출 할 때 생성되는 고유 한 토큰이 있습니다. 토큰을 얻은 후에 장치는 토큰을 서버로 보내고이를 사용자의 계정에 할당해야 각 사용자마다 고유 한 토큰이 있습니다. 그렇게하면 비즈니스 요구에 따라 토큰을 사용하여 특정 사용자에게 알림을 보낼 수 있습니다. 하나의 Firebase Project는 패키지 이름이 다른 여러 어플리케이션을 가질 수 있으므로 지정된 패키지는 어플리케이션입니다. 따라서 대상으로 지정할 어플리케이션을 지정해야합니다. – MohanadMohie