4. API 설명 - GiGAGenie-ServiceSDK/UserGuide GitHub Wiki
GiGA Genie Service API를 초기화 한다. GiGA Genie Service API를 이용하기 위해서는 API 초기화가 반드시 진행되어야 한다.
-
function init(options,callback)
-
options 은 다음과 같이 설정한다.
- options.apikey : String, Mandatory이며 개발자 사이트에서 받은 apikey 를 설정해야 하며, 등록된 apikey가 아닌 경우에는 오류가 발생한다.
- options.keytype : String, Mandatory 이며 api key 유형으로 다음의 유형을 지원한다. (이용가이드 V1.0 에서는 GBOXCOMM 만 지원)
- options.keytype="GBOXCOMM" : G-Box 상용 키
-
extra 값은 null 이다.
-
result_cd 가 200 으로 initialization 이 성공하지 않았을 경우 API 는 동작하지 않는다. API 사용전에 callback 에서 result_cd 가 200 으로 리턴했는지 확인해야 한다.
-
사용 예
//callback 방식
var options={};
options.apikey="asdnblkb1231lkj3nrlkjlkjsfsdf";
options.keytype="GBOXCOM";
gigagenie.init(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("initialize success");
};
});
//promise 방식
var options={};
options.apikey="asdnblkb1231lkj3nrlkjlkjsfsdf";
options.keytype="GBOXEMUL";
gigagenie.init(options).then(function(extra){
console.log("initialize success");
}).catch(function(result_cd,result_msg,extra){
console.log("initialize fail");
})
사용자에게 음성 안내 후 음성 인식을 한다. TTS 출력 중에 stopTTS를 수신하면 TTS와 음성인식 모두 종료된다. 음성인식이 진행되면 해당 음성인식을 종료할 수 없다. (Timeout으로 처리)
-
function getVoiceText(options,callback)
-
options 은 다음과 같이 설정한다.
- options.mode : Int, Mandatory 로 음성 인식 결과의 후처리를 설정한다.
- options.mode=0 : 음성인식 결과를 전달한다.
- options.mode=1 : 음성인식 결과를 대화서버로 전달한다.
음성인식결과는 undefined로 전달되며, 이후 onActionEvent로 이벤트를 받거나 다른 앱이 실행된다. - options.mode=2 : 확인에 대한 음성인식을 수행한다.
음성인식결과는 undefined로 넘겨지며 이후 onVoiceCommand로 "confirm", "cancel"을 전달한다. 확인으로 해석되지 않는 경우 결과값이 전달되지 않는다. - options.mode=3 : 번호 선택에 대한 음성인식을 수행한다.
음성인식결과는 undefined로 전달되며, 이후 onSelectedNumber에 인식된 번호를 전달된다. 번호가 인식되지 않으면 결과값이 전달되지 않는다.
- options.voicemsg : String, Optional으로 voicemsg 내용을 TTS로 재생한 후 음성 인식을 시작한다.
- options.mode : Int, Mandatory 로 음성 인식 결과의 후처리를 설정한다.
-
result_cd 에 다음의 값이 전달된다.
- 200: 음성인식 성공, extra.voicetext에 인식된 결과가 전달된다.
- 500: Timeout 발생 등으로 음성 인식 실패, extra.voicetext에는 "ASR session timeout" 가 전달된다.
- 501: KWS(KeyWord Spotting)에 의해 정지됨
- 502: 재생 실패
- 503: stopTTS에 의한 TTS 종료
-
extra 값에 다음이 설정되어 전달된다.
- extra.voicetext : String, Mandatory 로 음성인식된 Text 가 전달된다.
-
사용 예
//callback 방식으로, 즉시 음성 인식을 할 경우
gigagenie.voice.getVoiceText(null,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("Received Text is "+extra.voicetext);
};
});
//callback 방식으로, TTS로 재생한 후 음성 인식을 할 경우
var options={};
options.voicemsg="생년월일을 말해 주세요"
gigagenie.voice.getVoiceText(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("Received Text is "+extra.voicetext);
};
});
//promise 방식
gigagenie.voice.getVoiceText(null).then(function(extra){
console.log("Received Text is "+extra.voicetext);
}).catch(function(result_cd,result_msg,extra){
//
})
입력 Text 를 사용자에게 음성으로 전달한다. stopTTS API에 의해서 중지된다.
-
function sendTTS(options,callback)
-
options 은 다음과 같이 설정한다.
- options.ttstext : String, Mandatory 로 ttstext 를 입력 Text 로 TTS 를 실행한다.
- [DS] ~ [/DS] : TAG 사이의 숫자를 끊어 읽는다. 숫자는 기본적으로 붙여서 읽도록 되어 있다.
- 예: [DS]1234[/DS]는 "일이삼사"로, 1234는 "천이백삼십사"로 플레이한다.
- [IS] ~ [/IS] : TAG 사이의 알파벳, 숫자 등을 끊어 읽는다.
- 예: [IS]name[/IS] 는 '엔에이엠이'로 name은 "네임"으로 플레이한다.
- [P1] : 100ms의 묵음을 삽입한다.
- [P2] : 200ms의 묵음을 삽입한다.
- [P3] : 300ms의 묵음을 삽입한다.
- [DS] ~ [/DS] : TAG 사이의 숫자를 끊어 읽는다. 숫자는 기본적으로 붙여서 읽도록 되어 있다.
- options.ttstext : String, Mandatory 로 ttstext 를 입력 Text 로 TTS 를 실행한다.
-
extra 값은 null 이다.
-
result_cd 에 다음의 값이 전달된다.
- 200: TTS 재생 성공
- 409: sendTTS로 TTS 재생중임
- 501: KWS(KeyWord Spotting)에 의해 정지됨
- 502: 재생 실패
- 503: 다른 App에서 TTS 중지 메시지를 보냄(stopTTS에 의한 종료)
-
사용 예
//callback 방식
var options={};
options.ttstext="안녕기가지니"
gigagenie.voice.sendTTS(options,function(result_cd,result_msg,extra){
if(result_cd===200){
//do next action
} else {
//extra.reason 에 voice 오류 전달.
};
});
//promise 방식
var options={};
options.ttstext="안녕기가지니"
gigagenie.voice.sendTTS(options).then(function(extra){
//do next action
}).catch(function(result_cd,result_msg,extra){
//extra.reason 에 voice 오류 전달.
})
다음페이지, 이전페이지등 음성 명령 코드를 수신한다.
-
gigagenie.voice.onVoiceCommand 콜백 구현
-
콜백은 function callback(event,extra) 로 구현해야 하며 event 는 다음의 음성명령에 대해서 Text 로 전달한다.
- 다음페이지: nextPage
- 이전페이지: prevPage
-
사용 예
gigagenie.voice.onVoiceCommand=function(event){
switch(event){
case 'nextPage':
//navigate next page
break;
case 'prevPage':
//navigate prev page
break;
default:
break;
}
};
선택 가능한 UI 상에서 사용자가 음성으로 선택한 번호 전달
-
gigagenie.voice.onSelectedIndex 콜백 구현
-
콜백은 function callback(event) 로 구현해야 하며 event 는 선택된 숫자가 넘겨진다.
-
사용 예
gigagenie.voice.onSelectedIndex=function(event){
switch(event){
case 1:
//1번 선택
break;
case 2:
//2번 선택
break;
case 3:
//3번 선택;
case 4:
//4번 선택
break;
default:
break;
});
음성명령(종료, 닫기 발화에 따른)과, 리모컨 나가기 키 클릭시 서비스 종료 이벤트를 전달한다. onRequestClose 콜백에서 종료 처리를 할 경우 마지막에 gigagenie.voice.svcFinished 를 호출해 줘야 한다.
-
gigagenie.voice.onRequestClose 콜백 구현
-
콜백은 function callback() 로 구현해야 한다.
-
사용 예
gigagenie.voice.onRequestClose=function(){
// 3rd party 내부 웹 서비스 종료 처리…
….
gigagenie.voice.svcFinished(null,function(result_cd,result_msg,extra){
};
});
음성명령(닫기)이나 리모컨 나가기 키에 의한 서비스 종료 요청을 수신하거나 화면상의 ‘닫기’ 버튼 클릭 시 자체 종료처리(e.g. 앱 세션 정리)를 진행하고 종료 처리한다. 종료 요청을 수신하고 자체 종료 처리 후 서비스종료 API 를 명시적으로 호출해 주어야 해당 서비스가 종료된다.
-
function svcFinished(options,callback)
-
options 은 null 이다.
-
extra 값은 null 이다.
-
사용 예
//callback 방식
gigagenie.voice.svcFinished(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("service finish success");
};
});
//promise 방식
gigagenie.voice.svcFinished(options).then(function(extra){
console.log("service finish success");
}).catch(function(result_cd,result_msg,extra){
console.log("service finish fail");
})
등록된 Action 에 대한 수신 Event 이다. 등록된 Action 은 대화 SDK 를 통해서 ActionCode (대화 SDK: Intent명)가 등록되어 있어야 한다. 현재 실행중인 appid 에 대한 Action 수신시 Event 를 전달한다.
-
gigagenie.voice.onActionEvent 콜백 구현
-
콜백은 function callback(extra) 로 구현해야 하며 extra 에는 actioncode 와 actionpath 및 parameter 가 전달된다.
- actioncode : 발화 Intent 와 동일
- actionpath : 등록한 이동 Path
- parameter : 대화서버에서 전달하는 parameter JSON 값
-
onActionEvent 콜백이 정의되지 않으면 해당 actionpath 로 자동 이동한다.
-
사용 예
gigagenie.voice.onActionEvent=function(extra){
switch(extra.actioncode){
case ‘QueryHello’:
//QueryHello 처리
break;
case ‘QueryWorld’:
//QUeryWorld 처리
break;
default:s
break;
});
TTS를 중단한다. 4.2.2 TTS API에만 적용된다.
-
function stopTTS(options,callback)
-
options 은 null 이다.
-
extra 값은 null 이다.
- 200 : 중단 성공
- 500 : 실행 오류
-
사용 예
result_cd에 다음의 값이 전달된다.
//callback 방식
gigagenie.voice.stopTTS(null,function(result_cd,result_msg,extra){
if(result_cd===200){
//do next action
} else {
//result_cd, result_msg 오류 전달
};
});
입력한 번호로 GiGA Genie 통화 서비스를 요청한다.
-
function requestCall(options,callback)
-
options 은 다음과 같이 설정한다.
- options.callnumber : String, Mandatory 로 callNumber 에 통화를 요청한다.
- options.calltype : Int, Mandatory 로 0 은 음성통화, 1 은 영상통화를 요청한다.
-
사용 예
//callback 방식
var options={};
options.callnumber="021234567";
options.calltype=0;
gigagenie.call.requestCall(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("Received Call Number is "+extra.callnumber);
};
});
//promise 방식
var options={};
options.callnumber="021234567";
options.calltype=0;
gigagenie.call.requestCall(options).then(function(extra){
console.log("Received Call Number is "+extra.callnumber);
}).catch(function(result_cd,result_msg,extra){
//
})
특정 이름의 데이터네임스페이스를 생성한다.
-
function createNameSpace(options,callback)
-
options 은 다음과 같이 설정한다.
- options.namespace : String, Mandatory 로 생성하고자 하는 NameSpace 이름이다.
- options.shareflag : String, Mandatory 로 해당 NameSpace 에 대한 공유여부를 설정한다. (이용가이드 V1.0 에서는 options.shareflag 는 ‘N’ 만 지원)
- options.shareflag = ‘N’ : App 전용 데이터 생성
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 409: 이미 존재하는 namespace 임
- 500: 시스템 Error
-
사용 예
//callback 방식
var options={};
options.namespace=’userappprofile’;
options.shareflag=’N’;
gigagenie.appdata.createNameSpace(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("Namespace creation is success.");
} else {
console.log("Namespace creation is fail.");
}
});
//promise 방식
var options={};
options.namespace=’userappprofile’;
options.shareflag=’N’;
gigagenie.appdata.createNameSpace (options).then(function(extra){
console.log("Namespace creation is success.");
}).catch(function(result_cd,result_msg,extra){
console.log("Namespace creation is fail.");
})
특정 이름의 데이터네임스페이스를 생성한다. 네임스페이스 삭제시, 해당 네임스페이스의 모든 데이터도 삭제된다.
-
function destroyNameSpace(options,callback)
-
options 은 다음과 같이 설정한다.
- options.namespace : String, Mandatory 로 삭제하고자 하는 NameSpace 이름이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 404: 존재하지 않는 네임스페이스임
- 500: 시스템 Error
-
사용 예
//callback 방식
var options={};
options.namespace=’userappprofile’;
gigagenie.appdata.destroyNameSpace(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("Namespace destroy is success.");
} else {
console.log("Error");
}
});
//promise 방식
var options={};
options.namespace=’userappprofile’;
gigagenie.appdata.destroyNameSpace (options).then(function(extra){
console.log("Namespace destroy is success.");
}).catch(function(result_cd,result_msg,extra){
console.log("Namespace creation is fail.");
})
특정 이름의 데이터네임스페이스의 Key 에 대한 Data 를 조회한다.
-
function getKeyData(options,callback)
-
options 은 다음과 같이 설정한다.
- options.namespace : String, Mandatory 조회하고자 하는 appdata Namespace
- options.key : String, Mandatory 로 해당 NameSpace 에서 조회하고자 하는 데이터 Key
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 403: 해당 NameSpace 가 존재하지 않음
- 404: 해당 Key 가 존재하지 않음
- 500: 시스템 Error
-
extra 값에 다음이 설정되어 전달된다.
- extra.data : String, Mandatory 로 key 에 대한 text 데이터가 전달된다.
-
사용 예
//callback 방식
var options={};
options.namespace=’userappprofile’;
options.key=’appusername’;
gigagenie.appdata.getKeyData(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log(options.key + ":" + extra.data);
} else {
console.log("Error");
}
});
//promise 방식
var options={};
options.namespace=’userappprofile’;
options.key=’appusername’;
gigagenie.appdata.getKeyData (options).then(function(extra){
console.log(options.key + ":" + extra.data);
}).catch(function(result_cd,result_msg,extra){
console.log("Error");
})
특정 이름의 데이터네임스페이스에 Key 의 Data 를 설정한다.
-
function setKeyData(options,callback)
-
options 은 다음과 같이 설정한다.
- options.namespace : String, Mandatory 설정하고자 하는 key 의 appdata Namespace
- options.key : String, Mandatory 로 해당 NameSpace 에서 설정하고자 하는 데이터의 Key
- options.data : String, Mandatory 로 해당 NameSpace 의 Key 에 설정된 데이터
-
result_cd 는 다음과 같이 정의된다
- 200: 성공
- 403: 해당 NameSpace 가 존재하지 않음
- 406: 저장 Key 개수 초과
- 413: 데이터 용량 초과
- 500: 시스템 Error
-
사용 예
//callback 방식
var options={};
options.namespace='userappprofile';
options.key='appusername';
options.data='helloappdata';
gigagenie.appdata.setKeyData(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log(options.key + ":" + extra.data + " is set");
} else {
console.log("Error");
}
});
//promise 방식
var options={};
options.namespace='userappprofile';
options.key='appusername';
options.data='helloappdata';
gigagenie.appdata.setKeyData (options).then(function(extra){
console.log(options.key + ":" + extra.data + " is set");
}).catch(function(result_cd,result_msg,extra){
console.log("Error");
})
특정 이름의 데이터네임스페이스에 Key 와 Data 를 삭제한다.
-
function delKeyData(options,callback)
-
options 은 다음과 같이 설정한다.
- options.namespace : String, Mandatory 삭제하고자 하는 key 의 appdata Namespace
- options.key : String, Mandatory 로 해당 NameSpace 에서 삭제하고자 하는 Key
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 403: 해당 NameSpace 가 존재하지 않음
- 404: 해당 Key 가 존재하지 않음
- 500: 시스템 Error
-
사용 예
//callback 방식
var options={};
options.namespace='userappprofile';
options.key='appusername';
gigagenie.appdata.delKeyData(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log(options.key + ":" + extra.data + " is deleted");
} else {
console.log("Error");
}
});
//promise 방식
var options={};
options.namespace='userappprofile';
options.key='appusername';
gigagenie.appdata.delKeyData (options).then(function(extra){
console.log(options.key + ":" + extra.data + " is deleted");
}).catch(function(result_cd,result_msg,extra){
console.log("Error");
})
특정 이름의 데이터네임스페이스에서 Key 를 찾는다.
-
function findKeys(options,callback)
-
options 은 다음과 같이 설정한다.
- options.namespace : String, Mandatory 조회하는 key 의 appdata Namespace
- options.keytext : String, Mandatory 로 해당 NameSpace 에서 조회하고자 하는 KeyText
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 403: 해당 NameSpace 가 존재하지 않음
- 404: 해당 Key 가 존재하지 않음
- 500: 시스템 Error
-
extra 값에 다음이 설정되어 전달된다.
- extra.keys : String Array, Mandatory 로 해당 keytext 로 찾은 Key 배열이 전달된다.
-
사용 예
//callback 방식
var options={};
options.namespace='userappprofile';
options.keytext='appuser';
gigagenie.appdata.findKeys(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("Find Key Count=" + extra.keys.length);
extra.keys.forEach(function(key){
console.log("Key is "+ key);
});
} else {
console.log("Error");
}
});
//promise 방식
var options={};
options.namespace='userappprofile';
options.keytext='appuser';
gigagenie.appdata.findKeys (options).then(function(extra){
console.log("Find Key Count=" + extra.keys.length);
extra.keys.forEach(function(key){
console.log("Key is "+ key);
});
}).catch(function(result_cd,result_msg,extra){
console.log("Error");
})
해당 앱에 대한 G-Box 의 ContainerId 를 조회한다.
-
function getContainerId(options,callback)
-
options 은 null 이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
extra 값에 다음이 설정되어 전달된다.
- extra.containerid: String, Mandatory 로 Container 의 ID 값이다.
-
사용 예
//callback 방식
var options={};
gigagenie.appinfo.getContainerId(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("The container id is " + extra.containerid);
} else {
console.log("getContainerId is fail.");
}
});
//promise 방식
var options={};
gigagenie.appinfo.getContainerId(options).then(function(extra){
console.log("The container id is " + extra.containerid);
}).catch(function(result_cd,result_msg,extra){
console.log("getContainerId is fail.");
})
해당 앱에 대한 G-Box 의 AuthKey 를 조회한다.
-
function getAuthKey(options,callback)
-
options 은 null 이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 404: AuthKey 설정되어 있지 않음
- 500: 시스템 Error
-
result_cd 가 200 이면 extra 값에 다음이 설정되어 전달된다.
- extra.authkey: String, Mandatory 로 authKey 값이다.
- extra.settime: String, Mandatory 로 authKey 가 설정된 시간이다. (형식: YYYYMMDDhhmmss, 20170519184202)
- extra.duetime: String, Mandatory 로 authKey 의 만료 예정 시간이다.
-
사용 예
//callback 방식
var options={};
gigagenie.appinfo.getAuthKey(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("Key value is " + extra.authkey);
console.log("SetTime value is " + extra.settime);
console.log("DueTime value is " + extra.duetime);
} else if(result_cd===404){
console.log("Key is not set.");
} else {
console.log("getAuthKey is fail.");
}
});
//promise 방식
var options={};
gigagenie.appinfo.getAuthKey(options).then(function(extra){
console.log("Key value is " + extra.authkey);
console.log("SetTime value is " + extra.settime);
console.log("DueTime value is " + extra.duetime);
}).catch(function(result_cd,result_msg,extra){
if(result_cd===404){
console.log("Key is not set.");
} else {
console.log("getAuthKey is fail.");
}
})
해당 앱에 대한 G-Box 의 AuthKey 를 설정한다.
-
function setAuthKey(options,callback)
-
options 은 다음과 같다.
- options.authkey : String, Mandatory 로 설정하고자 하는 authkey 이다. (자리수 제한 있음:256Byte, 2048Bit)
- options.duetime : String, Optional 로 설정하고자 하는 authkey 의 만료 시간이다. (형식: YYYYMMDDhhmmss, 20170519184202)
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 400: authkey 제한 초과
- 500: 시스템 Error
-
사용 예
//callback 방식
var options={};
options.authkey=’asdasldkjalskdasd’;
options.duetime=’20180519184202’;
gigagenie.appinfo.setAuthKey(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("AuthKey Set is Success");
} else {
console.log("AuthKey Set is fail.");
}
});
//promise 방식
var options={};
options.authkey=’asdasldkjalskdasd’;
options.duetime=’20180519184202’;
gigagenie.appinfo.setAuthKey(options).then(function(extra){
console.log("AuthKey Set is Success");
}).catch(function(result_cd,result_msg,extra){
if(result_cd===400){
console.log("AuthKey Size exceeded.");
} else {
console.log("AuthKey Set is fail.");
}
})
해당 앱에 대한 G-Box 의 AuthKey 를 삭제한다.
-
function delAuthKey(options,callback)
-
options 은 null 이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
사용 예
//callback 방식
var options={};
gigagenie.appinfo.delAuthKey(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("AuthKey Deleting is Success");
} else {
console.log("AuthKey Deleting is fail.");
}
});
//promise 방식
var options={};
gigagenie.appinfo.setAuthKey(options).then(function(extra){
console.log("AuthKey Deleting is Success");
}).catch(function(result_cd,result_msg,extra){
console.log("AuthKey Deleting is fail.");
})
해당 GiGA Genie 에 등록된 GiGA Genie Companion App 에 Push 메시지를 보낸다. Push 메시지는 모바일 단말에 푸시 팝업이 보여지며 해당 팝업 클릭시 해당 msg(URL)로 모바일 단말의 웹브라우저를 실행시킨다.
-
function sendPushMsg(options,callback)
-
options 은 다음과 같다.
- options.target : String, Mandatory 로 다음을 설정한다.
- COMP_APP: 해당 G-Box 에 연계된 Companion App 을 타겟으로 한다.
- options.msgtype: String, Mandatory 로 다음을 설정한다.
- EXEC_WEB : Web Browser 의 URL 에 해당 msg 를 전달-실행한다.
- options.msg : String, Mandatory 로 보내고자 하는 msg 이다.
- options.target : String, Mandatory 로 다음을 설정한다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
사용 예
//callback 방식
var options={};
options.target=’COMP_APP’;
options.msgtype=’EXEC_WEB’;
options.msg=’http://hello.world/hello?msg=world’;
gigagenie.appinfo.sendPushMsg(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("Sending Push msg to companion app is Success");
} else {
console.log("Sending Push msg to companion app Set is fail.");
}
});
//promise 방식
var options={};
options.target=’COMP_APP’;
options.msgtype=’EXEC_WEB’;
options.msg=’http://hello.world/hello?msg=world’;
gigagenie.appinfo. sendPushMsg (options).then(function(extra){
console.log("Sending Push msg to companion app is Success");
}).catch(function(result_cd,result_msg,extra){
console.log("Sending Push msg to companion app Set is fail.");
})
Screen 이용 제한 상태를 조회한다.
-
function getScreenLimit(options,callback)
-
options 은 null 이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
extra에는 다음의 값이 전달된다.
- limit : true이면 Screen 이용 불가 상태(대기모드에서 호출)
-
사용 예
//callback 방식
var options={};
gigagenie.appinfo.getScreenLimit(options,function(result_cd,result_msg,extra){
if(result_cd===200 && extra.limit==true){
console.log("Display is avaliable");
} else {
console.log("getDisplayAvailable is fail.");
}
});
G-Box의 복합 상황에서 ContainerApp에 Mute 요청 이벤트 수신하는 콜배기다. G-Box 복합 상황은 ContainerApp에서 준수해야 되는 사항으로 HTML에서 동영상, 오디오 플레이 시에 onMuteRequest 이벤트를 수신하여 동영상, 오디오의 음성을 Off 해야 한다. (강제 사항으로, App 차단 가능함)
-
gigagenie.media.onMuteRequest
-
콜백은 function callback(extra)로 구현해야 하며 extra에는 mute값이 전달된다.
- mute: 오디오 On/Off에 대한 Boolean 값으로, true인 경우 오디오를 Off 시켜야 하며, false인 경우 mute가 해제된 경우 수신된다.
-
사용 예
//callback 방식
var options={};
gigagenie.media.onMuteRequest=function(extra){
if(extra.mute){
console.log("mute requested ");
//동영상, 오디오 Mute
} else {
console.log("mute is released ");
//동영상, 오디오 Mute 해제
};
});
OTV 결제를 위한 사용자 인증 및 상태체크를 요청한다. 결제 이용 가능 사용자가 아닌 경우 가입 단계를 진행한다.
-
function otvCheckUser(options,callback)
-
options 은 다음과 같이 설정한다.
- options.homeShoppingCode : String, Mandatory제휴사 코드
- options.payOption: Number, Mandatory 인증방법(1: 리모콘, 2: 음성)
- options.packageName: String, Mandatory 제휴사 패키지 이름
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 409 : OTV 결제 사용자 확인 요청중임
- 500: 시스템 Error
-
extra값은 200일 경우 다음이 전달된다.
- extra.authResult: String 으로 인증 결과가 전달된다.
-
사용 예
//callback 방식
var options={};
options.homeShoppingCode=’1111111111’;
options.payOption=2;
options.packageName=’aksdnalsd’;
gigagenie.payment.otvCheckUser(options,function(result_cd,result_msg,extra){
if(result_cd===200){
if(extra.authResult==’Success’){
console.log(‘User Can Pay..’);
}
} else {
console.log("setAudioRecog Fail”);
}
});
OTV 결제 토큰을 요청한다. 결제가 불가능한 경우(목소리 미등록, OPAY 회원 미가입 등등) 에러코드만 리턴한다.
-
function otvReqPayToken(options,callback)
-
options 은 다음과 같이 설정한다.
- options.homeShoppingCode : String, Mandatory제휴사 코드
- options.payOption: Number, Mandatory 인증방법(1: 리모콘, 2: 음성)
- options.packageName: String, Mandatory제휴사 패키지 이름
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
extra값은 200일 경우 다음이 전달된다.
- extra.reqResult: String 으로 인증 결과가 전달된다.
- extra.purchaseAuthToken : OTV 결제 토큰
-
사용 예
//callback 방식
var options={};
options.homeShoppingCode=’1111111111’;
options.payOption=2;
options.packageName=’aksdnalsd’;
gigagenie.payment.reqPayToken(options,function(result_cd,result_msg,extra){
if(result_cd===200){
if(extra.reqResult==’Success’){
console.log(‘PayToken:’+extra.purchaseAuthToken);
}
} else {
console.log("reqPayToken Fail”);
}
});
OTV 결제 토큰을 요청한다. 결제가 불가능한 경우(목소리 미등록, OPAY 회원 미가입 등등)의 경우 해당 인증-가입 단계를 진행하고 결제 토큰 발급이 된다.
-
function otvReqPayTokenWithAuth(options,callback)
-
options 은 다음과 같이 설정한다.
- options.homeShoppingCode : String, Mandatory제휴사 코드
- options.payOption: Number, Mandatory 인증방법(1: 리모콘, 2: 음성)
- options.packageName: String, Mandatory제휴사 패키지 이름
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
extra값은 200일 경우 다음이 전달된다.
- extra.reqResult: String 으로 인증 결과가 전달된다.
- extra.purchaseAuthToken : OTV 결제 토큰
-
사용 예
//callback 방식
var options={};
options.homeShoppingCode=’1111111111’;
options.payOption=2;
options.packageName=’aksdnalsd’;
gigagenie.payment.reqPayTokenWithAuth(options,function(result_cd,result_msg,extra){
if(result_cd===200){
if(extra.reqResult==’Success’){
console.log(‘PayToken:’+extra.purchaseAuthToken);
}
} else {
console.log("reqPayToken Fail”);
}
});
Camera 가 부착된 GiGA Genie에서 영상인식 서비스를 시작한다. 영상인식 서비스가 시작되면 4.8.3의 onFaceAnalysisResult에 영상인식정보 Event가 올라온다.
-
function startFaceAnalysis(options,callback)
-
options는 null이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
extra값은 null이다.
-
사용 예
//callback 방식
gigagenie.vision.startFaceAnalysis(null,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("startFaceAnalysis Success”);
} else {
console.log("startFaceAnalysis Fail”);
}
});
Camera 가 부착된 GiGA Genie에서 영상인식 서비스를 중지한다.
-
function stopFaceAnalysis(options,callback)
-
options는 null이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
extra값은 null이다.
-
사용 예
//callback 방식
gigagenie.vision.stopFaceAnalysis(null,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("stopFaceAnalysis Success”);
} else {
console.log("stopFaceAnalysis Fail”);
}
});
영상인식 서비스를 시작하면 인식 결과를 받는 Event Callback이다.
-
gigagenie.vision.onFaceAnalysisResult 콜백 구현
-
콜백은 function callback(extra) 로 구현해야 하며 extra에는 다음의 Parameter가 전달된다.
- userNameList : 인식된 사용자 이름의 JSON Array(String Array)
- userIdList : 인식된 사용자 ContainerID JSON Array(String Array)
- userAgeList : 인식된 사용자의 연령추정 값 JSON Array(String Array)
- userGenderList : 인식된 사용자의 성별추정 값 JSON Array (String Array 임, 값은 M이면 남, F이면 여)
- userExpressionList: 인식된 사용자의 표정 추정 값으로JSON Array (String Array 임, 값은 Neutral, Smile, null 임)
- userCount : 감지된 사용자 수, Number
-
extra값은 null이다.
- 1: QVGA 가로(320x240)
- 2: VGA 세로(480x640)
- 3: VGA 가로(640x480)
- 4: HD (1280x720)
- 5: FHD (1920x1080)
-
사용 예
gigagenie.vision.onFaceAnalysisResult=function(extra){
for(var i=0;i<userCount;i++){
console.log(‘name:’+userNameList[i]);
console.log(‘id:’+userIdList[i]);
console.log(‘age:’+userAgeList[i]);
.......
}
});
AuthKey가 설정된 앱 리스트를 조회한다. ktadmin 권한을 가진 appid만 호출 가능하다.
-
function getAuthAppList(options,callback)
-
options는 null이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
result_cd가 200일 경우 다음의 extra값이 전달된다.
- extra.appidlist : String Array로 AuthKey 가 설정된 appid 리스트 JSON Object 이다.
-
사용 예
//callback 방식
gigagenie.admin.getAuthAppList(null,function(result_cd,result_msg,extra){
if(result_cd===200){
var appidlist=extra.appidlist;
for(var i=0;i<appidlist.length;i++) console.log(appidlist[i]);
} else {
console.log("getAppSetFlag Fail”);
}
});
AuthKey가 설정된 앱 리스트를 조회한다. ktadmin 권한을 가진 appid만 호출 가능하다.
-
function delAuthKey(options,callback)
-
options는 다음과 같다.
- options.appid : String, Mandatory로 조회하고자 하는 appId이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
extra는 null이다.
-
사용 예
//callback 방식
var options={};
options.appid=”X0000000”;
gigagenie.admin.delAuthKey(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("delAuthKey Success”);
} else {
console.log("delAuthKey Fail”);
}
});
AuthKey가 설정된 앱 리스트를 조회한다. ktadmin 권한을 가진 appid만 호출 가능하다.
-
function delAppData(options,callback)
-
options는 다음과 같다.
- options.appid : String, Mandatory로 조회하고자 하는 appId이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
extra는 null이다.
-
사용 예
//callback 방식
var options={};
options.appid=”X0000000”;
gigagenie.admin.delAppData(options,function(result_cd,result_msg,extra){
if(result_cd===200){
console.log("delAppData Success”);
} else {
console.log("delAppData Fail”);
}
});
특정 앱의 상세 정보(인증, 데이터유무)를 조회한다. ktadmin 권한을 가진 appid만 호출 가능하다.
-
function getDetailInfo(options,callback)
-
options는 다음과 같다.
- options.appid : String, Mandatory로 조회하고자 하는 appId이다.
-
result_cd 는 다음과 같이 정의된다.
- 200: 성공
- 500: 시스템 Error
-
result_cd가 200일 경우 다음의 extra값이 전달된다.
- extra.authkeyflag : boolean 으로 AuthKey가 설정되어 있으면 true, 아니면 false 이다.
- extra.dataflag : boolean 으로 해당 appId로 데이터가 저장되어 있으면 true, 그렇지 않으면 false 이다.
-
사용 예
//callback 방식
var options={};
options.appid=’X0000000’;
gigagenie.admin.getAppSetFlag(null,function(result_cd,result_msg,extra){
if(result_cd===200){
if(extra.authkeyflag) console.log("AuthKey exists”);
if(extra.authkeyflag) console.log("App Data exist”);
} else {
console.log("getAppSetFlag Fail”);
}
});