ExternalAPI

개요

외부 앱에 정의된 API 모듈을 연동할 수 있는 오브젝트입니다.

지원 환경

Desktop NRE

Desktop WRE

☐ Windows

☐ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




- 외부 앱에는 넥사크로와 연동할 수 있는 코드가 정의되어 있어야 합니다.
   연동 코드가 정의되지 않은 앱과는 연동할 수 없습니다.

- 넥사크로의 요청을 처리하는 연동 코드는 안드로이드 스튜디오 또는 XCode 로 별도 정의하여야 합니다.

속성

id

ExternalAPI의 고유 식별자를 설정하는 속성입니다.

지원 환경

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

문법

ExternalAPI.id

문법 설정

id

ExternalAPI를 구별할 수 있는 유일값을 갖습니다.

참고

-  addChild나 insertChild 메소드를 사용하여 컴포넌트를 등록할때 parent 가 자식컴포넌트를 구별하기 위한 고유한 key값입니다.

- 속성명이나 메소드명과 같은 예약어를 id 속성값으로 설정할 경우 오류가 발생할 수 있습니다.

- 컴포넌트의 속성은 아니지만 편의를 위하여 넥사크로 스튜디오에서 설정할 수 있는 기능이 제공됩니다.

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

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

name

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

지원 환경

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

문법

ExternalAPI.name[= strName]

문법 설정

strName

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

참고

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

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

parent

ExternalAPI 의 부모 오브젝트를 갖는 읽기전용 속성입니다.

지원 환경

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

문법

ExternalAPI.parent

문법 설정

var objParent = this.ExternalAPI00.parent;

참고

- parent 속성은 일반적으로 컴포넌트가 속한 Form을 갖습니다.

- ExternalAPI 이(가) Div 와 같은 컨테이너 컴포넌트에 자식으로 존재한다면 parent 속성은 해당 컨테이너 컴포넌트를 갖습니다.

- Calendar 와 같이 서브컨트롤이 존재하는 컴포넌트에서 서브컨트롤의 parent 속성은 해당 컴포넌트를 갖습니다.

메서드

execExtAPI

특정 외부 앱에 정의된 API 모듈을 실행하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☐ Windows

☐ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




문법

ExternalAPI.execExtAPI( strRecvID, strAppID, strAPI [, strParams] )

파라미터

Parameters

Type

Description

strRecvID

String

실행한 메소드를 구분하기 위한 ID 를 문자열로 설정합니다.


onsuccess, onrecvdata 이벤트에서 ExternalAPIEventIfo 오브젝트의 recvid 속성에 설정한 값이 전달됩니다.

strAppID

String

실행하려는 API 모듈이 정의된 외부 앱의 ID 를 문자열로 설정합니다.

strAPI

String

실행하려는 API 모듈의 이름을 문자열로 설정합니다.

strParams

String

실행할 API 모듈에 전달할 파라미터를 문자열로 설정합니다.


파라미터가 여러개일 경우 각 파라미터는 공백으로 구분합니다.

파라미터값에 공백이 포함된 경우는 " ' " (홑따옴표) 를 사용하여야 합니다.

this.ExternalAPI00.execExtAPI( "100", "com.nexacro.testmodule", "fn_Chk" );
this.ExternalAPI00.execExtAPI( "200", "TestApp://", "fn_Chk", "aa bb 'cc c' dd" );

반환

Type

Description

Boolean

API 모듈의 실행여부와 관계없이 메소드 실행에 성공하면 true 를 반환합니다.


API 모듈의 실행여부와 관계없이 메소드 실행에 실패하면 false 를 반환합니다.

참고

- 외부 앱에 정의된 API 모듈 실행에 성공하면 onsuccess 이벤트가 발생합니다.
   외부 앱에 정의된 API 모듈 실행에 실패하면 onerror 이벤트가 발생합니다.

isAccessible

특정 외부 앱에 접근이 가능한지 확인하는 메소드입니다.

지원 환경

Desktop NRE

Desktop WRE

☐ Windows

☐ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




문법

ExternalAPI.isAccessible ( strAppID )

파라미터

Parameters

Type

Description

strAppID

String

접근 가능여부를 확인하려는 외부 앱의 ID 를 문자열로 설정합니다.


Android 는 Domain 형태로 설정합니다. ("com.nexacro.testmodule")

iOS 는 URL Scheme 형태로 설정합니다. ("TestApp://")

this.ExternalAPI00.isAccessible ( "com.nexacro.testmodule" );     // Android
this.ExternalAPI00.isAccessible ( "TestApp://" );                                    // iOS

반환

Type

Description

Boolean

외부 앱의 접근 가능여부와 관계없이 메소드 실행에 성공하면 true 를 반환합니다.


외부 앱의 접근 가능여부와 관계없이 메소드 실행에 실패하면 false 를 반환합니다.

참고

- 특정 외부 앱에 접근이 가능하면 onsuccess 이벤트가 발생합니다.
   특정 외부 앱에 접근이 불가능하면 onerror 이벤트가 발생합니다.

이벤트

onerror

ExternalAPI 오브젝트에서 요청한 작업이 실패했을 때 발생하는 이벤트입니다.

지원 환경

Desktop NRE

Desktop WRE

☐ Windows

☐ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




문법

onerror(obj:nexacro.ExternalAPI,e:nexacro.ExternalAPIErrorEventInfo);

파라미터

Parameters

Type

Description

obj

ExternalAPI

Event가 발생한 Object.

e

ExternalAPIErrorEventInfo

Event Object.

onrecvdata

외부 앱에서 데이터(문자열)를 전달받았을 때 발생하는 이벤트입니다.

지원 환경

Desktop NRE

Desktop WRE

☐ Windows

☐ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




문법

onrecvdata(obj:nexacro.ExternalAPI,e:nexacro.ExternalAPIEventInfo);

파라미터

Parameters

Type

Description

obj

ExternalAPI

Event가 발생한 Object.

e

ExternalAPIEventInfo

Event Object.

참고

- ExternalAPI 에서 execExtAPI() 메소드로 외부 앱의 API 모듈을 실행한 결과가 전달되었을 때 발생하는 이벤트입니다.

onsuccess

ExternalAPI 오브젝트에서 요청한 작업이 성공했을 때 발생하는 이벤트입니다.

지원 환경

Desktop NRE

Desktop WRE

☐ Windows

☐ macOS

☐ Edge

☐ Chrome

☐ Safari

☐ Firefox

☐ Opera

Mobile NRE

Mobile WRE

☑ Android

☑ iOS/iPadOS

☐ Android

☐ iOS/iPadOS




문법

onsuccess(obj:nexacro.ExternalAPI,e:nexacro.ExternalAPIEventInfo);

파라미터

Parameters

Type

Description

obj

ExternalAPI

Event가 발생한 Object.

e

ExternalAPIEventInfo

Event Object.