XPush

개요

X-PUSH 서버에서 전달되는 메시지를 받을 수 있는 클라이언트 컴포넌트입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




- X-PUSH 서버와 연결을 맺고 인증을 통과한 후 자신이 받을 Topic 을 메시지 타입과 메시지 키를 사용하여 등록하면 X-PUSH 서버로부터 공급되는 메시지 수신할 수 있습니다.

- 메시지 타입은 메시지의 종류나 그룹에 해당하고 메시지 키는 각 메시지를 구분하기 위한 인덱스의 역할을 합니다.

- WRE 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.
- 모바일 NRE, WRE에서 실행 시 앱(또는 브라우저)이 background로 내려가거나 foreground로 올라올때 connect, disconnect, subscribe 등의 동작을 자동으로 처리하지 않으며 onsuccess, onerror 이벤트도 발생하지 않습니다.

속성

controlretry

X-PUSH 서버에 Topic 등록/삭제 시 에러가 발생하면 재시도 할 횟수를 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

nRetry

에러 발생 시 재시도 할 횟수를 숫자로 설정합니다.

참고

- controlretry 속성값을 설정하지 않으면 5 로 적용됩니다.

- subscribe(), unsubscribe() 메소드 수행중 또는 서버 연결 후 인증중에 Head 데이터가 잘못된 경우 재시도합니다.


◆ web runtime environment 제약

- web runtime environment 는 지원하지 않는 속성입니다.

debug

넥사크로 스튜디오의 output 윈도우에 디버그용 XPush 메시지를 보여줄지 여부를 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☐ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☐ Android

☐ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

bDebug ::= 'true' | 'false'

true

넥사크로 스튜디오의 output 윈도우에 디버그용 XPush 메시지를 표시합니다.

false

넥사크로 스튜디오의 output 윈도우에 디버그용 XPush 메시지를 표시하지 않습니다.

참고

- debug 속성값을 설정하지 않으면 false 로 적용됩니다.

- Windows NRE 만 지원하는 속성입니다.

errorcode

에러가 발생한 경우 에러코드를 갖는 읽기전용 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☑ Hidden

☑ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

참고

- X-PUSH 서버와 연결 실패 시 발생할 수 있는 에러코드입니다.
  > 300 : 서버와 접속에 실패했을 때 반환합니다.
  > 301 : 패킷 전송 (send / recv) 오류가 발생하면 반환합니다.
  > 202 : Data 전송 채널 인증 (authentication)에 오류가 발생하면 반환합니다.
  > 201 : iplist 속성에 설정된 Push 서버에 접속을 모두 실패했을 때 반환합니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

errormsg

에러가 발생한 경우 에러 메시지를 갖는 읽기전용 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☑ Hidden

☑ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

참고

◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

iplist

연결할 X-PUSH 서버의 IP 와 Port 를 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

strIplist ::= [strScheme]strIPaddress:nPort [, [strScheme]strIPaddress:nPort]*

strScheme ::= "tcp://" | "http://"
this.XPush00.iplist = "192.168.0.1:1004";
this.XPush00.iplist = "192.168.0.1:1004,127.0.0.1:1004";

strScheme

"tcp://" 설정 시 TCP 통신을 사용하여 메시지를 전달받습니다.

"http://" 설정 시 HTTP 통신을 사용하여 메시지를 전달받습니다.


웹브라우저 환경에서는 HTTP 통신을 사용하여야 합니다.

값을 설정하지 않으면 "tcp://" 으로 적용됩니다.

strIPaddress

연결할 X-PUSH 서버의 IP Address 를 설정합니다.

nPort

연결할 X-PUSH 서버의 Port 를 설정합니다.

참고

- 하나 이상의 X-PUSH 서버를 콤마(",")로 구분하여 설정할 수 있습니다.

- connect() 메소드 실행 시 설정된 서버 중 무작위로 선택하여 연결을 시도합니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

keepalivetime

X-PUSH 서버와 연결을 유지하기 위한 메시지를 보낼 주기를 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

nKeepAliveTime

X-PUSH 서버와 연결유지를 위한 메시지를 보내는 주기를 초(Second) 단위의 숫자로 설정합니다.

참고

- keepalivetime 속성값을 설정하지 않으면 30 으로 적용됩니다.

- X-PUSH 서버에 연결된 클라이언트는 서로 연결되어 있는 상태를 확인하기 위해 주기적으로 메시지를 보냅니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

keeptimeout

X-PUSH 서버와 연결유지를 위해 보낸 메시지의 응답을 기다리는 시간을 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

nTimeOut

X-PUSH 서버와 연결유지를 위해 보낸 메시지의 응답을 기다리는 시간을 초(Second) 단위의 숫자로 설정합니다.


"1" 이상의 정수값을 설정할 수 있습니다.

X-PUSH 서버에 설정된 응답시간보다 크거나 같게 설정하여야 합니다.

참고

- keeptimeout 속성값을 설정하지 않으면 60 으로 적용됩니다.


◆ web runtime environment 제약

- web runtime environment 는 지원하지 않는 속성입니다.

layouturl

Message Layout 정의 파일의 위치를 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

urlLayoutURL ::= <strAlias> | <absolute-Url> | <relative-Url>

<strAlias>

Message Layout 파일의 위치를 Alias 를 사용하여 설정합니다.

<absolute-Url>

Message Layout 파일의 위치를 "file://절대경로", "http://경로/파일명", "https://경로/파일명" 형태의 절대경로로 설정합니다.

<relative-Url>

TypeDefinition 의 Services 영역에 정의된 Prefix 를 사용한 형식으로 설정합니다.


Form 의 위치를 기준으로 한 상대경로를 사용하여 설정합니다.

참고

- layouturl 속성을 설정하지 않으면 정상적인 메시지 수신이 불가능하므로 반드시 설정해야 하는 속성입니다.

- Message Layout 정의 파일의 첫줄은 Header 정보로 XML 선언문을 설정합니다.

- Message Layout 정의 파일은 <message_layout> Element 하위에 <message> Element 로 정의됩니다.
  <message> Element 는 "type" Attribute 를 가지며 반드시 4 자리 영문자로 메시지 타입을 정의하여야 합니다.

- 하나의 메시지를 의미하는 <message> Element 는 하위에 <field> Element 를 갖습니다.
  <field> Element 는 메시지에 정의된 Field 값이며 가질 수 있는 Attribute 는 아래 표와 같습니다.




◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

attribute

Description

id

필드명을 설정합니다.

type

필드의 타입을 설정합니다."string", "int", "float", "bigdecimal", "date", "time", "datetime" 을 설정할 수 있습니다.

size

필드의 데이터 크기를 설정합니다.

key

현재 필드가 키가 되는 여부를 설정합니다.정의하지 않으면 "false" 로 적용됩니다.하나 이상의 필드가 키로 설정될 수 있습니다.

check

Push 서버로 부터 받은 메시지를 DataSet 에 저장할 지 결정하는 필드인지 설정합니다.정의하지 않으면 "false" 로 적용됩니다.

name

XPush 의 이름을 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☑ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법

XPush.name[= strName]

문법 설정

strName

컴포넌트의 이름을 설정합니다.

참고

- name 속성은 사용자가 지정한 컴포넌트의 이름으로 논리적으로 중복이 가능합니다.

- 넥사크로 스튜디오에서 컴포넌트를 생성하거나 id 값을 설정하면 name 속성에 동일한 값이 설정됩니다.

projectid

X-PUSH 서버와 통신할 때 사용할 Project ID 를 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법

XPush.projectid[= enumChanneltype]

문법 설정

this.XPush00.projectid = "Project00";

strID

X-PUSH 서버와 통신할 때 사용할 Project ID 를 문자열로 설정합니다.

참고

- projectid 속성값을 설정하지 않으면 빈문자열("')로 적용됩니다.

- Project ID 로 구분하여 메시지를 수신하여야 할 때 사용하는 속성입니다.

- projectid 속성은 X-PUSH 서버의 버전이 v2.8 이상일때만 적용됩니다.

protocolversion

X-PUSH 서버와 통신 시 사용할 Protocol 의 버전을 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법

XPush.protocolversion[= strProtocolVersion]

문법 설정

this.XPush00.protocolversion = 3;

nVer

X-Push 서버와 통신 시 사용할 Protocol 의 버전을 숫자로 설정합니다.


2 설정 시 v2.8 미만 버전의 X-PUSH 서버 기능을 사용 할 수 있습니다.

3 설정 시 v2.8 이상 버전의 X-PUSH 서버 기능을 사용 할 수 있습니다.


  • X-PUSH 서버의 버전이 V2.8 미만일 경우 2 만 설정할 수 있습니다.

참고

- protocolversion 속성값을 설정하지 않으면 2 로 적용됩니다.

- X-PUSH v2.8 이상에서 제공하는 신규기능을 사용하려면 protocolversion 속성값을 3 으로 설정하여야 합니다.
   > User 별로 Project ID 로 구분된 메시지를 전송할 수 있습니다.
   > Mobile 에서 동일 디바이스의 서로 다른 App 에 Notification 을 구분하여 전송할 수 있습니다.

retry

X-PUSH 서버에 연결을 시도할 때 에러가 발생하면 재시도 할 횟수를 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

this.XPush00.retry = 2;

nRetry

에러 발생 시 재시도할 횟수를 숫자로 설정합니다.


"0" 설정 시 재시도 없이 연결을 종료합니다.

참고

- retry 속성값을 설정하지 않으면 1 로 적용됩니다.


◆ web runtime environment 제약

- web runtime environment 는 지원하지 않는 속성입니다.

sessionid

X-PUSH 서버 연결 시 사용할 Session ID를 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

strSessionID

X-PUSH 서버 연결 시 사용할 Session ID 를 문자열로 설정합니다.

참고

- connect() 메소드에서 파라미터 생략 시 sessionid 속성값을 사용합니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

timeout

X-PUSH 서버와 연결을 위해 보낸 메시지의 응답을 기다리는 시간을 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

this.XPush00.timeout = 60;

nTimeOut

X-PUSH 서버와 연결을 위해 보낸 메시지의 응답을 기다리는 시간을 초(Second) 단위의 숫자로 설정합니다.


"1" 이상의 정수값을 설정할 수 있습니다.

X-PUSH 서버에 설정된 응답시간보다 크거나 같게 설정하여야 합니다.

참고

- timeout 속성값을 설정하지 않으면 30 으로 적용됩니다.


◆ web runtime environment 제약

- web runtime environment 는 지원하지 않는 속성입니다.

userid

X-PUSH 서버 연결 시 사용할 User ID를 설정하는 속성입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




속성 타입

☐ Enum

☐ Expr

☐ Control

☐ Hidden

☐ ReadOnly

☐ Bind

☐ Collection

☐ StringResource

문법 설정

strUserID

X-PUSH 서버 연결 시 사용할 User ID 를 문자열로 설정합니다.

참고

- connect() 메소드에서 파라미터 생략 시 userid 속성값을 사용합니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

메서드

connect

X-PUSH 서버와 연결을 수행하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.connect( [strUserID [,strSessionID]] )

파라미터

Parameters

Type

Description

strUserID

String

X-PUSH 서버에 연결 시 인증을 위한 User ID를 설정합니다.


값 생략 시 userid 속성값이 적용됩니다.

strSessionID

String

X-PUSH 서버에 연결 시 인증을 위한 Session ID 를 설정합니다.


값 생략 시 sessionid 속성값이 적용됩니다.

this.XPush00.userid = "user00";    
this.XPush00.sessionid = "session00";

this.XPush00.connect();
this.XPush00.connect("user00");
this.XPush00.connect("user00", "session00");

참고

- connect() 메소드는 iplist 속성에 설정된 서버를 무작위로 선택해서 접속을 시도합니다.  

- X-PUSH 서버 연결에 성공하면 onsuccess 이벤트가 실행됩니다.
   iplist 속성에 설정된 모든 Push 서버와 연결을 실패하면 onerror 이벤트가 실행됩니다.

- 네트워크에 연결되지 않은 경우는 timeout 속성값만큼 기다리지 않고 곧바로 onerror 이벤트가 발생합니다.

- protocolversion 속성값이 3 인 경우 서버와 연결 시 projectid 속성값이 자동으로 사용됩니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

disconnect

X-PUSH 서버의 연결을 해제하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.disconnect()

파라미터

this.XPush00.disconnect();

참고

- X-PUSH 서버의 연결해제에 성공하면 onsuccess 이벤트가 실행됩니다.
   X-PUSH 서버의 연결해제에 실패하면 onerror 이벤트가 실행됩니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

getCurrentIP

현재 접속중인 X-PUSH 서버의 IP값을 반환하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.getCurrentIP()

파라미터

var strIPAddress = this.XPush00.getCurrentIP();

반환

Type

Description

String

현재 접속중인 X-PUSH 서버의 IP값을 반환합니다.

참고

- 접속이 끊어진 경우에도 접속했던 X-PUSH 서버의 IP값을 반환합니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

getCurrentPort

현재 접속중인 X-PUSH 서버의 Port 값을 반환하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.getCurrentPort()

파라미터

var nPort = this.XPush00.getCurrentPort();

반환

Type

Description

Number

현재 접속중인 X-PUSH 서버의 Port 값을 반환합니다.

참고

- 접속이 끊어진 경우에도 접속했던 X-PUSH 서버의 Port 값을 반환합니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

getRegisteredTopics

신뢰성 메시지를 수신하기 위해 X-PUSH 서버에 등록한 Topic 정보를 요청하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.getRegisteredTopics()

참고

- 대상 Topic은 데이터베이스에 저장된 Topic 정보만 해당합니다
  (메모리에 저장된 정보는 해당되지 않음).

- Topic 정보 조회 성공 시 onsuccess 이벤트가 발생합니다.
  XPushEventInfo 오브젝트의 action 속성값은 11이며 
  returnvalue 속성값에서 아래와 같은 형태로  값을 확인할 수 있습니다.
{
  "topic_A" : ["id_a", "id_b", id_c"],
  "topic_B" : ["id_a"],
  "topic_C" : ["id_a", "id_b"]
};

- Topic 정보 조회 실패 시 onerror 이벤트가 발생합니다.

getRegisteredTopicsWithUserID

신뢰성 메시지가 특정 사용자에게 수신될 수 있도록 X-PUSH 서버에 등록한 Topic 정보를 요청하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.getRegisteredTopicsWithUserID(strUserID [, strProjectID] )

파라미터

Parameters

Type

Description

strUserID

String

신뢰성 메시지를 수신할 사용자의 ID를 문자열로 설정합니다.

strProjectID

String

신뢰성 메시지를 수신할 프로젝트의 ID를 문자열로 설정합니다.

값 생략 시 projectid 속성값이 적용됩니다.


  • protocolversion 속성값이 3 인 경우만 적용됩니다.

참고

- 대상 Topic은 데이터베이스에 저장된 Topic 정보만 해당합니다
  (메모리에 저장된 정보는 해당되지 않음).

- Topic 정보 조회 성공 시 onsuccess 이벤트가 발생합니다.
  XPushEventInfo 오브젝트의 action 속성값은 11이며 
  returnvalue 속성값에서 아래와 같은 형태로  값을 확인할 수 있습니다.
{
  "topic_A" : ["id_a", "id_b", id_c"],
  "topic_B" : ["id_a"],
  "topic_C" : ["id_a", "id_b"]
};

- Topic 정보 조회 실패 시 onerror 이벤트가 발생합니다.

registerDevice

모바일에서 Notification 을 받기 위해 DeviceToken 값을 X-PUSH 서버에 등록하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☐ Windows

☐ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




문법

XPush.registerDevice()

파라미터

this.XPush00.registerDevice()

참고

- 모바일 환경만 지원하는 기능입니다.

registerTopic

신뢰성 메시지를 수신하기 위해 X-PUSH 서버에 Topic 을 등록하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

this.XPush00.registerTopic(strMessageType, strMessgageKey);

파라미터

Parameters

Type

Description

strMessageType

String

Message Layout 파일에 정의된 메시지 타입 중 수신 받을 메시지 타입을 설정합니다.

strMessgageKey

String

수신 받을 메세지의 Key 값을 설정합니다.

this.XPush00.registerTopic("CPDT", "command01");

참고

- 신뢰성 메시지 Topic 등록에 성공하면 onsuccess 이벤트가 실행됩니다.
  신뢰성 메시지 Topic 등록에 실패하면 onerror 이벤트가 실행됩니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

registerTopicWithUserID

신뢰성 메시지가 특정 사용자에게 수신될 수 있도록 X-PUSH 서버에 Topic 을 등록하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

this.XPush00.registerTopicWithUserID( strMessageType, strMessgageKey, strUserID [, strProjectID] );

파라미터

Parameters

Type

Description

strMessageType

String

Message Layout 파일에 정의된 메시지 타입 중 수신 받을 메시지 타입을 문자열로 설정합니다.

strMessgageKey

String

수신 받을 메시지의 Key 값을 문자열로 설정합니다.

strUserID

String

신뢰성 메시지를 수신할 사용자의 ID 를 문자열로 설정합니다.

strProjectID

String

신뢰성 메시지를 수신할 프로젝트의 ID 를 문자열로 설정합니다.


값 생략 시 projectid 속성값이 적용됩니다.


  • protocolversion 속성값이 3 인 경우만 적용됩니다.

this.XPush00.registerTopicWithUserID( "CPDT", "command01", "userID" );
this.XPush00.registerTopicWithUserID( "CPDT", "command01", "userID", "Project00" );

참고

- 신뢰성 메시지 Topic 등록에 성공하면 onsuccess 이벤트가 실행됩니다.
   신뢰성 메시지 Topic 등록에 실패하면 onerror 이벤트가 실행됩니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

requestMessage

X-PUSH 서버에서 미수신한 신뢰성 메시지를 요청하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

requestMessage ( strMsgType, strMsgKeys );

파라미터

Parameters

Type

Description

strMsgType

String

Message Layout 파일에 정의된 메시지 타입 중 수신 받을 메시지 타입을 설정합니다.

strMsgKeys

String

수신 받을 메세지의 Key 값을 설정합니다.


수신 받을 메세지가 여러개일 경우 콤마(",")로 구분하여 여러개의 Key 값을 설정할 수 있습니다.

참고

- 미수신 메시지 요청에 성공하면 onsuccess 이벤트가 발생합니다.
   미수신 메시지 요청에 실패하면 onerror 이벤트가 발생합니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

requestMessageCount

X-PUSH 서버에서 미수신한 신뢰성 메시지의 갯수를 요청하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.requestMessageCount(strMessageType, strMessgageKey)

파라미터

Parameters

Type

Description

strMessageType

String

Message Layout 파일에 정의된 메시지 타입 중 갯수를 수신 받을 메시지의 타입을 설정합니다.

strMessgageKey

String

미수신된 신뢰성 메세지의 Key 값을 설정합니다.

this.XPush00.requestMessageCount("CPDT", "command01")

참고

- 미수신 메시지 갯수 요청에 성공하면 onsuccess 이벤트가 발생합니다.
   미수신 메시지 갯수 요청에 실패하면 onerror 이벤트가 발생합니다.

- 미수신 메시지 갯수는 onsuccess 이벤트에서 "e" 오브젝트(XPushEventInfo)의 returnvalue 속성값으로 전달됩니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

requestMessageCountWithUserID

특정 사용자가 미수신한 신뢰성 메시지의 갯수를 X-PUSH 서버에 요청하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.requestMessageCountWithUserID( strMessageType, strMessgageKey, strUserID [, strProjectID] )

파라미터

Parameters

Type

Description

strMessageType

String

Message Layout 파일에 정의된 메시지 타입 중 갯수를 수신 받을 메시지의 타입을 문자열로 설정합니다.

strMessgageKey

String

미수신한 신뢰성 메시지의 Key 값을 문자열로 설정합니다.

strUserID

String

미수신한 신뢰성 메시지의 갯수를 확인할 사용자의 ID 를 문자열로 설정합니다.

strProjectID

String

미수신한 신뢰성 메시지의 갯수를 확인할 프로젝트의 ID 를 문자열로 설정합니다.


값 생략 시 projectid 속성값이 적용됩니다.


  • protocolversion 속성값이 3 인 경우만 적용됩니다.

this.XPush00.requestMessageCountWithUserID( "CPDT", "command01", "userID" );
this.XPush00.requestMessageCountWithUserID( "CPDT", "command01", "userID", "Project00" );

참고

- 미수신 메시지 갯수 요청에 성공하면 onsuccess 이벤트가 발생합니다.
   미수신 메시지 갯수 요청에 실패하면 onerror 이벤트가 발생합니다.

- 미수신 메시지 갯수는 onsuccess 이벤트에서 e 오브젝트(XPushEventInfo)의 returnvalue 속성값으로 전달됩니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

sendResponse

X-PUSH 서버에서 수신한 신뢰성 메시지에 대한 수신응답을 보내는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.sendResponse(strmsgid)

파라미터

Parameters

Type

Description

strmsgid

String

수신된 신뢰성 메시지의 ID를 설정합니다.


메시지 수신 시 발생하는 CallBack 함수에 "msgid" 파라미터의 값으로 ID가 전달됩니다.

참고

- 메시지 수신응답에 성공하면 onsuccess 이벤트가 발생합니다.
   메시지 수신응답에 실패하면 onerror 이벤트가 발생합니다.

- 메시지 수신응답에 실패한 경우 requestMessage() 메소드 수행 시 해당 메시지가 존재합니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

subscribe

메시지를 받기 위해 연결된 X-PUSH 서버에 Topic 을 등록하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.subscribe(strMsgType, strMsgKey, objForm, objDataset, strType, strCallBack[, nRow[, strCheck[, bUseActiveFormCallBack]]])

파라미터

Parameters

Type

Description

strMsgType

String

Message Layout 파일에 정의된 메시지 타입 중 수신 받을 메시지 타입을 설정합니다.

strMsgKey

String

수신 받을 메세지의 Key 값을 설정합니다.

objForm

Object

메시지를 수신 받을 Form 의 오브젝트를 설정합니다.

objDataset

Object

수신 받은 메시지를 저장할 DataSet 의 오브젝트를 설정합니다.

strType

String

수신 된 메시지를 DataSet 에 저장하는 방법을 설정합니다.


"append" 설정 시 DataSet 의 마지막 Row 로 수신된 메시지를 추가합니다.


"insert" 설정 시 nRow 파라미터로 설정한 위치에 수신된 메시지를 추가합니다.

nRow 파라미터를 설정하지 않으면 0 으로 적용됩니다.


"replace" 설정 시 첫번째 Row 가 수신된 메시지로 대체됩니다.

Row 가 없을 경우 메시지가 DataSet 에 추가되지 않습니다.


"update" 설정 시 DataSet 의 Row 중 Key 값이 동일한 첫번째 Row 에 수신된 메시지를 업데이트 합니다.

업데이트할 Row가 없다면 콜백함수는 호출되지 않습니다.


"allUpdate" 설정 시 DataSet 의 Row 중 Key 값이 동일한 모든 Row 에 수신된 메시지를 업데이트 합니다.


"updateorappend" 설정 시 "update" 설정과 동일하게 동작하지만 Key 값이 동일한 Row 가 없을 경우 "append" 로 동작합니다.


  • Key 값이 동일한 Row 는 아래 순서로 찾습니다.

a) Message Layout 파일에서 "key" 속성값이 "true" 로 설정된 필드(Field)의 이름을 확인

b) a) 에서 확인한 필드(Field) 이름과 동일한 이름의 Column 을 확인

c) b) 에서 확인한 Column 에서 메시지에 포함된 Key 값과 동일값을 갖는 Row 를 확인

strCallBack

String

수신된 메시지를 DataSet 에 저장 후 호출할 CallBack 함수명을 문자열로 설정합니다.


CallBack 함수는 CallBackName ( ChangeRow, ChangeCol, ColList, strMsgType, strActionType, strMsgID ) 형태로 정의하며 strType 파라미터와 조건에 따라 파라미터의 의미가 다르므로 하단 리마크를 참조하시기 바랍니다.

nRow

Number

strType 값이 "insert" 일 경우 DataSet 에 삽입할 Row 의 인덱스를 설정합니다.


값 생략 시 0 으로 적용됩니다.

strCheck

String

"0" 설정 시 DataSet 에 메시지를 무조건 반영합니다.

strCheck 에 설정한 값이 Message Layout 파일에 "check" 속성값이 "true" 로 설정된 필드(Field)값과 일치할 경우만 DataSet 에 메시지를 반영합니다.


값 생략 시 "0" 으로 적용됩니다.

bUseActiveFormCallBack

Boolean

true 설정 시 활성화된 Form 에서만 CallBack 함수를 호출합니다.

false 설정 시 활성화 되지 않은 Form 에서도 CallBack 함수를 호출합니다.


값 생략 시 false 로 적용됩니다.

this.XPush00.subscribe("CPDT", "command01", this, this.Dataset00, "append", "funcCallback");

참고

- subscribe() 메소드 실행 전 X-PUSH 서버에 연결되어 있어야 합니다.

- CallBack 함수는 CallBackName ( ChangeRow, ChangeCol, ColList, strMsgType, strActionType, strMsgID ) 형태로 구성되며 각 파라미터는 아래 조건에 따라 다른 의미를 갖습니다.

   a) strType 파라미터값이 "allUpdate" 값이고 데이터를 받았을 경우
       > ChangeRow : 변경된 Row 들의 인덱스가 "," 로 구분되어 설정됩니다.
       > ChangeCol : Null 값이 설정됩니다.
       > ColList : 변경된 Row 와 Column 의 ID 가 배열로 설정됩니다.
                      하나의 원소에는 변경된 Row 의 인덱스와 변경된 Column 의 ID 가 "," 로 구분되어 설정됩니다.
       > strMsgType : "DATA" 값이 설정됩니다.

   b) strType 파라미터값이 "allUpdate" 이 외의 값이고 데이터를 받았을 경우
       > ChangeRow : 변경된 Row 의 인덱스가 설정됩니다.
       > ChangeCol : 변경된 Column ID 가 "," 로 구분되어 설정됩니다.
       > ColList : 모든 Column ID 가 "," 로 구분되어 설정됩니다.
       > strMsgType : "DATA" 값이 설정됩니다.

   c) Recovery 메시지를 받았을 경우
       > ChangeRow : -1 값이 설정됩니다.
       > ChangeCol : 빈 문자열이 설정됩니다.
       > ColList : 빈 문자열이 설정됩니다.
       > strMsgType : "RECOVERY" 값이 설정됩니다.
  
   d) 공통값을 갖는 파라미터
       > strActionType : 일반 메시지를 수신했을 경우 "PUSH" 값이 설정됩니다.
                               신뢰성 메시지를 수신했을 경우 "RECT" 값이 설정됩니다.
       > strMsgID : 메시지를 구분할 수 있는 값이 설정됩니다.
                        sendResponse() 메소드에서 파라미터값으로 사용됩니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

unregisterDevice

모바일에서 Notification 을 받기 위해 X-PUSH 서버에 등록한 DeviceToken 값을 삭제하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☐ Windows

☐ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




문법

XPush.unregisterDevice()

파라미터

this.XPush00.unregisterDevice()

참고

- 모바일 환경만 지원하는 기능입니다.

unregisterTopic

신뢰성 메시지를 수신하기 위해 X-PUSH 서버에 등록한 Topic 을 삭제하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.unregisterTopic(strMessageType, strMessgageKey)

파라미터

Parameters

Type

Description

strMessageType

String

Message Layout 파일에 정의된 메시지 타입 중 수신을 중지할 메시지 타입을 설정합니다.

strMessgageKey

String

수신을 중지할 메세지의 Key 값을 설정합니다.

this.XPush00.unregisterTopic("CPDT", "command01");

참고

◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

unregisterTopicWithUserID

특정 사용자에게 수신되는 신뢰성 메시지의 Topic 을 X-PUSH 서버에서 삭제하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.unregisterTopicWithUserID( strMessageType, strMessgageKey, strUserID [, strProjectID] )

파라미터

Parameters

Type

Description

strMessageType

String

Message Layout 파일에 정의된 메시지 타입 중 수신을 중지할 메시지 타입을 문자열로 설정합니다.

strMessgageKey

String

수신을 중지할 메시지의 Key 값을 문자열로 설정합니다.

strUserID

String

신뢰성 메시지의 수신을 중지할 사용자의 ID 를 문자열로 설정합니다.

strProjectID

String

신뢰성 메시지의 수신을 중지할 프로젝트의 ID 를 문자열로 설정합니다.


값 생략 시 projectid 속성값이 적용됩니다.


  • protocolversion 속성값이 3 인 경우만 적용됩니다.

this.XPush00.unregisterTopicWithUserID( "CPDT", "command01", "userID" );
this.XPush00.unregisterTopicWithUserID( "CPDT", "command01", "userID", "Project00" );

참고

◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

unsubscribe

메시지를 받기 위해 X-PUSH 서버에 등록한 Topic 을 삭제하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

XPush.unsubscribe(strMsgType, strMsgKey, objForm, objDataset, strType, strCallBack)

파라미터

Parameters

Type

Description

strMessageType

String

Message Layout 파일에 정의된 메시지 타입 중 수신을 중지할 Topic 의 메시지 타입을 설정합니다.

strMessgageKey

String

수신을 중지할 Topic 의 Key 값을 설정합니다.

objForm

Object

Topic 등록 시 설정한 Form 오브젝트를 설정합니다.

objDataset

Object

Topic 등록 시 설정한 DataSet 오브젝트를 설정합니다.

strType

String

Topic 등록 시 설정한 메시지 저장 방법을 설정합니다.

strCallBack

String

Topic 등록 시 설정한 CallBack 함수명을 설정합니다.

this.XPush00.unsubscribe("CPDT", "command01", this, this.Dataset00, "append", "funcCallback");

참고

◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

이벤트

onerror

XPush 에서 요청된 작업이 실패했을 때 발생하는 이벤트입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

onerror(obj:nexacro.XPush,e:nexacro.XPushErrorEventInfo);

파라미터

Parameters

Type

Description

obj

XPush

Event가 발생한 Object.

e

XPushErrorEventInfo

Event Object.

참고

◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

onkeepalive

X-PUSH 서버에서 통신유지를 위해 메시지를 받았을 때 발생하는 이벤트입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

onkeepalive(obj:nexacro.XPush,e:nexacro.XPushKeepAliveEventInfo);

파라미터

Parameters

Type

Description

obj

XPush

Event가 발생한 Object.

e

XPushKeepAliveEventInfo

Event Object.

참고

- XPush 클라이언트는 서버와 통신유지를 위해 keepalivetime 속성에 설정된 시간 간격으로 메시지를 주고 받습니다.


◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.

onsuccess

XPush 에서 요청된 작업이 성공했을 때 발생하는 이벤트입니다.

지원 환경

Desktop NRE

Desktop WRE

☑ Windows

☑ macOS

☑ Edge

☑ Chrome

☑ Safari

☑ Firefox

☑ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☑ Android

☑ iOS/iPadOS




문법

onsuccess(obj:nexacro.XPush,e:nexacro.XPushEventInfo);

파라미터

Parameters

Type

Description

obj

XPush

Event가 발생한 Object.

e

XPushEventInfo

Event Object.

참고

◆ web runtime environment 제약

- web runtime environment 에서 XPush 기능을 사용하려면 X-PUSH 서버의 버전이 v2.6 이상이어야 합니다.