IMG-LOGO
API Document
연동 API

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

					

	public class XAdsPlatformManager {

		...
		
		public static void initXAdsPlatform(Activity activity, String agentkey)
		
		public static void initXAdsPlatform(Activity activity, String agentkey, int quickBarFlag)

		public static void initXAdsPlatform(Activity activity, String agentkey, boolean approvedDialog)

		public static void initXAdsPlatform(Activity activity, String agentkey, int quickBarFlag, boolean approvedDialog)

		...

	}
					
				

1. Activity activity

연동 API를 호출하는 MainActivity 정보

2. String agentkey

연동 APP사의 Agent Key 정보

3. int quickBarFlag

Quick-Bar 실행모드 (Custom Quick-Bar를 구현하고 싶으실 경우 사용)

XAdsConstants.FLAG_QUICK_BAR_DEFAULT
XAdsConstants.FLAG_QUICK_BAR_CUSTOM

4. boolean approvedDialog

XAds SDK 이용 동의창 출력 여부

true : 이용 동의창 출력
false : 이용 동의창 미출력



연동 API 샘플 코드

XAds SDK 연동 API는 MainActivity 클래스의 onResume( )메서드에서 연동 API를 호출합니다.
※ 연동 API 호출전 반드시 파일 읽고/쓰기 권한이 있는지 체크 후 호출합니다.

				

	...

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

		//-- 기본적인 연동 API 호출 방식.
		if(XAdsPlatformManager.isXAdsPermission(this)) {
			XAdsPlatformManager.initXAdsPlatform(this, "AgentKey");
		}

		//-- Custom Quick-Bar를 사용하고 싶은 경우
		if(XAdsPlatformManager.isXAdsPermission(this)) {
			XAdsPlatformManager.initXAdsPlatform(this, "AgentKey", XAdsConstants.FLAG_QUICK_BAR_CUSTOM);
		}

		//-- 이용동의창 출력을 하고 싶지 않은 경우 
		if(XAdsPlatformManager.isXAdsPermission(this)) {
			XAdsPlatformManager.initXAdsPlatform(this, "AgentKey", false);
		}

		//-- Custom Quick-Bar를 사용하면서 이용동의창 출력을 하고 싶지 않은 경우
		if(XAdsPlatformManager.isXAdsPermission(this)) {
			XAdsPlatformManager.initXAdsPlatform(this, "AgentKey", XAdsConstants.FLAG_QUICK_BAR_CUSTOM, false);
		}

	}
	
	...

				
			
Quick-Bar API

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

					

	public final class XAdsConstants {

		...

		//-- 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 정보를 수정할 수 없으며, 앱사에서 설정한 정보대로 항상 고정된 Quick-Bar가 출력되는 방식입니다.

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

						

		...

		@Override
		protected void onResume() {
			super.onResume();
			//-- Check to Permission.
			if(XAdsPlatformManager.isXAdsPermission(this)) {
				//-- Change your agent key
				XAdsPlatformManager.initXAdsPlatform(this, "ChangeYoutAgentKey", XAdsConstants.FLAG_QUICK_BAR_CUSTOM);
			}
		}
		
		...

						
					

Quick-Bar Config 구현

Quick-Bar의 아이콘 및 실행 정보를 변경하기 위해서 com.xads.platform.QuickBarConfig Class를 생성하고 구현합니다.

샘플 앱에 구현되어있는 QuickBaConfig 클래스를 복사하여 구현할 경우 보다 쉽게 Custom Quick-Bar를 구현하실 수 있습니다.

1. 패키지 생성

귀사의 APP 프로젝트의 main 폴더에 com.xads.platform 패키지를 추가합니다.

1. java 폴더 오른쪽 마우스 > New 메뉴 선택 > Package 메뉴 선택
2. main 폴더 선택 후 OK 버튼 선택
3. 패키지 명에 com.xads.platform 입력 후 OK 버튼 선택

2. 클래스 생성

CustomQuickBarConfig를 상속받는 QuickBarConfig Class를 생성합니다.

1. com.xads.platform 패키지 오른쪽 마우스 > New 메뉴 선택 > Java Class 메뉴 선택.
2. Name 영역에 QuickBarConfig 입력.
3. Superclass 영역에 com.xads.platform.quickbar.CustomQuickBarConfig 입력
4. OK 버튼 선택 5. 메서드 오버라이딩 영역에서 getQuickBarObject1 ~ getQuickBarObject5 메서드 선택 후 OK 버튼 선택.

3. 메서드 구현

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

						
	
	package com.xads.platform;

	public class QuickBarConfig extends CustomQuickBarConfig {

		@Override
		public CustomQuickBarObject getQuickBarObject1() {

			CustomQuickBarObject obj1 = super.getQuickBarObject1();

			//-- TODO : Change the string path
			obj1.setQuickBarText(R.string.sample_quickbar_txt_1);

			//-- TODO : Change the icon path
			obj1.setQuickBarIcon(R.mipmap.ic_launcher_round);

			obj1.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(XAdsConstants.EXTRA_SEARCH_TEXT, "http://naver.com");
					context.startActivity(intent);
				}
			});
			return obj1;
		}


		@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();
		}
	}

						
					

Quick-Bar On/Off

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

Quick-Bar와 관련된 API는 XAdsPlatformManager Class에 정의되어있습니다.

				

	public class XAdsPlatformManager {

		...

		public static boolean isQuickBar(Context context)

		public static void startQuickBar(Context context)

		public static void clearQuickBar(Context context)

		...

	}

				
			

APP사의 설정 화면에서 Quick-Bar On/Off 토글 기능을 구현하고 싶을 경우 아래의 예제코드와 같이 구현하시면됩니다.

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

잠금 화면 설정

잠금 화면에 Quick-Bar 노출 여부를 설정할 수 있습니다. (Default : Off)

XAdsPlatformManager class에 정의된 setLockScreenStatus 메서드를 호출하여 잠금화면 노출 여부를 설정할 수 있습니다.

true : 잠금화면 노출
false : 잠금화면 비 노출

				
	public class XAdsPlatformManager {

		...

		public static void setLockScreenStatus(Context context, boolean lockScreenStatus)

		...

	}
				
			

잠금 화면 API가 정상적으로 동작하기 위해서는 연동 API 호출전 잠금화면에 대한 설정 값을 먼저 설정해야합니다.

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

		...

		//-- Check to Permission.
		if(XAdsPlatformManager.isXAdsPermission(this)) {

			//-- Setting to Lock Screen Status.
			XAdsPlatformManager.setLockScreenStatus(this, true);

			//-- Change your agent key
			XAdsPlatformManager.initXAdsPlatform(this, "ChangeYoutAgent", XAdsConstants.FLAG_QUICK_BAR_CUSTOM);

		}

		...

	}
				
			

제조사에 따라 일부 단말에서는 Lock Screen 설정 정보가 정상 구동되지 않을 수 있습니다.

Browser API

XAds Browser 실행

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

브라우저 호출 시 실행하고 싶은 URL 정보가 있을 경우 putExtra 정보를 설정합니다.

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


				

		...

		Intent XAdsBrowserIntent = new Intent(getApplicationContext(), BrowserMainActivity.class);
		XAdsBrowserIntent.putExtra(XAdsConstants.SEARCH_KEYWORD, "http://google.com");
		startActivity(XAdsBrowserIntent);

		...

				
			
Permission

XAds SDK Permission

XAds SDK 내부의 AndroidManifest.xml에 선언된 권한(Permission) 정보는 아래와 같습니다.

				
...

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

...
				
			

XAds SDK는 브라우저 기능을 위한 최소한의 권한만을 얻고 있으며, 파일 읽고/쓰기 권한을 필수 권한으로 얻고 있습니다.

문의사항이 있으시거나, 보다 더 자세한 사항을 원하실 경우 관리자에게 문의 부탁드립니다.