OpenSocialTutorial-8
IDtail.com API
목차 |
[편집] opensocial ActivityMediaItem
Activity Stream을 통해 소셜 가젯 안에서 사용자가 한 행동을 친구들에게 알려줄 수 있습니다. 특히 Activity에서 제공하는 mediaItem을 활용하면 일반적 알림 메시지 뿐만 아니라 사진이나 음악 동영상들에 대한 정보도 알려줄 수 있습니다. 예를 들어 사용자가 좋아하는 그림을 친구들에게 링크로 제공할 수 도 있으며 최근에 봤던 영화의 광고 동영상의 링크를 알려줄 수 있습니다. 오픈소셜 가젯안에서 호출되는 Activity는 idtail.com 의 "안테나"를 통해 친구들에게 노출이 됩니다.
[편집] 제약 사항
현재 idtail.com 에서 어플리케이션이 activity를 통해 안테나에 노출되기 위해서는 반드시 발행된 상태이어야만 합니다. 따라서 sandbox의 미리보기 또는 저장만 하고 발행되지 않은 어플리케이션들은 activity를 사용하여도 안테나에 저장되지 않습니다.
[편집] 안테나 메시지
..
opensocial.newActivityMediaItem('image','http://www.idtail.com/icon/lcm' );
.
.
var title = "멋쟁이라고 했습니다.";
위의 같은 경우 안테나에 나오는 메시지는 다음과 같으며 친구들은 이 메시지를 볼 수 있습니다. "<someone: 링크>님이 이 <사진:링크> 사진을 멋쟁이라고 했습니다."
opensocial에서 제공하는 ActivityMediaItem의 타입 필드는 다음과 같습니다.
opensocial.Activity.MediaItem.Type = {
IMAGE : 'image',
VIDEO : 'video',
AUDIO : 'audio'
}
[편집] 예제
- 밑에 예제는 opensocial 0.7버전 기준으로 작성되었습니다.
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="Activity sample">
<Require feature="opensocial-0.7"/>
</ModulePrefs>
<Content type="html">
<![CDATA[
<div id="content">
<p> 추천 음악,영화,사진을 친구들에게 추천해 보세요 ~~</p>
<form name="testform">
<select name='menu'>
<option value="image">그림</option>
<option value="audio">음악</option>
<option value="video">동영상</option>
</select>
</form>
<input id='url' type="text" value="" />
<input type="button" value="추천하기" onclick="do_recommend();" />
</div>
<script type="text/javascript" >
function do_recommend() {
title = " 추천 했습니다.";
try{
var menu = document.forms['testform'].menu;
var selectedMimeType = menu.options[menu.selectedIndex].value;
var recommendedUrl = document.getElementById('url').value;
var activityMediaItem = opensocial.newActivityMediaItem(selectedMimeType,recommendedUrl);
var opt_params = { 'mediaItems' : [activityMediaItem] };
/****
var params = {'title': title, mediaItems' : [activityMediaItem, activityMediaItem2]};
var activity = opensocial.newActivity(params);
****/
var activity = opensocial.newActivity(title, opt_params);
opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH, done_recommend);
}catch(e){
alert(e);
}
}
function done_recommend(dataResponse) {
if( dataResponse.hadError() ) {
alert( "fail" );
return;
}
alert( "success" );
}
</script>
]]>
</Content>
</Module>
위의 소스에서 activity 객체를 생성하는 방법은 밑에 예제와 같이 사용하여도 무방합니다. 여기서 다수의 activityMediaItem 객체를 배열로 저장하여 요청할 수 있으나 현재 idtail.com 안테나에 나오는 메시지는 글자수의 한계가 있으므로 2개이상의 mediaItem객체를 동시에 요청할 수 없습니다.
var params = {'title': title, mediaItems' : [activityMediaItem, activityMediaItem2]};
var activity = opensocial.newActivity(params);





