05. HONE Javascript Event


HONE Javascript는 초기화 완료 여부, Locale 변경 여부 및 라이프 사이클 관련하여 HONE Javascript Event를 발생시키며 업무 BizApp 개발자는 해당 Event에 따라 동작할 업무를 핸들러에 등록하여 구현이 가능하다.


honeReady Event

HONE Smart Platform의 Client 초기화 및 API 로딩이 완료되었을 때 전달되는 Event이며 해당 Event가 수신된 이후부터 HONE Javascript API 의 사용이 가능하다.

해당 Event의 핸들러 예시는 다음과 같다

Picture 11. honeReady 핸들러 예시

// Client 초기화 및 API 로딩 완료
document.addEventListener('honeReady', function(e) {
    console.log('Received honeReady event');
});

honeSystemLocaleChanged Event

사용자의 단말기의 사용 언어가 변경되었을 때 전달되는 Event이며 해당 Event가 수신되면 업무용 BizApp에서 변경된 언어로 변경하기 위한 이벤트로 사용된다.

(주의) iOS에서는 사용 언어 변경 시 OS가 재 시작하는 관계로 iOS Client에서는 해당 Event를 발생시키지 않는다.

해당 Event의 핸들러 예시는 다음과 같다.

Picture 12. honeSystemLocaleChanged 핸들러 예시

// 앱의 Locale이 변경되었을 때
document.addEventListener('honeSystemLocaleChanged', function(event) {
     console.log("received honeSystemLocaleChanged Event : ", JSON.stringify(event.detail))
});

event.detail로 전달되는 값은 {$language}-{$country} 형태로 전달된다. 

Result

"ko-KR"

honeResume Event

HONE Smart Platform의 Client가 Background에서 Foreground로 활성화 되었을 때 전달되는 Event이다.

해당 Event의 핸들러 예시는 다음과 같다.

Picture 13. honeResume 핸들러 예시

// 앱이 foreground로 전환 시
document.addEventListener('honeResume', function(e) {
    console.log('Received honeResume event');
});

honePause Event

HONE Smart Platform의 Client가 Foreground에서 Background로 비활성화 되었을 때 전달되는 Event이다.

해당 Event의 핸들러 예시는 다음과 같다.

Picture 14. honePause 핸들러 예시

// 앱이 background로 전환 시
document.addEventListener('honePause', function(e) {
    console.log('Received honePause event');
});

honeMessageReceived Event

JavaScript sendMessage API를 이용해서Map형태의 메세지를  전달 시 윈도우에서 전달 된 메세지를  받기 위한 Event이다.

해당 Event의 핸들러 예시는 다음과 같다.

Picture 15. honeMessageReceived 핸들러 등록 예시

// 윈도우에서 메시지를 전달받기 원할 경우
document.addEventListener('honeMessageReceived', function(event) {
    console.log('received honeMessageReceived Event : ', JSON.stringify(event.detail));
});