2. 1. 파라미터API
앱스 소개 페이지나 캔버스 페이지로 이동하는 외부링크 URL에 appParams
패러미터를 추가하여 개발사의 정한 임의의 값을 캔버스에서 앱스가 실행될
때 젂달 받을 수 있습니다.
유입경로, 이벤트 등에 활용될 수 있습니다.
패러미터 값의 형식은 { key1 : "value1", key2 : "value2" } 형식의 JSON Object
문자열이며, URL 인코딩 처리를 하여 젂달하여야 합니다.
앱스 소개 페이지 :
http://apps.cy.nate.com/Main/View?apps_no=xxxx&appParams={"target":"LIS
T"}
앱스 실행 페이지 :
http://apps.cy.nate.com/Apps/Canvas?apps_no=xxxx&appParams={"target":"
LIST“}
appParams 값은 반드시 URL 인코딩 처리를 하여야 합니다.
3. 파라미터API 예제
싞규 설치 사용자인 경우 { NC_CODE: "install" }
미니홈피 게시물에서 유입된 경우 { NC_REFERER: "minihp_photo" }
개발사가 직접 수정한 경우 { EVENT : “8988" }
<script>
var params = gadgets.views.getParams();
var nc_code= params["NC_CODE“];
var visit = params["NC_REFERER“];
var event = params["EVENT“];
</script>
4. 2. 사진첩API 고도화
1. 사진첩 게시물의 링크를 통해 앱스 실행 페이지로 이동 시 유입경로
(REFERER) 정보 전달
- 사짂첩 게시물에서 접근 시 플랫폼 기본 제공 패러미터로 { NC_REFERER :
"minihp_photo" } 값이 젂달됨
2. 사진첩 게시물의 링크 텍스트 변경 및 앱스 실행 페이지 연결 URL에 패러미
터 추가
- 사짂첩 게시물 등록 시 개발사가 직접 링크 텍스트를 변경할 수 있음.
-사짂첩 게시물에 등록된 링크를 통해 개발사가 직접 지정한 패러미터를 앱스
실행 페이지로 젂달할 수 있음.
var params = [];
params[opensocial.MediaItem.Field.CUSTOM_TITLE] = "{apps} 보물찾으러 가
볼까요?";
params[opensocial.MediaItem.Field.CUSTOM_PARAM] = '{"TYPE":"EVENT"}';
5. 3. 요청수락 API
캔버스에서 앱스를 play 하면서 내 일촌에게 특정 아이템이나 행위를 '요청'
보내는 API이고,
요청을 받은 유저는 앱스토어 메인에서 받은 요청을 수락/거젃.
요청을 보낼 때 적용하는 API는 기존의 requesetSendMessage 가 확장됩니다.
opensocial.Message.Field.TYPE을 기존의 'cyMessage(싸이쪽지)',
'nateonMessage(네이트온 쪽지)', 'nateonToast(네이트온 토스트창)' 외에
'Notification' 을 하나 더 추가 (opensocial spec에서 제공하고 있는 type)
그리고 해당 type을 사용하려는 경우에는 opensocial.Message.Field.URLS
method를 사용하여
젂달하려는 appParams를 붙인 캔버스 url을 같이 받습니다.
6. 요청수락 API 예제
function sendRewardRequest() {
var urlparams = {};
var params = [];
var url = encodeURIComponent('{"reward":"코인 1000"}');
params[opensocial.Message.Field.TITLE] = "예를들어 앱스제목";
params[opensocial.Message.Field.TYPE] =
opensocial.Message.Type.NOTIFICATION;
params[opensocial.Message.Field.URLS] =
"http://apps.cy.nate.com/Apps/Canvas?apps_no=2169&appParams=" + url;
var body = '보상 코인을 받으실래요?';
var message = opensocial.newMessage(body, params);
var recipient = new Array();
recipient[0] = "00000000";
opensocial.requestSendMessage(recipient, message, callback);
}
7. 4. 알림 API
1. 알림API 와 토스트 알림으로 구성
2. 알림API는 10분주기로 데이터를 앱
스토어에 보낸다
3. 토스트 알림은 사용자 설정에 따라
스캔을 하여 토스트 API를 호출.
토스트 예제(requestSendMessage)
params[opensocial.Message.Field.TYP
E] = opensocial.Message.Type.NAT
EON_TOAST;
8. 알림 API 개발사 서버측 프로세스
1. 알림API 개발사 서버측 프로세스
- 각 개발사에서 주기적(기본 10분부터~) 사용자들의 알림데이타를 스캔하
여 필요데이타만 앱스토어에 보낸다.
- 최근 3일갂 play 한 사용자들의 list를 저장한 뒤 그에 한해 스캔한다. 또는
특정 행동을 한 3일갂의 유저를 대상으로 한다(개발사에 따라)
- 사용자가 많거나 데이터가 많을 경우 알림의 경우의 수를 줄이고 알림 데
이터 계산을 위해 DB를 최적화하는 것이 관건.
- FTP 서버 , 계정발급 및 데이타포맷은 데브스퀘어에 가이드 예정
2. 기타안)
앱스토어에서 주기적으로 사용자마다 개발사 서버에 요청하여 해당 사용자
의 data를 return하는 방식.
문제점 - 앱스토어에서 각 개발사로 요청하는 방식이 실시갂 안정적인 서비스
가 보장 안되는 문제점 때문에 불가피하게 활용불가