웹사이트 회원 연동 푸시알림 이용안내 입니다.
# CASE 1 운영하는 웹사이트에서 로그인 이후 첫 페이지에 아래 함수를 추가 합니다. 여러 곳이면 그 곳마다 추가해 줍니다.
<script language="javascript">
// 페이지 로딩 직후 앱에서 자동 호출 합니다.
function callFromApp() {
if (typeof app_login_complete === 'function') {
app_login_complete('회원아이디');
}
}
</script>
# CASE 2 ajax 방식으로 로그인 처리 한 경우의 사용법 입니다.
function login() {
...
$.ajax({
type: "POST",
url: action,
data: form_data,
success: function(response) {
// 로그인 성공시
if (response == 'success') {
if (typeof app_login_complete === 'function') {
app_login_complete('회원아이디');
}
}
...
}
});
}
| 구분 | 내용 |
|---|---|
| 자바스크립트 위치 | https://www.appmake.co.kr/asset/js/appmake_sendpush.js |
| 요청함수 | sendPush(no, app_srno, send_id, receive_id, title, contents, push_type=1, save_yn='Y', image='', link='') |
| 파라미터 값 |
· no -> 발송요청번호, 이 번호를 이용하여 결과를 확인 · app_srno -> 앱 고유번호 (앱메이크에서 만드신 앱의 고유번호) · send_id -> 발송자 회원아이디 · receive_id -> 수신자 회원아이디 (여러명에게 전송할 경우 '|'를 이용. ex, receiver1|receiver2|...) · title -> 푸시알림 제목 · contents -> 푸시알림 내용 · push_type -> 1 : 상단 노티 + 팝업 으로 표시 (기본값), 2 : 상단 노티만 표시 · save_yn -> Y : 알림정보 저장 (기본값), N : 저장 안함 · image -> 이미지 위치 URL, 이미지 없는 경우 "" · link -> 노티 또는 푸시팝업 확인버튼 클릭시 이동할 URL, 링크주소 없는 경우 "" |
| 구분 | 내용 |
|---|---|
| 자바스크립트 위치 | 해당 페이지에 선언 |
| 요청함수 |
function sendPush_result(data) {
alert(data.no + ':' + data.result + ":" + data.msg);
}
|
| 파라미터 값 |
· data.no -> 발송요청번호 · data.result -> Y : 발송성공, N : 발송실패 · data.msg -> 발송결과에 따른 메시지 |
| 오류메시지(data.msg) 정보 |
· 발송자 정보가 등록되어 있지 않습니다. : 입력된 발송자 회원아이디가 등록되어 있지 않은 경우 · 수신자 정보가 등록되어 있지 않습니다. : 입력된 수신자 회원아이디가 등록되어 있지 않은 경우 · 등록된 도메인 정보와 맞지 않습니다. : 실행된 도메인 정보와 앱 기본정보내의 도메인 정보가 맞지 않은 경우 |
# 예시
<script src="https://www.appmake.co.kr/asset/js/appmake_sendpush.js"></script>
...
<script>
// Case 1: 제목과 내용이 표시되는 팝업푸시 + 상단 노티 표시
function clickButton1() {
if (typeof sendPush === 'function') {
no = 101;
app_srno = 1234;
send_id = $("#send_id").val();
receive_id = $("#receive_id").val();
title = $("#title").val();
contents = $("#contents").val();
sendPush(no, app_srno, send_id, receive_id, title, contents);
}
}
// Case 2: 제목과 내용을 상단 노티에 표시
function clickButton2() {
if (typeof sendPush === 'function') {
no = 102;
app_srno = 1234;
send_id = $("#send_id").val();
receive_id = $("#receive_id").val();
title = $("#title").val();
contents = $("#contents").val();
push_type = 2;
sendPush(no, app_srno, send_id, receive_id, title, contents, push_type);
}
}
// Case 3: 제목과 이미지를 상단 노티에 표시
function clickButton3() {
if (typeof sendPush === 'function') {
no = 103;
app_srno = 1234;
send_id = $("#send_id").val();
receive_id = $("#receive_id").val();
title = $("#title").val();
contents = $("#contents").val();
push_type = 2;
save_yn = 'N';
image = 'https://www.website.co.kr/images/push_image_sample.jpg'; // 예시
sendPush(no, app_srno, send_id, receive_id, title, contents, push_type, save_yn, image);
}
}
// Case 4: 제목과 이미지를 푸시팝업과 상단 노티에 표시하고 클릭시 링크URL로 이동
function clickButton4() {
if (typeof sendPush === 'function') {
no = 104;
app_srno = 1234;
send_id = $("#send_id").val();
receive_id = $("#receive_id").val();
title = $("#title").val();
contents = $("#contents").val();
push_type = 1;
save_yn = 'Y';
image = 'https://www.website.co.kr/images/push_image_sample.jpg''; // 예시
link = 'https://sports.v.daum.net/v/20181011170226585?f=m'; // 예시
sendPush(no, app_srno, send_id, receive_id, title, contents, push_type, save_yn, image, link);
}
}
// 발송에 대한 결과정보를 가져오는 방법
function sendPush_result(data) {
alert(data.no + ':' + data.result + ":" + data.msg);
}
</script>
# PHP 예시
<?php
$url = 'https://www.appmake.co.kr/PushClient/sendPush4ExtServer'; //접속할 url 입력
$post_data["no"] = 101; // 발송요청번호
$post_data["app_srno"] = 1234; // 앱 고유번호
$post_data["send_id"] = "sender@gmail.com"; // 예시
$post_data["receive_id"] = "receiver1@naver.com|receiver2@daum.net|abc123@hotmail.com"; // 예시
$post_data["title"] = "서버에서 푸시발송";
$post_data["contents"] = "서버에서 보내는 푸시발송 테스트 입니다.";
$post_data["push_type"] = 1;
$post_data["save_yn"] = "Y";
$post_data["image"] = ""; // 이미지를 보낼 경우 이미지 위치 URL
$post_data["link"] = "https://sports.v.daum.net/v/20181011170226585?f=m"; // 예시
$post_data["key"] = "e9Vc0SiPFp9XoMrREnBD79ijmnJTHanmyghABRGm72o="; // 앱 고유서비스키
$post_data["from"] = 2; // 서버에서 발송시 항상 2
$header_data = [];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); //URL 지정
curl_setopt($ch, CURLOPT_POST, 1); //0이 default 값이며 POST 통신을 위해 1로 설정
curl_setopt ($ch, CURLOPT_POSTFIELDS, $post_data); //POST로 보낼 데이터 지정
curl_setopt ($ch, CURLOPT_POSTFIELDSIZE, 0); //이 값을 0으로 해야 알아서 post_data 크기 측정
curl_setopt($ch, CURLOPT_HEADER, true); //헤더 정보를 보내도록 함
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_data); //header 지정
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 이 값을 1로 하면 결과값을 return하게 되어 변수에 저장 가능
$res = curl_exec ($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($res, 0, $header_size);
$body = substr($res, $header_size);
$body_json = json_decode($body, true);
print_r($body_json);
curl_close($ch);
?>