appmake
  • 홈페이지 연동 푸시 알림

홈페이지 연동 푸시 알림

새글,댓글 등 홈페이지 회원 연동 푸시알림 이용안내 입니다.

1. 회원아이디와 스마트폰 디바이스 맵핑

웹사이트의 회원아이디와 고객의 앱을 설치한 스마트폰 디바이스의 정보를 맵핑하여 스마트폰 사용자를 식별하기 위해, 웹사이트에 다음의 JavaScript 내용을 추가합니다.  맵핑한 사용자정보는 회원 연동 푸시서비스에 사용 됩니다.

- 사용하는 언어는 JavaScript 를 사용합니다.

- 고객의 앱에서 실행될 때 회원정보와 스마트폰이 맵핑 됩니다.

[적용방법]

Case 1) 운영하는 웹사이트에서 로그인 이후 첫 페이지에 아래 함수를 추가 합니다.  여러 곳이면 그 곳마다 추가해 줍니다.

<script language="javascript"> 
    // 페이지 로딩 직후 앱에서 자동 호출 합니다.
    function callFromApp() {
        if (typeof app_login_complete === 'function') {
            app_login_complete('회원아이디');
        }
    }
</script>

- callFromApp() 함수는 앱에서 페이지 로딩이 다 끝난 직후 호출하는 함수로 이름을 변경하면 안됩니다.

- 회원아이디 : 스마트폰 디바이스와 맵핑하기 위해 웹사이트에 로그인 한 회원의 아이디를 넣어 줍니다.


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('회원아이디');
                }
            }
            ...
        }
    });
}

2. 회원연동 푸시 알림 보내기

회원연동 푸시 알림 보내기는 웹사이트에서 appmake_sendpush.js 를 include 한 후, sendPush() 함수를 이용해서 전송 합니다.

[회원연동 푸시 알림 요청 함수 정의]
구분 내용
자바스크립트 위치
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 -> 수신자 회원아이디
- 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 = 100;
        app_srno = 410;
        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 = 200;
        app_srno = 410;
        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 = 300;
        app_srno = 410;
        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.appmake.co.kr/files/push/201901/1/push_20190125023514_02.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 = 400;
        app_srno = 410;
        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.appmake.co.kr/files/push/201901/1/push_20190125023514_02.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>