앱박스 연동 가이드에 오신것을 환영합니다.
앱박스 SDK의 브라우저 기능은 누구나 무료로 사용 가능하며, 상업적 이용도 허용됩니다.
웹에 자바스크립트를 추가하고 SDK로 앱을 빌드하면 완성됩니다. 문서는 쉽게 따라할 수 있도록 작성되었습니다.
웹에 자바스크립트를 추가하고 SDK로 앱을 빌드하면 완성됩니다. 문서는 쉽게 따라할 수 있도록 작성되었습니다.

추가 지원이 필요한 경우 문의를 통해 문의주세요.
  • 앱박스의 네이티브 기능은 데모앱을 통해서 바로 시연 해 볼 수 있습니다.

    상단의 무료 데모 체험을 클릭하여 바로 체험하여 보세요.
  • AppBox - SDK v 1.0 출시
    앱박스 SDK를 사용하면 크롬브라우져, 사파리 브라우저와 같은 기본적인 기능을 사용할 수 있으며, 또한 SDK에서 제공되는 Native의 전체 기능을 사용할 수 있습니다.
초기 세팅
1. (필수) 고객님의 웹사이트 페이지 Head에 앱박스 공통 코드 삽입합니다.
고객님의 사이트의 <Head>와 </Head>사이에 아래 코드를 삽입하세요.
고객님의 사이트의 <Head>와 </Head>사이에 아래 코드를 삽입하세요.
Javascript 선언
복사 아이콘
<script src="https://appboxapp.com/app/script/appbox.js"></script>


2. (필수) 웹 페이지에서 리턴을 받을 함수를 선언합니다.
AppBox SDK에 기능을 실행 후 회신받을 데이터가 있는 경우 function returnAppBoxFunction(r) 함수를 고객님의 웹페이지에 선언하여 수신 받을 수 있습니다.
AppBox SDK에 기능을 실행 후 회신받을 데이터가 있는 경우 function returnAppBoxFunction(r) 함수를 고객님의 웹페이지에 선언하여 수신 받을 수 있습니다.
Javascript Function 선언
복사 아이콘

function returnAppBoxFunction(obj)     // 함수 명칭을 동일하게 선언하여야 합니다.
      // 결과 데이터
      const retCode   = obj["retCode"];     // 기능 코드 
      const result    = obj["result"];         // 성공 여부
      const retVal    = obj["retVal"];        // 결과 데이터
      
      switch (retCode) {
         case "1000":
              if (result=="success"){
                 // 성공 했을때 로직 처리 ..
              }else if(result=="fail"){
                 // 실패 했을때 ...
              } ...
           break;
         case "1001":
            ....
      }
}


3. (옵션) 웹에서 실행되고 있는 기존 기능과 AppBox 기능을 분리하여 실행이 필요하다면, 아래와 같이 코드를 분기하여 실행 할 수 있습니다.
웹에게 기존에 실행되는 기능이 있는데, AppBox를 도입함으로서 코드 분기가 필요하다면 아래 예제처럼 isAppBoxSDK() 함수를 호출하여 분기 할 수 있습니다.
웹에게 기존에 실행되는 기능이 있고, AppBox를 도입함으로서 코드 분기가 필요하다면 아래 예제처럼 isAppBoxSDK() 함수를 호출하여 분기 할 수 있습니다.
Javascript
복사 아이콘

if(isAppBoxSDK()){
      // Appbox 기능 실행

}else {
     // 기존에 실행되는 웹페이지의 기능 실행 
}
탭 메뉴
화면 아래에 버튼을 만들어 화면 간 이동을 쉽게 하고, 스크롤에 따라 자동으로 숨길 수 있습니다.
화면 하단에 네이티브 탭 메뉴를 생성하여, 아이콘과 텍스트를 자유롭게 설정할 수 있습니다. 스크롤 동작에 따라 탭 메뉴를 동적으로 숨기거나 표시할 수 있으며, 항상 고정된 네이티브 탭 메뉴의 고정으로 사용자에게 안정감을 줍니다.
화면 하단에 네이티브 탭 메뉴를 생성하여, 아이콘과 텍스트를 자유롭게 설정할 수 있습니다. 스크롤 동작에 따라 탭 메뉴를 동적으로 숨기거나 표시할 수 있으며, 항상 고정된 네이티브 탭 메뉴의 고정으로 사용자에게 안정감을 줍니다.
Javascript
복사 아이콘

var appData = {
        "visible": true,
        "backColor": "#EEFFEE",
        "fontSize": 13,
        "defTextColor": "#DD0000",
        "selTextColor": "#AA0000",
        "autoHidden": true,
        "menu": [                                        
            {
                "text": "{메뉴명}",
                "defIcon": "{메뉴 아이콘 URL}",
                "selIcon": "{선택 메뉴 아이콘 URL}",
                "actionUrl": "{터치시 이동 URL}"
            },
            {
                "text": "헬스케어",
                "defIcon": "https://example.com/default.png",
                "selIcon": "https://example.com/selected.png",
                "actionUrl": "https://example.com"
            },
            {
                "text": "어바웃",
                "defIcon": "https://example.com/default.png",
                "selIcon": "https://example.com/selected.png",
                "actionUrl": "https://example.com"
            }
        ]
};

callAppBox (1020, appData);
항목 필수 여부 설명 기본값 비고
visible 필수 노출여부 (true, false) : false 이면 이후 항목은 모두 비필수
backColor - 백그라운드 칼라 #ffffff
fontSize - 폰트 사이즈 11px
defTextColor - 메뉴 기본 텍스트 칼라 #000000
selTextColor - 선택 되었을때 텍스트 칼라 #999999
autoHidden - 자동숨김 (true, false) : 스크롤 시 자동숨김 true
haptic - 메뉴 터치시 진동 햅틱 (true, false) true
menu text - 메뉴명
defIcon - 메뉴 기본 아이콘 URL
selIcon - 메뉴 선택 아이콘 URL
action 필수 이동할 URL, 또는 호출할 javascript 함수명을 입력, 예) functionName
결과값
{
  retCode : 1020,  
  result : success
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
  • menu 배열 데이터는 메뉴 갯수만큼 등록하며, 최소 한개는 필수 입니다.

햄버거 메뉴
많은 메뉴를 한 화면에 펼칠 수 있는 기능으로, 프로필 사진과 아이콘 등도 함께 표시합니다.
네이티브 기능의 햄버거 메뉴를 상황에 따라 동적으로 생성하여 프로필 사진과 아이콘을 포함할 수 있으며, 메뉴 항목은 필요에 따라 완전히 커스터마이징할 수 있습니다.
네이티브 기능의 햄버거 메뉴를 상황에 따라 동적으로 생성하여 프로필 사진과 아이콘을 포함할 수 있으며, 메뉴 항목은 필요에 따라 완전히 커스터마이징할 수 있습니다.
Javascript
복사 아이콘

var appData = {
        "direction": "right",                // 필수
        "profileText": "안녕하세요.",           // 필수
        "backColor": "#FFFFFF",
        "fontSize": 12,
        "defTextColor": "#DD0000",
        "selTextColor": "#AA0000",
        "profileIcon": "{프로필 아이콘 URL}",
        "profileTexColor": "#AA0000",
        "profileFontSize": 14,
        "profileAction": "{프로필 이동 URL}",
        "menu": [
            {
                "text": "{메뉴명}",
                "defIcon": "{기본 아이콘 URL}",     // 비필수
                "selIcon": "{선택시 아이콘 URL}",    // 비필수
                "actionUrl": "{이동 할 URL}"
            },
            {
                "text": "헬스케어",
                "defIcon": "https://www.example.com/default.png",
                "selIcon": "https://www.example.com/selected.png",
                "actionUrl": "https://www.example.com"
            },
            {
                "text": "어바웃",
                "defIcon": "https://www.example.com/default.png",
                "selIcon": "https://www.example.com/selected.png",
                "actionUrl": "https://www.example.com"
            }
        ]
};

callAppBox (1021, appData);
항목 필수 여부 설명 기본값 비고
direction 필수 노출 위치 선택 (left, right) right
profileText 필수 프로파일 텍스트
profileTexColor - 프로파일 텍스트 칼라 #000000
profileIcon - 프로파일 아이콘 이미지 URL
profileFontSize - 프로파일 텍스트 사이즈 17px
profileAction - 프로파일 터치시 이동 URL
backColor - 백그라운드 칼라 #ffffff
fontSize - 메뉴 폰트 사이즈 14px
defTextColor - 메뉴 기본 텍스트 칼라 #000000
selTextColor - 선택되었을때 텍스트 칼라 #999999
haptic - 메뉴 터치시 진동 햅틱 (true, false) true
menu text 필수 메뉴명
defIcon - 메뉴 기본 아이콘 URL
selIcon - 메뉴 선택 아이콘 URL
action 필수 이동할 URL, 또는 호출할 javascript 함수명을 입력, 예) functionName
결과 값
{
  retCode : 1021,  
  result : success
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
  • menu 배열 데이터는 메뉴 갯수만큼 등록하며, 최소 한개는 필수 입니다.

브라우저 메뉴
뒤로 가기, 새로고침 같은 브라우저 기능을 화면 아래에 툴바로 제공됩니다.
뒤로 가기, 앞으로 가기, 새로고침 등의 브라우저 기본 기능을 화면 하단의 네이티브 메뉴로 제공합니다. 사용자에게 기본 웹브라우저의 기능으로 편의성을 제공 할 수 있습니다.
뒤로 가기, 앞으로 가기, 새로고침 등의 브라우저 기본 기능을 화면 하단의 네이티브 메뉴로 제공합니다. 사용자에게 기본 웹브라우저의 기능으로 편의성을 제공 할 수 있습니다.
Javascript
복사 아이콘

var appData = {
        "visible": true,
        "backColor": "#FFFFee",
        "autoHidden": true,                                  
        "menu": [
            {
                "function": "back",
                "icon": "{아이콘 URL}"    // 비필수
            },
            {
                "function": "forward",          
                "icon": "https://www.example.com/default.png"  // 비필수
            },
            {
                "function": "home",   
                "icon": "https://www.example.com/default.png"
            },
            {
                "function": "refresh",                
                "icon": "https://www.example.com/default.png"
            },
            {
                "function": "share",                
                "icon": "https://www.example.com/default.png"
            }
        ]
};

callAppBox (1022, appData);
항목 필수 여부 설명 기본값 비고
visible 필수 노출여부 (true, false) : false 이면 이후 항목은 모두 비필수 true
backColor - 백그라운드 칼라 #FFFFFF
autoHidden - 자동 숨김 (true, false) true
haptic - 메뉴 터치시 진동 햅틱 (true, false) true
menu function 필수 기능 (back:백 버튼, forward:앞 버튼, home:홈버튼, refresh:새로고침, share:공유버튼)
icon - 기본으로 노출되는 아이콘이 있으며,커스텀으로 변경하고 싶을때 아이콘 URL 입력
결과 값
{
  retCode : 1022,  
  result : success
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
  • menu 배열 데이터는 메뉴 갯수만큼 등록하며, 최소 한개는 필수 입니다.

플로팅 메뉴
화면 오른쪽 아래에 항상 떠 있는 버튼을 추가해, 눌렀을 때 여러 메뉴를 펼칠 수 있습니다.
화면 우측 하단에 고정된 플로팅 버튼을 생성하고, 버튼 터치 시 서브 메뉴가 확장됩니다. 플로팅 버튼과 메뉴 아이콘은 자유롭게 커스터마이징 가능하며, 상황에 따라 동적으로 변경할 수 있습니다.
화면 우측 하단에 고정된 플로팅 버튼을 생성하고, 버튼 터치 시 서브 메뉴가 확장됩니다. 플로팅 버튼과 메뉴 아이콘은 자유롭게 커스터마이징 가능하며, 상황에 따라 동적으로 변경할 수 있습니다.
Javascript
복사 아이콘

var appData = {
        "visible": true,
        "icon": "{플로팅 노출할 메인 아이콘 URL}",
        "menu": [
            {
                "icon": "{플로팅 노출할 서브 아이콘 URL}",
                "actionUrl": "{이동할 페이지 URL}"
            },
            {
                "icon": "https://www.example.com/default.png",
                "callFunc": "{호출할 javascript Function 명}"
            },
            {
                "icon": "https://www.example.com/default.png",
                "actionUrl": "https://www.example.com"
            }
        ]
};

callAppBox (1023, appData);
항목 필수 여부 설명 기본값 비고
visible 필수 노출 여부 (true, false) : false 이면 이후 항목은 모두 비필수 true
haptic - 메뉴 터치시 진동 햅틱 (true, false) true
menu icon 필수 커스텀으로 노출할 아이콘 URL
action 조건 필수 이동할 URL, 또는 호출할 javascript 함수명을 입력, 예) functionName
callFunc 조건 필수 호출할 Javascript Function 명 (actionUrl, callFunc 최소 한값은 필수), 예) funcServicePageFun1
결과 값
{
  retCode : 1023,  
  result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패 )
  • menu 배열 데이터는 메뉴 갯수만큼 등록하며, 최소 한개는 필수 입니다.

로딩 인디케이터
화면이 로딩 중일 때, 진행 상황을 보여주는 애니메이션을 표시합니다.
웹페이지 로딩 시 웹페이지의 로딩 상태를 시각적으로 표시하는 애니메이션을 지원합니다. 화면이 진행중 일때 다른 터치로 인해 오작동을 막고, 웹페이지가 확실히 실행되고 있다는 신뢰를 줄 수 있습니다.
웹페이지 로딩 시 웹페이지의 로딩 상태를 시각적으로 표시하는 애니메이션을 지원합니다. 화면이 진행중 일때 다른 터치로 인해 오작동을 막고, 웹페이지가 확실히 실행되고 있다는 신뢰를 줄 수 있습니다.
Javascript
복사 아이콘

var appData = {
     "loadingIcon": "{페이지 로딩 gif 아이콘 URL}",
     "width": 12
};

callAppBox (1060, appData);
항목 필수 여부 설명 기본값 비고
loadingIcon 필수 로딩시 노출될 gif 이미지 URL
width 필수 아이콘 width
backColor - 로딩 아이콘 노출시 dimmed되는 화면의 백그라운드 칼라, Alpha 값은 기본 10% #000000
결과 값
{
    retCode : 1060, 
    result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
  • 로딩 인디케이 아이콘 이미지는 한번 다운로드 받은 후 앱내 저장되어 다시 변경전까지 사용됩니다.

생체 인증
지문이나 얼굴 인식을 통해 보안을 강화하고, 인증에 성공하면 다음 단계로 진행할 수 있도록 보안을 강화 할 수 있습니다.
지문 또는 Face ID를 활용한 생체 인증 기능을 제공하여, 특정 페이지나 기능 접근 시 보안을 강화합니다. 인증 성공 여부는 네이티브에서 처리되어 안전한 환경을 유지하며, 결과는 웹으로 반환됩니다.
지문 또는 Face ID를 활용한 생체 인증 기능을 제공하여, 특정 페이지나 기능 접근 시 보안을 강화합니다. 인증 성공 여부는 네이티브에서 처리되어 안전한 환경을 유지하며, 결과는 웹으로 반환됩니다.
  • 생체인증 사용예
    기존의 자동로그인을 생체인증을 통과한 후 자동로그인 되도록 구성 할 수 있습니다.
Javascript
복사 아이콘

var appData = {
	  // 파라미터 없음
};

callAppBox (1070, appData);
항목 필수 여부 설명 기본값 비고
haptic - 성공 또는 실패시 진동 햅틱 (true, false)
결과 값
{
    retCode : 1070, 
    result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | cancel: 취소 | reject: 권한없음 )
  • 생체인증을 사용하려면, 생체인증을 지원하는 디바이스 이여야 하며, 생체인증이 사용중에 있어야 합니다. 생체인증이 등록되지 않은 경우 위의 결과값 처럼 "reject" 으로 리턴됩니다.

모달 페이지 열기
새로운 모달 웹페이지를 오픈합니다.
현재의 웹페이지에서 페이지위에 새로운 모달 웹페이지를 오픈합니다.
현재의 웹페이지에서 페이지위에 새로운 모달 웹페이지를 오픈합니다.
Javascript
복사 아이콘

var appData = {
        "openURL" : "{오픈 하고자 하는 URL}"
};

callAppBox (1210, appData);
항목 필수여부 설명 기본값 비고
openURL 필수 새로운 모달 페이지로 오픈할 웹페이지
title - 타이틀 (Android에서만 노출)
결과 값
{
    retCode : 1210, 
    result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
날짜 선택 달력
화면에 달력을 띄워 날짜를 선택하거나 시작일과 종료일의 기간을 선택할 수 있습니다.
시작일과 종료일을 설정할 수 있는 달력을 제공합니다. 특정 기간 선택이나 예약, 일정 관리가 가능하며, 직관적이고 편리한 사용자 경험을 제공합니다.
시작일과 종료일을 설정할 수 있는 달력을 제공합니다. 특정 기간 선택이나 예약, 일정 관리가 가능하며, 직관적이고 편리한 사용자 경험을 제공합니다.
Javascript
복사 아이콘

var appData = {
      "type" : "DAY",
      "selColor" : "#0000ff"
};

callAppBox (1180, appData);
항목 필수 여부 설명 기본값 비고
type 필수 날짜 타입 (DAY : 특정 날짜 선택, TERM : 시작일부터 종료일까지의 기간 선택)
selectFrom - 시작 날짜, 예) yyyyMMdd
selectTo - 끝 날짜, 예) yyyyMMdd
selColor - 달력 테마 칼라
textColor - 버튼 텍스트 칼라 #FFFFFF
결과값
{
    retCode : 1180, 
    result : success,
    retVal : {
        fromDate : 2025-01-03,
        toDate : 2025-03-12
    }
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | cancel: 취소)
retVal : 선택된 날자 (fromDate: 시작일, toDate: 종료일)
진동 울리기
특정 상황에서 짧거나 긴 진동을 통해 알림을 주어서 사용자에게 전달력을 높일 수 있습니다.
햅틱 진동 기능을 통해 특정 이벤트 시 사용자에게 즉각적인 피드백을 제공합니다. 진동의 횟수와 길이를 세부적으로 설정할 수 있어 몰입감 있는 인터랙션을 제공합니다.
햅틱 진동 기능을 통해 특정 이벤트 시 사용자에게 즉각적인 피드백을 제공합니다. 진동의 횟수와 길이를 세부적으로 설정할 수 있어 몰입감 있는 인터랙션을 제공합니다.
Javascript
복사 아이콘

var appData = {
       "vibrationCount" : 3,
       "type" : "haptic"
};

callAppBox (1050, appData);
항목 필수 여부 설명 기본값 비고
vibrationCount 필수 진동 횟수
type 필수 진동 타입 (haptic: 햅틱, short: 짧게, long: 길게)
결과 값
{
    retCode : 1050, 
    result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
QR 리더기 오픈
카메라로 QR 코드를 스캔해 내용을 확인하고 스캔 된 문자를 웹에서 받아볼 수 있습니다.
카메라를 실행해 QR 코드를 스캔하고, 스캔 결과를 문자열로 반환합니다. QR 기반 인증, 결제 등 다양한 서비스에 활용할 수 있는 유용한 기능입니다.
카메라를 실행해 QR 코드를 스캔하고, 스캔 결과를 문자열로 반환합니다. QR 기반 인증, 결제 등 다양한 서비스에 활용할 수 있는 유용한 기능입니다.
Javascript
복사 아이콘

var appData = {
	  "haptic" : true
	  "infoMessage" : "QR에 비춰주세요."
};

callAppBox (1100, appData);
항목 필수여부 설명 기본값 비고
haptic - 성공 실패시 진동 햅틱 (true:진동, false:진동없음) true
infoMessage - 안내 메시지 QR을 스캔해 주세요.
messageColor - 안내 메시지 칼라값 #FFFFFF
defColor - QR리더기 박스 기본 칼라값 #FFFFFF
succColor - QR리더기 읽기 성공 시 박스 칼라값 #0000FF
failColor - QR리더기 읽기 실패 시 박스 칼라값 #FF0000
regex - 읽을 수 있는 문자의 정규식, 예) ”https?:\/\/(www\.)?[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?”
결과 값
{
  retCode : 1100,  
  result : success, 
  retVal : "http://google.com"
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패 | cancel: 취소 | reject: 권한거부)
retVal : QR 리더기에서 읽은 값
  • QR 리더기를 실행하기 위해서는 사용자가 최초 한번은 카메라 권한을 승인하여야 합니다. 승인하지 않았다면 결과값이 "reject" 으로 리턴됩니다.

바코드 리더기 오픈
카메라로 바코드를 찍어서 정보를 읽어오고 필요한 곳에 사용할 수 있습니다.
카메라를 통해 바코드를 스캔하고, 결과를 문자열 형태로 반환합니다. 이 기능은 상품 관리, 인증 등 다양한 바코드 형식을 지원하여 여러 상황에 활용 가능합니다.
카메라를 통해 바코드를 스캔하고, 결과를 문자열 형태로 반환합니다. 이 기능은 상품 관리, 인증 등 다양한 바코드 형식을 지원하여 여러 상황에 활용 가능합니다.
Javascript
복사 아이콘

var appData = {
      "infoMessage" : "바코드를 스캔해 주세요.",
      "regex" : "/\d{3}-\d{4}-\d{4}/"        // 숫자만 스캔합니다.
};

callAppBox (1110, appData);
항목 필수여부 설명 기본값 비고
haptic - 성공시 진동 햅틱 (true, false) true
infoMessage - 메시지 텍스트 바코드를 스캔해 주세요.
messageColor - 메시지 텍스트 칼라 #FFFFFF
defColor - 바코드리더기 박스 기본 칼라 기본값:#FFFFFF
succColor - 바코드리더기 읽기 성공 시 박스 칼라값 #FF0000
failColor - 바코드리더기 읽기 실패 시 박스 칼라값 #FF0000
regex - 읽을 수 있는 문자의 정규식, 예) ”/\d{3}-\d{4}-\d{4}/”
결과 값
{
    retCode : 1110, 
    result : success, 
    retVal : “1234567890” 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패 | cancel: 취소 | reject: 권한거부)
retVal : 바코드 리더기에서 읽은 값
  • 바코드 리더기를 실행하기 위해서는 사용자가 최초 한번은 카메라 권한을 승인하여야 합니다. 승인하지 않았다면 위에 결과값이 "reject" 으로 리턴됩니다.

\
인트로 소개 페이지
앱을 처음 실행할 때 앱의 주요 기능과 특징을 여러 화면으로 소개합니다.
앱 실행 시 앱의 주요한 기능을 소개하는 기능으로 스와이프 가능한 다중 페이지 형식으로 앱의 주요 기능과 가치를 사용자에게 소개합니다.
앱 실행 시 앱의 주요한 기능을 소개하는 기능으로 스와이프 가능한 다중 페이지 형식으로 앱의 주요 기능과 가치를 사용자에게 소개합니다.
  • 인트로 소개페이지는 앱 빌드시 네이티브 코드로도 인트로 소개 이미지를 설정 할 수 있습니다.

Javascript
복사 아이콘

var appData = {
       "item" :[
            {
               "imageUrl" : "{소개 이미지 URL}"
            },
            {
              "imageUrl" : "https://www.example.com/intro1.png"
            },
            {
              "imageUrl" : "https://www.example.com/intro2.png"
            }
      ]
};

callAppBox (1165, appData);
항목 필수 여부 설명 기본값 비고
item imageUrl 필수 노출될 이미지 URL
indicatorDefColor - 페이징 인디케이터 기본 칼라 #AAAAAA
indicatorSelColor - 페이징 인디케이터 선택 칼라 #000000
fontColor - 닫기 버튼 폰트 칼라 #000000
결과 값
{
    retCode : 1165, 
    result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
로컬 푸시 발송
앱을 통해 알림 메시지를 바로 보내 사용자에게 중요한 정보를 전달합니다.
사용자의 기기로 실시간 알림 메시지를 전송하여 중요한 공지나 정보를 즉시 전달할 수 있습니다. 사용자와 효과으로 소통하는데 사용하기 좋습니다.
사용자의 기기로 실시간 알림 메시지를 전송하여 중요한 공지나 정보를 즉시 전달할 수 있습니다. 사용자와 효과으로 소통하는데 사용하기 좋습니다.
Javascript
복사 아이콘

var appData = {
       "title" : "{로컬 푸시 제목}",
       "message" : "{로컬 푸시 메시지로 띄워질 메시지 내용}",
       "targetUrl" : "{로컬 푸시 터치시 이동할 URL}"
};

callAppBox (1001, appData);
항목 필수 여부 설명 기본값 비고
title - 제목
message 필수 메시지 내용
targetUrl - 이동 URL
overlap - true: groupID가 동일하면 최종건 하나만 노출, false: 항상 쌓임 false
groupID - overlap의 항목과 함께 사용되는 그룹아이디 (0부터 9까지 숫자만 입력) 0
결과값
{
    retCode : 1001, 
    result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패 | reject : 권한 거부)


  • 푸시 메시지를 수신하기 위해서는 사용자가 최초 한번은 푸시 시스템 권한을 허용하여야 합니다. 허용하지 않은 경우 위의 결과값이 "reject" 으로 리턴합니다.

이미지 팝업
여러 이벤트 이미지를 팝업으로 띄우고, 스와이프하여 참여할 수 있습니다.
여러 이미지를 팝업 형태로 표시하며, 스와이프 기능을 통해 이미지를 탐색할 수 있습니다. 메인페이지에서 이벤트등의 콘텐츠 소개에 적합합니다.
여러 이미지를 팝업 형태로 표시하며, 스와이프 기능을 통해 이미지를 탐색할 수 있습니다. 메인페이지에서 이벤트등의 콘텐츠 소개에 적합합니다.
Javascript
복사 아이콘

var appData = {
     "item" : [
           {
              "image" : "{이미지 URL}",
              "url" : "{터치시 이동 URL}",
              "browser" : true
           },
           {
              "image" : "https://www.example.com/pupup.png",
              "url" : "https://www.example.com",
              "browser" : true
            }
        ],
      "size" : {"height": 400, "width": 300},
      "centerPopup" : true
};

callAppBox (1160, appData);
항목 필수 여부 설명 기본값 비고
centerPopup 필수 팝업이 노출될 위치 (true : 화면가운데에서 노출, false : 화면 하단에서 노출)
backColor - 팝업 백그라운드 칼라 #FFFFFF
textColor - 팝업 버튼 텍스트 칼라 #000000
indicatorDefColor - 인디케이터 기본칼라 #AAAAAA
indicatorSelColor - 인디케이터 선택칼라 #000000
size - 가로/세로 사이즈 {”height”: 400, “width”: 300}
remainCount - 다시 보지 않기 일 수 (1:오늘 보지 않음, 0:다시 보지 않음, {0}일 동안 보지 않음) 1
remainVisible - 다시 보지 않음 버튼 노출 여부, true : 노출, false : 숨김 true
haptic - 노출 시 진동 햅틱 true
animation - 노출 애니메이션 true
item image 필수 이미지 URL
url - 이미지 터치시 이동 URL
browser - 터치 시 오픈방식 (true : 외부 브라우저로 오픈, false : 내부 웹뷰에서 오픈)
결과 값
{
    retCode : 1160, 
    result : until 
}
retCode : 서비스 코드
result : 닫기 방법 (until: 기간동안 보지 않음 | close: 닫기 | fail : 실패)
  • item 배열 데이터는 메뉴 갯수만큼 등록하며, 최소 한개는 필수 입니다.

이미지 뷰어
이미지를 확대하거나 축소해서 자세히 보고, 여러 이미지를 넘기며 확인할 수 있습니다.
이미지를 확대 및 축소할 수 있는 뷰어 기능을 제공합니다. 전체화면의 이미지로 이미지를 스와이프 방식으로 탐색하며, 세부적으로 확인할 수 있어 사용성 향상에 기여합니다.
이미지를 확대 및 축소할 수 있는 뷰어 기능을 제공합니다. 전체화면의 이미지로 이미지를 스와이프 방식으로 탐색하며, 세부적으로 확인할 수 있어 사용성 향상에 기여합니다.
Javascript
복사 아이콘

var appData = {
    "item" : [
         {
             "imageUrl" : "{이미지 URL}"
         },
         {
             "imageUrl" : "https://www.example.com/image.png"
         }
     ]
};

callAppBox (1161, appData);
항목 필수 여부 설명 기본값 비고
item imageUrl 필수 노출할 이미지 URL
selectColor - 선택된 이미지 테두리 칼라값 #FFFFFF
결과 값
{
      retCode : 1161, 
      result : close 
}
retCode : 서비스 코드
result : 닫기 (close: 닫기)
  • item 배열 데이터는 메뉴 갯수만큼 등록하며, 최소 한개는 필수 입니다.

앱 업데이트
새로운 버전의 앱이 있으면 사용자에게 업데이트를 안내합니다.
마켓에 최신 버전의 앱이 있을 경우 업데이트 유도 팝업을 표시하여, 사용자에게 권장 또는 강제 업데이트를 안내 할 수 있습니다.
마켓에 최신 버전의 앱이 있을 경우 업데이트 유도 팝업을 표시하여, 사용자에게 권장 또는 강제 업데이트를 안내 할 수 있습니다.
Javascript
복사 아이콘

var appData = {
       "require": true,
       "message": "마켓에 새로운 버전이 있습니다. 앱을 업데이트하여 주세요.",
       "appStore": "{애플 앱스토어 앱 다운로드 URL}",
       "googlePlay": "{구글플레이 앱 다운로드 URL}",
       "updateButton": "업데이트 하기",             // 버튼명 (마켓이동)
       "cancelButton": "다음에",                  // 버튼명 (앱 진입)
       "updateAlert" : true                     // true : AppBox에서 업데이트 Alert을 띄움, false : 웹에서 띄우기위해 네이티브에 Alert을 띄우지 않음.
};

callAppBox (1010, appData);
항목 필수여부 설명 기본값 비고
require 필수 true :강제, false : 권장 (새로운 버전을 업데이트 하지 않으면 앱 진입을 들어가지 못하도록 강제하거나, 업데이트를 권장만 하고 앱 진입은 가능하도록 할 수 있다.)
message 필수 업데이트 메시지, 예) "마켓에 새로운 버전이 있습니다. 업데이트하여 주세요."
appStore 필수 애플 앱스토어 앱 다운로드 URL
googlePlay 필수 구글 플레이 앱 다운로드 URL
updateButton 필수 업데이트 버튼의 텍스트
cancelButton - 취소 버튼의 텍스트 (require 항목의 값이 false 일때 필수)
updateAlert - 업데이트가 필요할때 메시지얼럿을 어디서 띄울지 선택 (true : AppBox에서 띄움, false : 웹에서 띄움) false
결과 값
{
  retCode:1010, 
  retStatus: success,
  retVal : updated | need
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
retVal : 업데이트 여부 (updated: 업데이이트 완료 | need: 업데이트 필요)
  • 앱 업데이트 기능은 앱이 마켓에 올라가 있는 상태에서만 정상동작합니다. 앱이 마켓에 아직 올라가지 않은 개발단계에서는 정상동작 하지 않습니다.

토스트 메시지
화면 하단에 짧은 메시지를 띄워서 사용자에게 간단히 알림을 전달합니다.
메시지를 토스트로 알리며 메시지 유지시간, 백그라운드 칼라, 텍스트 사이즈를 자유롭게 설정할 수 있습니다.
메시지를 토스트로 알리며 메시지 유지시간, 백그라운드 칼라, 텍스트 사이즈를 자유롭게 설정할 수 있습니다.
Javascript
복사 아이콘

var appData = {
      "delaySecond" : 3.5,
      "message" : "{토스트 메시지 내용}"
};

callAppBox (1040, appData);
항목 필수 여부 설명 기본값 비고
delaySecond 필수 유지 시간 (초), 0으로 설정시 토스트 사라지지 않으며 터치하면 사라집니다.
message 필수 메시지
fontSize - 텍스트 사이즈 12
textColor - 텍스트 칼라 #FFFFFF
backColor - 백그라운드 칼라 #000000
haptic - 토스트 메시지시 햅틱 진동 여부 true
결과 값
{
    retCode : 1040, 
    result : success
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
바코드 보기 팝업
입력된 내용을 바코드로 바꿔 팝업 화면에 띄워줍니다.
문자열을 바코드로 변환하여 팝업 형태로 바코드를 표시합니다. 카메라를 통해서 바코드를 읽을 수 있도록 바코드가 팝업 됩니다.
문자열을 바코드로 변환하여 팝업 형태로 바코드를 표시합니다. 카메라를 통해서 바코드를 읽을 수 있도록 바코드가 팝업 됩니다.
Javascript
복사 아이콘

var appData = {
      "barcode" : "{바코드로 노출 할 숫자 또는 문자}"
};

callAppBox (1130, appData);
항목 필수 여부 설명 기본값 비고
barcode 필수 바코드로 생성 할 string
haptic - 바코드 팝업 노출시 진동 햅틱 (true, false) true
animation - 바코드 팝업 노출시 애니메이션 (true, false) true
결과 값
{
  retCode : 1130,  
  result : success
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
QR 보기 팝업
앱력된 내용을 QR 코드로 변환해 팝업 화면에 보여줍니다.
문자열을 QR 코드로 변환하여 팝업 형태로 QR을 표시합니다. QR리더 카메라를 통해서 QR을 읽을 수 있도록 QR이 팝업 됩니다.
문자열을 QR 코드로 변환하여 팝업 형태로 QR을 표시합니다. QR리더 카메라를 통해서 QR을 읽을 수 있도록 QR이 팝업 됩니다.
Javascript
복사 아이콘

var appData = {
       "qr" : "{QR로 노출될 String}"
};

callAppBox (1120, appData);
항목 필수 여부 설명 기본값 비고
qr 필수 QR로 생성 할 string
haptic - QR 팝업 노출시 진동 햅틱 (true, false) true
animation - QR 팝업 노출시 애니메이션 (true, false) true
결과 값
{
  retCode : 1120,  
  result : success  
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패 )
걸음수 가져오기
오늘, 이번 주, 이번 달의 걸음 수의 데이터를 가져올 수 있습니다.
사용자의 오늘, 주, 월별 걸음 수 데이터를 가져와 건강 관리와 목표 설정에 활용할 수 있습니다. 날짜별 걸음수 데이터로 리턴합니다.
사용자의 오늘, 주, 월별 걸음 수 데이터를 가져와 건강 관리와 목표 설정에 활용할 수 있습니다. 날짜별 걸음수 데이터로 리턴합니다..
Javascript
복사 아이콘

var appData = {
      "fromDate" : "20250101",
      "toDate" : "20250131"    
};

callAppBox (2000, appData);
항목 필수 여부 설명 기본값 비고
fromDate 필수 시작일
toDate 필수 종료일
결과 값
{
    retCode : 2000, 
    result : success,
    retVal : 
        [
                { date : 20250101, step : 1210},
                { date : 20250102, step : 4290}, 
                { date : 20250103, step : 7391},   
                .....
        ] 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패 | reject: 권한거부 )
retVal : 걸음수 (date: 날짜, step: 걸음수)
  • 건강데이터 엑섹스 하려면 사용자가 최초 한번은 시스템 권한이 승인되어야 합니다. 허용하지 않은 경우 결과를 "reject" 으로 리턴합니다.

위치 받아오기
사용자의 현재 위치(위도와 경도)를 확인해 위치 기반 서비스를 제공합니다.
위치 권한 요청 후 네이티브에서 위도와 경도 좌표를 웹에 반환하여, 위치 기반 서비스에 필요한 정보를 제공합니다.
위치 권한 요청 후 네이티브에서 위도와 경도 좌표를 웹에 반환하여, 위치 기반 서비스에 필요한 정보를 제공합니다.
Javascript
복사 아이콘

var appData = {
      // 파라미터 없음
};

callAppBox (1190, appData);
결과값
{ 
  retCode : 1190, 
  result : success, 
  retVal : {
      lat : 35.4516133686,
      lng : 126.538897703
  } 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패 | cancel: 취소 | reject: 권한 거부)
retVal : 위치값 (lat: 위도, lng: 경도)
  • 위치를 받아오려면 사용자가 최초 한번은 위치 권한을 승인 하여야 합니다. 허용하지 않은 경우 결과값이 "reject" 으로 리턴됩니다.

외부 페이지 열기
크롬이나 사파리 같은 브라우저로 다른 웹페이지를 열어볼 수 있습니다.
크롬, 사파리 등의 외부 브라우저를 통해 웹페이지를 열어서 다른 웹페이 등을 탐색할 수 있도록 제공합니다.
크롬, 사파리 등의 외부 브라우저를 통해 웹페이지를 열어서 다른 웹페이 등을 탐색할 수 있도록 제공합니다.
Javascript
복사 아이콘

var appData = {
       "url" : "https://www.example.com/link.jsp"     // 외부로 오픈 할 URL
};

callAppBox (1080, appData);
항목 필수 여부 설명 기본값 비고
url 필수 외부로 오픈 할 URL
결과 값
{
  retCode : 1080,  
  result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패 )
  • 외부 페이지 열기를 실행하면 앱은 백그라운드로 들어가며 외부브라우저가 앱 위에 포그라운드로 올라옵니다.

푸시 토큰 등록
푸시토큰을 웹에서 AppBox 서버에 등록합니다.
푸시메시지를 AppBox 푸시 발송 시스템을 이용하여 발송하기 위해 푸시토큰을 AppBox시스템에 수집합니다.
푸시메시지를 AppBox 푸시 발송 시스템을 이용하여 발송하기 위해 푸시토큰을 AppBox시스템에 수집합니다.
  • 고객이 AppBox 시스템 데시보드에서 User에게 푸시를 발송하기 위해서는 푸시토큰을 AppBox 데시보드에 수집이 필요합니다.

Javascript
복사 아이콘

var appData = {
      "agree" : "Y"  // 푸시수신 동의 여부
};
callAppBox (1000, appData);
항목 필수 여부 설명 기본값 비고
agree 필수 푸시수신 동의 여부
결과값
{
    retCode:1000, 
    result: success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패 )
  • 푸시 토큰의 값이 자주 바뀌지는 않지만, 경우에 따라 앱 실행 시 마다 바뀔 수 있으므로, 사용자의 안정적적인 푸시수신을 위해서 푸시토큰을 매번 갱신하세요.



  • 푸시를 수신하려면 사용자가 푸시 권한을 승인 하여야 합니다. 허용하지 않은 경우 위의 표기와 같이 "reject"으로 리턴합니다.

앱 평가
앱 평가 할 수 있는 별점과 리뷰를 남길 수 있습니다.
앱의 별점 및 리뷰를 작성할 수 있는 팝업을 제공하여, 사용자 피드백을 수집하고 앱 개선에 활용할 수 있습니다.
앱의 별점 및 리뷰를 작성할 수 있는 팝업을 제공하여, 사용자 피드백을 수집하고 앱 개선에 활용할 수 있습니다.
Javascript
복사 아이콘

var appData = {
        // 파라미터 없음
};

callAppBox (1200, appData);
결과 값
{
    retCode : 1200, 
    result : success  
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
  • 앱의 평가 팝업은 매번 요청시 마다 띄워지지 않습니다.
    App의 Review API는 사용자의 활동기록에 의한 호출 횟수 제한이 있으며 평가 기록 여부, 최소 조건 충족 여부, Apple 및 Google의 내부 정책에 의해 띄워집니다.
    호출시 매번 띄워지지 않으며, 사용자가 불편을 느끼지 않는 경우에만 표시됩니다.

공유 하기
앱의 공유하고 싶은 내용을 친구에게 쉽게 공유할 수 있습니다.
현재 보고 있는 페이지의 링크를 공유하거나, 콘텐츠 손쉽게 외부로 공유할 수 있습니다.
현재 보고 있는 페이지의 링크를 공유하거나, 콘텐츠 손쉽게 외부로 공유할 수 있습니다.
Javascript
복사 아이콘

var appData = {
        "message": "{공유할 메시지 내용 또는 URL}."
};

callAppBox (1030, appData);
항목 필수 여부 설명 기본값 비고
message 필수 공유하려는 텍스트 또는 URL
결과 값
{
  retCode : 1030,  
  result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
다른앱 오픈
현재 앱에서 다른 앱을 열 수 있는 기능을 제공합니다.
네이티브 호출을 통해 지정된 외부 앱을 실행하며, 앱 간 데이터 연동을 가능하도록 지원합니다.
네이티브 호출을 통해 지정된 외부 앱을 실행하며, 앱 간 데이터 연동을 가능하도록 지원합니다.
  • iOS의 다른앱 오픈은 앱을 빌드전 Plist에 사전 세팅사항이 있습니다. (Android는 해당사항 없음)

Javascript
복사 아이콘

var appData = {
       "android_scheme" : "{오픈 하고자하는 앱의 Android 스키마명}",
       "ios_scheme" : "{오픈 하고자하는 앱의 iOS 스키마명}",
       "googleplay_url" : "{구글플레이 앱 다운로드 URL}",
       "appstore_url" : "{애플 앱스토어 앱 다운로드 URL}"
};

callAppBox (1090, appData);
항목 필수 여부 설명 기본값 비고
android_scheme 필수 오픈 할 Android 앱의 스키마명
ios_scheme 필수 오픈 할 iOS 앱의 스키마명
googleplay_url 필수 해당 앱의 구글플레이 URL
appstore_url 필수 해당 앱의 앱스토어 URL
결과 값
{
      retCode : 1090, 
      result : success
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
  • iOS는 프로젝트 내의 설정이 필요합니다. Info.plist > Information PropertyList밑에

    LSApplicationQueriesSchemes의 하위항목으로 호출할 앱 이름(uri scheme)을 입력하여야 합니다.

API 호출
앱에서 서버에 요청을 보내 필요한 정보를 받아서 전달합니다.
네이티브 API를 실행하고 서버의 결과를 네이티브에서 받아서 웹으로 리턴합니다. 웹간 호출에서 cors 이슈 없이 실행됩니다.
네이티브 API를 실행하고 서버의 결과를 네이티브에서 받아서 웹으로 리턴합니다. 웹간 호출에서 cors 이슈 없이 실행됩니다.
Javascript
복사 아이콘

var appData = {
      "target" : "https://www.example.com/api",          // API 호출 할 주소
      "json" : {json},
      "returnFunc" : "apiCallReturn"              // API를 호출해서 결과를 콜백 받을 함수명
};

callAppBox (2100, appData);
항목 필수 여부 설명 기본값 비고
target 필수 API 실행 URL
json 필수 {json} 데이터
returnFunc 필수 결과값으로 받고 싶은 javascript 함수명을 입력, 예를들어 apiCallReturn 같이 함수명만 입력
결과값
apiCallReturn 필수 {json} 데이터
  • Web에서도 API를 호출될 수 있지만 Cors관련 이슈로 인하여 Native에서 호출이 필요할때 사용합니다.

문자 보내기
문자 메시지를 보냅니다.
SMS 앱을 실행해 지정된 번호와 메시지로 문자를 보낼 수 있습니다.
SMS 앱을 실행해 지정된 번호와 메시지로 문자를 보낼 수 있습니다.
Javascript
복사 아이콘

var appData = {
       "target" : "01011112222",
       "message" : "문자 메시지 입니다."
};

callAppBox (1150, appData);
항목 필수 여부 설명 기본값 비고
target 필수 받는사람 전화번호
message 필수 문자 메시지 내용
결과 값
{
    retCode : 1150, 
    result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
전화 걸기
전화를 겁니다.
전화 앱을 실행하여 지정된 번호로 통화 연결을 제공합니다.
전화 앱을 실행하여 지정된 번호로 통화 연결을 제공합니다.
Javascript
복사 아이콘

var appData = {
       "tel" : "01012345678"
};

callAppBox (1140, appData);
항목 필수 여부 설명 기본값 비고
tel 필수 전화 번호
결과 값
{
    retCode : 1140, 
    result : success 
}
retCode : 서비스 코드
result : 성공 여부 (success: 성공 | fail: 실패)
PG사 결제 연동 (영구 무료)
기본적으로 국내 PG사 결제 연동을 영구지원합니다.
국내 PG사 NHN KCP, 토스페이먼츠, KG이니시스, 다날, KCP, 나이스페이먼츠, 스마트로 등 기본적으로 영구적으로 제공됩니다.
국내 PG사 NHN KCP, 토스페이먼츠, KG이니시스, 다날, KCP, 나이스페이먼츠, 스마트로 등 기본적으로 영구적으로 제공됩니다.
Javascript
복사 아이콘
      
      // 국내 PG사 연동은 기본적으로 영구 제공됩니다.
      
  • 국내 PG사(NHN KCP, 토스페이먼츠, KG이니시스, 다날, KCP, 나이스페이먼츠, 스마트로 등) 연동은 무료 버전에서도 기본적으로 영구적으로 제공됩니다.

영상 플레이 전체화면 보기 (영구 무료)
기본적인 영상 플레이 전체화면 보기가 가능합니다.
앱박스 브라우저를 이용하면 영상 플레이 전체화면 보기가 기본적으로 제공됩니다.
앱박스 브라우저를 이용하면 영상 플레이 전체화면 보기가 기본적으로 제공됩니다.
Javascript
복사 아이콘
      
      // 영상 플레이 전체화면 보기 기능은 코드 연동 없이 동작합니다.
      
  • 영상 플레이 전체화면 보기 기능은 별도의 코드 연동 없이 동작하며, 기본적으로 무료버전에서도 영구적으로 지원됩니다.

업로드 첨부 파일 (영구 무료)
기본적인 파일 업로드를 위한 파일 선택기능을 지원합니다.
앱박스 브라우저를 이용하면 첨부파일 업로드를 위한 파일 선택 기능이 기본적으로 제공됩니다.
앱박스 브라우저를 이용하면 첨부파일 업로드를 위한 파일 선택 기능이 기본적으로 제공됩니다.
Javascript
복사 아이콘
      
      // 첨부파일 업로드를 위한 파일 선택 기능은 별도의 코드 연동 없이 기본적으로 기능 동작합니다.
      
  • 첨부파일 업로드를 위한 파일 선택 기능은 코드 연동 없이 동작하며, 기본적으로 무료버전에서도 영구적으로 제공됩니다.

앱 종료
앱을 종료 합니다.
앱을 종료하고 모든 프로세스를 안전하게 정리하여 완벽한 종료 상태를 유지합니다.
앱을 종료하고 모든 프로세스를 안전하게 정리하여 완벽한 종료 상태를 유지합니다.
Javascript
복사 아이콘

var appData = {
      // 파라미터 없음
};

callAppBox(1170, appData);
  • 호출 하면 바로 앱이 종료됩니다. "종료 하시겠습니까?" 등의 Confirm 박스를 띄우고 종료(호출)하는게 좋습니다.

Android 설정하기
Android 설치 방법을 설명합니다.
AppBox SDK는 JitPack 저장소를 통해 제공됩니다. 아래 단계를 따라 프로젝트를 설정하세요.
AppBox SDK는 JitPack 저장소를 통해 제공됩니다. 아래 단계를 따라 프로젝트를 설정하세요.
  • Android Studio의 자세한 설정은  AppBox Sample Github 에서도 확인 할 수 있습니다.

  • 1. Gradle 설정
    프로젝트 수준의 build.gradle 파일 수정
    프로젝트의 build.gradle 파일에 JitPack 저장소를 추가합니다.
build.gradle
복사 아이콘
      
repositories {
    google()
    mavenCentral()
    maven {
        url = uri("https://jitpack.io")
        
        // SDK 접근 설정
        credentials {
            username = "jp_ku9piga59cvtv8rlos3utncvms"
        }
    }
}
  • 2. SDK 의존성 추가
    앱 수준의 build.gradle 파일에 SDK 의존성 추가
    아래 의존성을 추가합니다:
build.gradle
복사 아이콘

dependencies {
    // implementation 선언
    implementation("com.github.MobilePartnersCo:AppBoxSDKPackage:all-v1.0.27")
}
  • 3. gradle.properties에 Jetifier 활성화
    Jetifier를 활성화하려면 gradle.properties 파일에 다음 설정을 추가합니다.
gradle.properties
복사 아이콘

# enableJetifier 설정
android.enableJetifier=true
  • 4. SDK usage
    아래의 순서대로 선언, 기능설정(선택적), SDK실행 순으로 실행되도록 작성 되어야 합니다.
Activity
복사 아이콘

// --------------------------------------
// 1. 선언
// --------------------------------------

// AppBox WebConfig 설정
val appBoxWebConfig = AppBoxWebConfig().apply {
    javaScriptEnabled = true
}

// AppBox 초기화
AppBox.getInstance().initSDK(
    context = this,
    baseUrl = "https://www.example.com",
    projectId = "PROJECT_ID",
    webConfig = appBoxWebConfig,
    pushIcon = R.drawable.ic_launcher_background
)


// --------------------------------------
// 2.  기능 설정 (선택적)
// --------------------------------------

// AppBox BaseUrl 설정
AppBox.getInstance().setBaseUrl(
   baseUrl = "https://www.example.com"
)

// AppBox 디버그 설정
AppBox.getInstance().setDebug(
   debugMode = true
)

// AppBox AppBoxIntro 설정
val appBoxIntro = AppBoxIntro(
   indicatorDefColor = "#FF0000",
   indicatorSelColor = "#00FF00",
   fontColor = "#0000FF",
   item = mutableListOf(
       AppBoxIntroItems(imageUrl =  "https://www.example1.com"),
       AppBoxIntroItems(imageUrl =  "https://www.example2.com"),
       AppBoxIntroItems(imageUrl =  "https://www.example3.com"),
       AppBoxIntroItems(imageUrl =  "https://www.example4.com")
   )
)

// 인트로 설정
AppBox.getInstance().setIntro(
   appBoxIntro = appBoxIntro
)

// 당겨서 새로고침 설정
AppBox.getInstance().setPullDownRefresh(
    used = true
)

// --------------------------------------
// 3. SDK실행
// --------------------------------------

// AppBox 실행
AppBox.getInstance().start { isSuccess, message ->
    if (isSuccess) {
        // 실행 성공 처리
        Log.d("AppBox", "SDK 실행 성공")
    } else {
        // 실행 실패 처리
        Log.e("AppBox", "SDK 실행 실패: $message")
    }
}
iOS 설정
iOS 설치 방법을 설명합니다.
AppBoxSDK는 Swift Package Manager를 통해 배포됩니다.
AppBoxSDK는 Swift Package Manager를 통해 배포됩니다.
  • 1. SDK init
    AppBox SDK를 사용하려면 먼저 초기화를 수행해야 합니다. initSDK 메서드를 호출하여 초기화를 완료하세요.
    AppDelegate에서 초기화를 진행합니다.
Swift
복사 아이콘
      
// AppDelegate
import AppBoxSDK
import AppBoxPushSDK //AppBoxPushSDK 모듈 사용 시
import WebKit

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

// AppBox WebConfig 설정
let appBoxWebConfig = AppBoxWebConfig()
let wkWebViewConfig = WKWebViewConfiguration()
if #available(iOS 14.0, *) {
   wkWebViewConfig.defaultWebpagePreferences.allowsContentJavaScript = true
} else {
   wkWebViewConfig.preferences.javaScriptEnabled = true
}
appBoxWebConfig.wKWebViewConfiguration = wkWebViewConfig

// AppBox 초기화
AppBox.shared.initSDK(
   baseUrl: "https://www.example.com",
   projectId: "프로젝트 ID"
   webConfig: appBoxWebConfig,
   debugMode: true
)

return true
}

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
   // AppBoxPushSDK 모듈 사용 시
   AppBoxPush.shared.appBoxPushApnsToken(apnsToken: deviceToken)
}
  • 2. function set
    AppBox SDK 실행 전 추가 기능이 설정이 되어야 적용이 됩니다.
Swift
복사 아이콘

// AppBox BaseUrl 설정
AppBox.shared.setBaseUrl(baseUrl: "https://example.com")


// AppBox Debug모드 설정
AppBox.shared.setDebug(debugMode: true)


// AppBox 인트로 설정
if let introItem1 = AppBoxIntroItems(imageUrl: "https://example.com/image.jpg") {
  let items = [introItem1]
  let intro = AppBoxIntro(indicatorDefColor: "#a7abab", indicatorSelColor: "#000000", fontColor: "#000000", item: items)
  AppBox.shared.setIntro(intro)
} else {
  print("Failed to initialize AppBoxIntro with empty URL.")
}


// AppBox 당겨서 새로고침 설정
AppBox.shared.setPullDownRefresh(
   used: true
)
  • 3. SDK start
    초기화된 SDK를 실행하려면 start 메서드를 호출하세요. 실행 결과는 콜백을 통해 전달됩니다.
Swift
복사 아이콘

// AppBox 실행
AppBox.shared.start(from: self) { isSuccess, error in
   if isSuccess {
       // 실행 성공 처리
       print("AppBox:: SDK 실행 성공")
   } else {
       // 실행 실패 처리
       if let error = error {
           print("error : \(error.localizedDescription)")
       } else {
           print("error : unkown Error")
       }
   }
}