OpenSocialTutorial-8

IDtail.com API

Jump to: navigation, 찾기

목차

[편집] 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);

이전 페이지 | 다음 페이지