API Document


ADQ 연동 API

ADQ SDK 연동 API는 아래의 샘플 코드와 같이 총 4가지 형태로 구성되어 있습니다.

              

        public class ADQManager {

          ...

          public static void initADQ(Context context, String agentkey)
          
          public static void initADQ(Context context, String agentkey, int quickBarFlag)

          public static void initADQ(Context context, String agentkey, boolean approvedDialog)

          public static void initADQ(Context context, String agentkey, int quickBarFlag, boolean approvedDialog)

          ...

        }
              
            

Context : 연동하시는 MainActivity class의 Context 정보를 넘겨줍니다 (Ex : MainActivity.this)
AgentKey : 관리자 페이지에서 발급 받은 AgentKey 정보를 입력합니다.
QuickBar Flag : QuickBar 실행모드를 설정합니다. (Default, Custom)
ApprovedDialog : 이용동의창 출력 여부를 설정합니다. (true : 이용동의창 출력, false : 이용동의창 출력 되지 않고 바로 API연동)

연동 API 샘플 코드

              

        ...

        @Override
        protected void onResume() {
          super.onResume();

          //-- 기본적인 연동 API 호출 방식.
          if(ADQManager.isNotificationPermission(getApplicationContext())) {
            ADQManager.initADQ(MainActivity.this, "AgentKey");
          }

          //-- 이용동의창 출력을 하고 싶지 않은 경우 
          if(ADQManager.isNotificationPermission(getApplicationContext())) {
            ADQManager.initADQ(MainActivity.this, "AgentKey", false);
          }
        
          //-- Custom Quick-Bar를 사용하고 싶은 경우
          if(ADQManager.isNotificationPermission(getApplicationContext())) {
            ADQManager.initADQ(MainActivity.this, "AgentKey", ADQConstants.FLAG_QUICK_BAR_CUSTOM);
          }
         
          //-- Custom Quick-Bar를 사용하면서 이용동의창 출력을 하고 싶지 않은 경우
          if(ADQManager.isNotificationPermission(getApplicationContext())) {
            ADQManager.initADQ(MainActivity.this, "AgentKey", ADQConstants.FLAG_QUICK_BAR_CUSTOM, false);
          }

        }
        
        ...

              
            

QuickBar API

QuickBar는 Default 모드와, Custom 모드 2가지 방법으로 실행될 수 있습니다.

              

      public final class ADQConstants {

        ...

        //-- Quick bar Type
        public static final int         FLAG_QUICK_BAR_DEFAULT      = 0;
        public static final int         FLAG_QUICK_BAR_CUSTOM       = 1;

        ...
      }
        
            
          
Default Mode

Default 모드는 Quick-Bar의 메뉴를 사용자(User)가 직접 지정하여 사용할 수 있는 모드입니다.
Quick-Bar 설정 메뉴를 통해 사용자는 자주 사용하는 앱을 직접 등록함으로써 보다 효율적이고 편리한 Quick-Bar를 사용할 수 있게됩니다.

첫 번째 아이콘 설정 메뉴와, 마지막 메뉴 브라우저 메뉴를 제외한 나머지 영역은 유저가 직접 설정할 수 있습니다.

Custom Mode

Custom 모드는 Default 모드와 달리 사용자가 Quick-Bar 정보를 수정할 수 없으며, 앱사에서 설정한 정보대로 항상 고정된 QuickBar가 출력되는 방식입니다.

Custom 모드로 Quick-Bar를 실행하고 싶은 경우 Flag 값을 추가하여 연동 API를 호출합니다.

              

      ...

      @Override
      protected void onResume() {
        super.onResume();
        
        if(ADQManager.isNotificationPermission(getApplicationContext())) {
          ADQManager.initADQ(MainActivity.this, "AgentKey", ADQConstants.FLAG_QUICK_BAR_CUSTOM);
        }

      }
      
      ...

              
            

QuickBar Config 구현

QuickBar의 아이콘 및 실행 정보를 변경하기 위해서 com.qwertlab.adq.QuickBarConfig Class를 생성하고 구현합니다.
GitHub에 업로드된 샘플 프로젝트에 구현되어있는 QuickBarConfig Class를 복사하여 구현 할 경우 보다 쉽게 구현하실 수 있습니다.

1. 패키지 생성
귀사의 APP 프로젝트의 main 폴더에 com.qwertlab.adq 패키지를 추가합니다. 1. java 폴더 오른쪽 마우스 > New 메뉴 선택 > Package 메뉴 선택
2. 패키지 명에 com.qwertlab.adq 입력 후 OK 버튼 선택

2. 클래스 생성
CustomQuickBarConfig를 상속받는 QuickBarConfig Class를 생성합니다.
(반드시 패키지명 및 class 이름이 같아야합니다)
1. com.qwertlab.adq 패키지 오른쪽 마우스 > New 메뉴 선택 > Java Class 메뉴 선택.
2. Name 영역에 QuickBarConfig 입력.

3. 메서드 구현
getQuickBarObject1() ~ getQuickBarObject5() 메서드를 오버라이드 하여 QuickBar에 노출되는 아이콘, 텍스트, 실행정보를 변경하실 수 있습니다.

              

        public class QuickBarConfig extends CustomQuickBarConfig {

            @Override
            public CustomQuickBarObject getQuickBarObject1() {
                CustomQuickBarObject obj = new CustomQuickBarObject();
                //-- TODO : Change the icon path
                obj.setQuickBarIcon(R.drawable.quick_bar_icon_1);
                //-- TODO : Change the string path
                obj.setQuickBarText(R.string.quick_bar_icon_1);
                obj.setQuickBarAction(new CustomQuickBarObject.QuickBarAction() {
                    @Override
                    public void setQuickBarActionListener(Activity context, String name) {
                        //TODO : Change the action
                        Intent intent = new Intent(context, BrowserMainActivity.class);
                        intent.putExtra(ADQConstants.SEARCH_KEYWORD, "https://m.naver.com/");
                        context.startActivity(intent);
                        context.finish();
                    }
                });
                return obj;
            }

            @Override
            public CustomQuickBarObject getQuickBarObject2() {
                return super.getQuickBarObject2();
            }

            @Override
            public CustomQuickBarObject getQuickBarObject3() {
                return super.getQuickBarObject3();
            }

            @Override
            public CustomQuickBarObject getQuickBarObject4() {
                return super.getQuickBarObject4();
            }

            @Override
            public CustomQuickBarObject getQuickBarObject5() {
                return super.getQuickBarObject5();
            }

        }


              
            
QuickBar On/Off

APP사의 설정 메뉴를 통해 Quick-Bar를 On/Off 할 수 있도록 Quick-Bar On/Off API를 제공하고 있습니다.

              
        if(ADQManager.isQuickBar(getApplicationContext())){
            ADQManager.clearQuickBar(getApplicationContext());
        }else{
            ADQManager.startQuickBar(getApplicationContext());
        }
              
            

Browser API

Qwerty Browser 실행

APP 내에서 Qwerty Browser를 실행하고 싶으실 경우 아래의 예제 코드와 같이 Intent 정보를 설정합니다.

Key : ADQConstants.SEARCH_KEYWORD
Value : URL 정보 혹은 검색 키워드 정보

                
          ... 

          Intent intent = new Intent(context, BrowserMainActivity.class);
          intent.putExtra(ADQConstants.SEARCH_KEYWORD, "https://m.naver.com/");
          context.startActivity(intent);

          ...

                
              
Top