웹마스터 팁
XE 어플로 만들때 PUSH 기능처리 방법
2014.03.06 01:37
게시판에 다른 어플을 활용해서 푸쉬 서비스를 제공하는게 있던데 그건 푸쉬라고 하기 보다는 대행하는 식이라서 올려 드리고자 합니다.
PUSH 기능은 구글 프로젝트에서 GCM서비스를 ON 하고 받은 프로젝트 NO가 고유의 하나의 어플로 되어야 하고 그 어플에서 푸쉬 서비스를 하게 됩니다.
정확히 이야기하면 서버 키는 1개 입니다. 한어플에 한개의 서버키를 활용하게 되며 어플의 기기 등록값은 고유한 1개의 기기번호가 저장됩니다.
PUSH를 위해 기기를 구글 서버에 등록하게 됩니다. 그건 JSON으로 받아서 회원 테이블로 저장해서 서버 프로그램을 활용해서 메시지를 날리게 됩니다.
하나의 어플에서 여러개 사이트를 파싱하거나 데이터만 받아서 보내 고 받는 부분을 처리하는건 자신의 어플을 만들때 해당되지 않습니다.
일반적으로 index.html 에서 inappbrowers를 사용하게 되면 고유의 reg_id를 ajax로 저장하고 사용하게 되며 회원 데이터 베이스에서는 메일 받기 허용과 같은 방법으로 저장하도록 합니다. 구글에 reg_id를 삭제 하는 방법으로 처리 하지 않습니다.
이렇게 등록된 기기 reg_id는 회원이 수신 거부 하게 되면 테이블에 n값을 저장해서 json 으로 구글 서버에 발송 요청서 제외해서 보내게 됩니다.
옵션은 여러가지 있습니다. 그리고 url처리는 폰갭이나 네이티브에서 받은 데이터 값의 분석해서 url을 넘길수 있습니다.
참고 하실만한 자료는
https://github.com/phonegap-build/PushPlugin/blob/93067b9303252d5ed7394819bf220db56d99d22c/README.md
를 보시면 자바스크립트로 처리하게 되어 있습니다.
폰갭으로 어플을 만든다면 자신의 서버에서 처리 하시면 됩니다.
생각보다 간단합니다. 그리고 어플은 고유한 어플을 하나의 이야기를 하는게 맞고 어플하나에 다른 사이트를 연동해서 푸쉬를 하는것은 어면히 푸쉬라고 하기는 힘듭니다.
물론 구글 개발자 등록되어 서 프로젝트를 생성해서 해야 하며 혹시 주위에 있는 개발자가 있다면 특별히 돈드는게 아니니깐 가능합니다.
제가 어플을 만들때 제로보드 킴스큐를 다 넣어 봤지만 푸쉬 기능은 자바스크립트로 처리 되고 다만 푸쉬 등록되었다는 부분에서 ajax 로 데이터를 보내어 세션 값에 맞도록 reg_id를 등록하게 됩니다.
언젠가는 소스를 공개 하겠지만 레이아웃에 넣어 버리려고 하고 있습니다만 현재 푸쉬 대행이라는것과 어플 gcm은 다른 개념이라서 팁에 올립니다.
5만명 발송시 2~3분 정도 소요될겁니다. 문자랑 보내는 원리가 같습니다. 거의 요즘은 모르지만 몇해 전만해도 데이콤같은 경우는 데이터 베이스에 저장하고 데몬 설치해서 억세스 되도록 했었습니다.
위 주소를 보시면 저 소스를 본인의 레이아웃에서 처리 하시면 됩니다. 그리고 구글에서 받은 값만 저장해서 사용하셔도 되도록 쉽게 되어 있습니다.
참고로 폰갭의 경우 어플 코딩을 www/index.html에서 하게 됩니다. 그런데 이부분은 서버 주소를 대신 넣고 config.xml 에서 정의가 가능하실겁니다. 그리고 서버에서
<script type="text/javascript" charset="utf-8" src="jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="PushNotification.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
을 넣어시면 폰갭 코딩은 폰갭 소스가 아니고 웹페이지에 넣어서 제작 가능합니다. 그럼 코딩을 매번 하실필요없이 제작이 가능하고 완전힌 연동이 됩니다. 다만 pc버전과 모바일 버전중에 모바일 버전에서만 넣어셔야 pc버전 사용하시는데 문제가 없습니다.
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
날짜를 출력하는 간단한 소스입니다 | 낮은자 | 2014.03.07 |
[jQuery] 클릭하면 내용이 사라지는 방법 | 낮은자 | 2014.03.07 |
한글, 영문, 숫자, 특수문자 체크하는 함수 | ByteCMC | 2014.03.07 |
자주 쓰이는 정규표현식 모음 | 투니페이퍼 | 2014.03.06 |
css3 둥근테두리 만들기 | 낮은자 | 2014.03.06 |
XE 어플로 만들때 PUSH 기능처리 방법 | 웹빌드 | 2014.03.06 |
페이지 모듈에서 다국어 기능 작동 안 하는 버그 패치법 [1] | sejin7940 | 2014.03.04 |
폰갭 제작 어플 gcm 발송시 변수 | 웹빌드 | 2014.03.04 |
xe 홈페이지 폰갭으로 묶을때 | 웹빌드 | 2014.03.03 |
방명록 댓글 줄바꿈 | 메디칼온 | 2014.03.03 |
스케치북5 모바일 댓글 작성시 엔터를 쳤을 때 <br /> 코드 뜨는 문제 해결 [7] | oryan | 2014.02.23 |
홈페이지 접속자, 글(댓글) 작성자 국가 국기 표시 적용 방법 [19] | 라싸 | 2014.01.08 |
[팁 시리즈 2] 한글 도메인이나 영문 도메인 설정을 잘못 건드려서 사이트의 모든 기능이 거의 먹통입니다! | Omega3 | 2014.03.01 |
[팁 시리즈 1] 웹 사이트 이전 및 복구/백업(이)가 되지 않습니다! [6] | Omega3 | 2014.02.28 |
정규식 문법 | 웹엔진 | 2014.02.28 |
썸네일 생성시 crop 이 상단 기준으로 생성되게 하는 방법 [5] | sejin7940 | 2013.10.04 |
기초설명_알고리즘(algorithm) [2] | ifnelse | 2008.07.28 |
사이트 url에 자꾸 index.php 가 붙어다닐때 [7] | 마시멜 | 2011.05.01 |
누리고 + KCP 결제 모듈 사용시 "연동 모듈 호출 오류" 가 날때 [1] | idkiller | 2014.02.26 |
페이지가 갑자기 하얀화면으로 나올경우에는 이렇게 해보십시오. [9] | 하나로45 | 2007.12.13 |