adlibr-android_4.x

Similar documents
PowerPoint 프레젠테이션

( )부록

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

REMON Android SDK GUIDE (SDK Version 1.4.1) 1 / 25

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

어댑터뷰

슬라이드 1

13ÀåÃß°¡ºÐ

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

1 개요 이가이드는 Cocos2d-x 엔진을사용하는안드로이드어플리케이션프로젝트에서아이지에이웍스의서비스를 이용하기위한플러그인가이드입니다. 기능 IGAWorks Cocos2d-x 플러그인이지원하는 IGAW 서비스는아래와같습니다. - 애드브릭스 - 애드팝콘 - 디스플레이애드

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation="vertical" > 4 <ImageView

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

OpenCV와 함께하는 컴퓨터 비전 프로그래밍 캠프

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드]

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

INAPP결제 API 가이드

SBR-100S User Manual

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다.

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Android Master Key Vulnerability

Google Maps Android API v2

View Licenses and Services (customer)

2

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

안드로이드2_14

C++ Programming

PUBLISHER SDK GUIDE 이문서는 DAUM 싞디케이션제휴당사자에한해제공되는자료로가이드라인을 포함한모든자료의지적재산권은주식회사다음커뮤니케이션이보유합니다. COPYRIGHT DAUM COMMUMNICATIONS. ALL RIGHTS RES

03장

슬라이드 1

Office 365 사용자 가이드

Install stm32cubemx and st-link utility

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

2 Application Name: Day10_yhg <LinearLayout android:layout_weight="3" > /> an

슬라이드 1

PUBLISHER SDK GUIDE 이문서는 DAUM 싞디케이션제휴당사자에한해제공되는자료로가이드라인을 포함한모든자료의지적재산권은주식회사다음커뮤니케이션이보유합니다. COPYRIGHT DAUM COMMUMNICATIONS. ALL RIGHTS RES

JUNIT 실습및발표

Network Programming

PowerPoint Presentation

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Facebook API

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

PowerPoint Presentation

C스토어 사용자 매뉴얼

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

PowerPoint Presentation

Microsoft Word - 김정훈

SMART ZONE CAST ANDROID SDK 적용가이드 NIT

IRISCard Anywhere 5

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

[Brochure] KOR_TunA

NTD36HD Manual

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

PowerPoint 프레젠테이션

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

서현수

gnu-lee-oop-kor-lec06-3-chap7

Studuino소프트웨어 설치

리니어레이아웃 - 2 -

JDK이클립스

Microsoft Word - src.doc

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

PowerPoint 프레젠테이션

이것은리스트뷰의 setadapter 메소드에잘표현되어있습니다. setadapter 는리스트뷰에사용할데이터객체를넘겨주는메소드입니다. 일반적으로생각한다면 ArrayAdapter 객체를생성하여사용할데이터를저장할것이고데이터가저장된 ArrayAdapter 객체를 setadapt

JAVA PROGRAMMING 실습 08.다형성

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

오버라이딩 (Overriding)

B2B 매뉴얼

오핀 (OFIN) SDK Guide Fintech Mobile SDK Guide - Android V 1.0 OPPFLIB 1

헬로, 안드로이드 11 주차 위치파악하기와감지하기 강대기동서대학교컴퓨터정보공학부

gnu-lee-oop-kor-lec10-1-chap10

쉽게 풀어쓴 C 프로그래밍

Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

vRealize Automation용 VMware Remote Console - VMware

헬로, 안드로이드 7 주차 멀티미디어 강대기동서대학교컴퓨터정보공학부

PowerPoint 프레젠테이션

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

제11장 프로세스와 쓰레드

ISP and CodeVisionAVR C Compiler.hwp

ICAS CADWorx SPLM License 평가판설치가이드

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

MF3010 MF Driver Installation Guide

SKT UCC DRM

슬라이드 1

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

PowerPoint 프레젠테이션

[ 네이버마일리지 ] 디자인셋팅매뉴얼 1. 장바구니페이지에네이버마일리지안내추가 - 위치 : HTML 디자인설정 > 장바구니 > 장바구니주문목록 {{$c_3}} [ 편집 ] 버튼클릭 > HTML 편집탭으로이동 > 여러개의장바구니모두결제버튼 {u9} [ 편집 ] 버튼클릭하

카택스 비즈 관리자용 사용설명서 목차 사용 전에 시작하기 사용하기 설정하기 알아두기 훑어보기 차량 관리 운행내역 조회 부관리자 설정 자주묻는 질문 회원가입 사용자 관리 운행구간 조회 앱 권한 설정 GPS 오류 요인 부서 관리 운행일지 다운로드

Contents 1 소개 설치 및 사용방법 21 다운로드 22 라이브러리 등록 23 Android Menifest 정의 간단한 31 플레이어 생성 32 이벤트 리스너 정의 33 Surface 할당 3

pdf

책1.pdf

ps

Transcription:

Android SDK User Guide v4

애드립앱관리및 mediation 개요 실제프로젝트환경에 SDK 적용을위한문서입니다. 애드립을통해실제사용할플랫폼은프로젝트에서선택적으로포함하여최종바이너리크기를줄일수있습니다. 실제테스트프로젝트를컴파일하기위하여 각플랫폼사이트에서발급받은 APP - ID 및각 OS 에맞는최신 SDK 가별도로필요합니다. 기본적으로테스트프로젝트는각플랫폼의 jar 파일만새로링크하면동작하도록제작되었으며 실제플랫폼의 SDK 작동방식이변하지않는한 test.adlib.project.ads 안의내용을수정할필요는없습니다. ( 실제발급받은광고플랫폼 ID 적용부분은수정해야합니다.) 2

컴파일을위한준비 #1 각플랫폼의가입과 SDK 다운로드를개별적으로진행합니다. adlibrtestproject / libs 폴더를열어각플랫폼의 jar 파일을아래와같이모두복사해넣습니다. 기타플랫폼 jar 추가 3

컴파일을위한준비 #2 프로젝트를열어아래와같이속성을확인합니다. - 애드립 SDK v4 버전부터는구글광고 ID 가적용되었습니다. - 왼쪽화면과같이 Library 에 Add 버튼을통해 google-play-services_lib 가포함되어야합니다. - 만약 Add 를눌러도조회가되지않는다면 [ 안드로이드 SDK 경로 ]/extras/google/google_play_services/ libproject/google-play-services_lib 을임포트하여이클립스내의 Workspace 로불러옵니다. Android 탭에서사용할 Android SDK 버전을체크합니다. 애드립 SDK 컴파일을위해 API Level 17 이상의 Android SDK 를필요로합니다. 4

프로젝트자세히 test.adlib.project 패키지는테스트를위한 Activity 가위치하며 test.adlib.project.ads 패키지는각광고플랫폼의실제구현부입니다. test.adlib.project.ads 안에서 jar 파일과마찬가지로 실제사용할클래스만선택하여최종파일크기를줄일수있습니다. 기타일반플랫폼구현부 5

AndroidManifest.xml #1 빌드및권한설정 - 아래의권한을추가하지않을경우 Exception 이발생합니다. - 애드립 SDK 최소버전은 9 입니다. (Android 2.3 이상 ) - 타플랫폼의최소버전이애드립보다높다면변경하시기바랍니다. <uses-sdk android:minsdkversion= 9 /> <--. --> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_wifi_state" /> <uses-permission android:name="android.permission.get_tasks" /> <--. --> <uses-permission android:name="android.permission.write_external_storage"/> <uses-permission android:name="android.permission.read_external_storage"/> <-- > <--. --> <uses-permission android:name="android.permission.access_fine_location"/> <--. --> <-- > < -. (.) - > <uses-permission android:name="android.permission.access_wifi_state" /> <uses-permission android:name="android.permission.read_phone_state" /> <uses-permission android:name="android.permission.access_network_state" /> 다음페이지에추가설정부분이있으니, 확인후꼭적용하시기바랍니다. 6

AndroidManifest.xml #2 <application android:icon="@drawable/icon" android:label="@string/app_name" > <-- ID. --> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 애드립 SDK 3.9.8 버전부터구글광고 ID 사용을위해 추가되었습니다. ( 구글플레이정책 ) <--. --> <activity android:name="com.mocoplex.adlib.adlibdialogactivity" android:theme="@android:style/theme.translucent" android:configchanges="orientation keyboard keyboardhidden" /> <activity android:name="com.mocoplex.adlib.adlibwebbrowseractivity" android:configchanges="orientation keyboard keyboardhidden" /> <activity android:name="com.mocoplex.adlib.adlibvideoplayer" android:theme="@android:style/theme.notitlebar" android:configchanges="orientation keyboard keyboardhidden" /> <--. --> </application> 애드립의기능사용을위해서 반드시추가되어야합니다. 그밖에실제프로젝트에연동을위하여기본적으로어플리케이션구동에필요한권한외에위의권한을별도로추가해주세요. 광고플랫폼별필요한권한들은각플랫폼의 SDK 문서를참조해주세요. 7

실제프로젝트연동 #1 보다자세한내용은테스트프로젝트의 AdlibTestProjectActivity.java 파일을참조해주세요. Adlib 을연동하기위해서실제 Activity 구현부를아래와같이수정합니다. public class AdlibTestProjectActivity extends AdlibActivity 처음으로실행되는 Activity 에서광고스케줄링정보를받아올수있도록아래와같이먼저호출합니다. protected void initads() //. ( activity.) // subview. (.) // Activity AdlibManager. (AdlibTestProjectActivity4.java) //. AdlibConfig.getInstance().bindPlatform("ADAM","test.adlib.project.ads.SubAdlibAdViewAdam"); AdlibConfig.getInstance().bindPlatform("ADMOB","test.adlib.project.ads.SubAdlibAdViewAdmob"); AdlibConfig.getInstance().bindPlatform("CAULY","test.adlib.project.ads.SubAdlibAdViewCauly"); AdlibConfig.getInstance().bindPlatform("TAD","test.adlib.project.ads.SubAdlibAdViewTAD"); AdlibConfig.getInstance().bindPlatform("NAVER","test.adlib.project.ads.SubAdlibAdViewNaverAdPost"); AdlibConfig.getInstance().bindPlatform("SHALLWEAD","test.adlib.project.ads.SubAdlibAdViewShallWeAd"); AdlibConfig.getInstance().bindPlatform("INMOBI","test.adlib.project.ads.SubAdlibAdViewInmobi"); AdlibConfig.getInstance().bindPlatform("MMEDIA","test.adlib.project.ads.SubAdlibAdViewMMedia"); AdlibConfig.getInstance().bindPlatform("MOBCLIX","test.adlib.project.ads.SubAdlibAdViewMobclix"); AdlibConfig.getInstance().bindPlatform("UPLUSAD","test.adlib.project.ads.SubAdlibAdViewUPlusAD"); AdlibConfig.getInstance().bindPlatform("MEZZO","test.adlib.project.ads.SubAdlibAdViewMezzo"); AdlibConfig.getInstance().bindPlatform("AMAZON","test.adlib.project.ads.SubAdlibAdViewAmazon"); AdlibConfig.getInstance().bindPlatform("ADHUB","test.adlib.project.ads.SubAdlibAdViewAdHub"); AdlibConfig.getInstance().bindPlatform("MEDIBAAD","test.adlib.project.ads.SubAdlibAdViewMedibaAd"); // JAR test.adlib.project.ads. // SMART* dialog / setadlibkey activity activity activity app. // adlibr.com api. // https://sec.adlibr.com/admin/dashboard.jsp AdlibConfig.getInstance().setAdlibKey( ADLIB API KEY ); 8

실제프로젝트연동 #1 자세히 1. 실제구현된광고플랫폼뷰를프로젝트에연결합니다. AdlibConfig.getInstance().bindPlatform("INMOBI","test.adlib.project.ads.SubAdlibAdViewInmobi"); 위패키지경로는실제구현된경로로수정이되어야하며테스트프로젝트에서는 test.adlib.project.ads 경로아래에구현되어위와같이연결되었습니다. 2. Adlib 에서발급받은 API KEY 를설정합니다. AdlibConfig.getInstance().setAdlibKey("ADLIB API KEY"); API Key 는 https://sec.adlibr.com/admin/dashboard.jsp 에서발급및확인이가능합니다. 노출, 클릭관련로그는홈페이지관리페이지에서실시간으로확인가능합니다. 3. 애드립을이용하여클라이언트버전관리를할수있습니다. setversioncheckinglistner(new AdlibVersionCheckingListener()); 서버에서클라이언트버전을관리하여사용자들에게클라이언트버전업을유도할수있습니다. ( 자세한내용은샘플프로젝트를참조하세요.) 클라이언트최신버전은홈페이지 -> 설정메뉴를통해설정가능합니다. deprecated : SMART* dialog 를통해보다손쉽게앱업데이트를유도할수있습니다. 9

실제프로젝트연동 #2 애드립을연동하기위해아래와같이구현합니다. setcontentview(r.layout.main); initads(); // adview. this.setadscontainer(r.id.ads); layout / main.xml 은아래와같이구현되었습니다. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <-- adlib adview --> <com.mocoplex.adlib.adlibadviewcontainer android:layout_width="fill_parent" isdefaultbanner : 초기광고로딩전에기본하우스배너를보여줄지말지여부. android:layout_height="wrap_content" true 이면애드립배너혹은대쉬보드에서설정하신사용자배너가초기로딩전에 android:id="@+id/ads" 보여집니다. ( 기본값은 true) isdefaultbanner="true" /> </LinearLayout> 위와같이 xml 에서 com.mocoplex.adlib.adlibadviewcontainer 로구현된 id / ads 를 this.setadscontainer(r.id.ads); 최종적으로 Activity 에연결합니다. 10

실제프로젝트연동 # 두번째 Activity 보다자세한내용은테스트프로젝트의 AdlibTestProjectActivity2.java 파일을참조해주세요. public class AdlibTestProjectActivity2 extends AdlibActivity /** Called when the activity is first created. */ @Override public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main2); this.setadscontainer(r.id.ads); 이미전역적인설정을첫번째 Activity 에서수행하였기때문에두번째이후의 Activity 에서는 위와같이광고뷰를 bind 하기만하면됩니다. 11

실제프로젝트연동 # 광고 View 동적생성 보다자세한내용은테스트프로젝트의 AdlibTestProjectActivity3.java 파일을참조해주세요. public class AdlibTestProjectActivity3 extends AdlibActivity 광고뷰를 xml 이아닌아래와같이동적으로코드상에서생성및연결이가능합니다. // adview. avc = new com.mocoplex.adlib.adlibadviewcontainer(adlibtestprojectactivity3.this); ViewGroup vg = (ViewGroup)findViewById(R.id.maincontainer); vg.addview(avc); // adview. bindadscontainer(avc); 초기광고로딩전에하우스배너를보여줄지말지에대한설정을하고싶으시면, avc = new com.mocoplex.adlib.adlibadviewcontainer(adlibtestprojectactivity3.this, true); 위와같이 AdlibAdViewContainer 를생성할때, boolean 값을지정하면됩니다. true 이면애드립배너혹은대쉬보드에서설정하신사용자배너가초기로딩전에보여집니다. boolean 을지정하지않으면기본으로하우스배너가노출됩니다. 12

실제프로젝트연동 #3 실제광고플랫폼의뷰를포함하는패키지이며 SubAdlibAdViewCore 클래스를상속받아제작됩니다. public void query() 스케줄러에의해위의함수가호출되며광고를수신한경우 public void gotad() 가호출되며위의함수호출로실제로 AdlibAdViewContainer 를통해화면에보여지게됩니다. 위의패키지명은필요에의해임의의프로젝트경로로변환이가능하며 변환된경로는 AdlibConfig.getInstance().bindPlatform("INMOBI","test.adlib.project.ads.SubAdlibAdViewInmobi"); 를통해실제경로로변경해야합니다. 13

실제프로젝트연동 #4 테스트프로젝트의 test.adlib.project.ads 패키지안에는제휴및일반플랫폼의 view 가구현되어있습니다. 기본적인모든구현은이미완성되어있으며실제각플랫폼구현부에서의 ID 부분만실제발급받은 ID 로교체하여사용합니다. AndroidManifest.xml 에 ID 를추가해야하는경우도있습니다. ( 각플랫폼의 SDK 문서참조 ) 주의 1) Proguard를이용하여암호화하는경우 proguard configuration 파일수정이필요합니다. 자세한구현내용은테스트프로젝트의 proguard.cfg 파일 또는 https://github.com/mocoplex/adlibr-sdk-android/blob/master/adlibrtestproject/proguard.cfg 위주소를참고해주세요. 2) 애드립은내부스케줄링정보를저장하기위해 document 폴더안에캐쉬데이터를저장합니다. DocumentPath/Adlib-data/ 경로에캐쉬데이터를저장하므로해당폴더를삭제하지말아주세요. 14

AdlibActivity public class AdlibActivity extends Activity private AdlibManager _amanager; protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); 애드립은기본적으로 Activity 를상속받아 각 status 별최적화를위한별도작업을처리하게됩니다. 기본 Activity 에서의애드립연동은 AdlibActivity 소스를참고하여구현가능합니다. _amanager = new AdlibManager(); _amanager.oncreate(this); protected void onresume() _amanager.onresume(this); super.onresume(); protected void onpause() _amanager.onpause(); super.onpause(); protected void ondestroy() _amanager.ondestroy(this); super.ondestroy(); public void setadscontainer(int rid) _amanager.setadscontainer(rid); public void bindadscontainer(adlibadviewcontainer a) _amanager.bindadscontainer(a); public void loadinterstitialad() _amanager.loadinterstitialad(this); public void setversioncheckinglistner(adlibversioncheckinglistener l) _amanager.setversioncheckinglistner(l); public void destroyadscontainer() _amanager.destroyadscontainer(); AdlibTestProjectActivity4.java 파일을참조해주세요. 15

애드립팝배너 - 그림과같은형태의배너가노출된후일정시간이지나면사라집니다. - 아래의메소드를호출하여애드립팝배너를보여줄수있습니다. (AdlibActivity) // setadlibpopframecolor(color.dkgray); // (BTN_WHITE, BTN_BLACK 2 ) setadlibpopclosebuttonstyle(adlibpop.btn_white); // in, out (ANIMATION_SLIDE, ANIMATION_NONE 2 ) setadlibpopanimationtype(adlibpop.animation_slide, AdlibPop.ANIMATION_SLIDE); // (int align, int padding(dp )) // ALIGN_LEFT, ALIGN_TOP, ALIGN_RIGHT, ALIGN_BOTTOM 4 showadlibpop(adlibpop.align_bottom, 50); (AdlibManager 생성시 ) _amanager.setadlibpopframecolor(color.dkgray); _amanager.setadlibpopclosebuttonstyle(adlibpop.btn_white); _amanager.setadlibpopanimationtype(adlibpop.animation_slide, AdlibPop.ANIMATION_SLIDE); _amanager.showadlibpop(this, AdlibPop.ALIGN_BOTTOM, 50); - 아래의메소드를호출하여애드립팝배너를숨길수있습니다. (AdlibActivity) hideadlibpop(); (AdlibManager 생성시 ) _amanager.hideadlibpop(); 16

애드립팝배너 - 팝배너수신성공, 실패등에대한이벤트처리가필요한경우, handler 를이용할수있습니다. showadlibpop(adlibpop.align_bottom, 30, new Handler() public void handlemessage(message message) try switch (message.what) case AdlibManager.DID_SUCCEED: Log.d("ADLIBr", "onreceivedpopbanner"); break; case AdlibManager.DID_ERROR: Log.d("ADLIBr", "onfailedpopbanner"); break; case AdlibManager.POP_CLOSED: Log.d("ADLIBr", "onclosedpopbanner"); break; catch(exception e) ); 17

애드립리워드배너 ( 띠배너 ) - Background request 를통해지면낭비없이, 더높은단가의광고를우선적으로노출합니다. - 별도플랫폼의회원가입이나 SDK 연동없이, 바로제휴플랫폼의광고를효율적으로노출할수있습니다. - 애드립리워드배너는실시간단가정보를활용하여, 기준보다높은단가의광고를우선노출하기때문에기존보다더높은광고수익을기대할수있습니다. - 대쉬보드의전역설정에서 R Banner 단가를 Auto 혹은원하는단가로설정후 ON 선택하여 저장및적용하기 버튼을클릭합니다. - 위설정을키는것만으로바로리워드배너를앱에노출할수있습니다. 18

애드립리워드배너 ( 띠배너 ) 플랫폼별성공과실패이벤트를받고싶다면아래와같이 handler 를등록하면됩니다. this.setadshandler(new Handler() @Override public void handlemessage(message message) try switch (message.what) case AdlibManager.DID_SUCCEED: Log.d("ADLIBr", "onreceivead " + (String)message.obj); break; case AdlibManager.DID_ERROR: Log.d("ADLIBr", "onfailedtoreceivead " + (String)message.obj); break; catch(exception e) ); 19

애드립리워드배너 ( 전면배너 ) - 대쉬보드의간단한설정으로 앱시작시 또는 앱종료시 에전면배너를자동노출할수 있습니다. - 그외의시점이나, 버튼클릭등과같은이벤트발생시에는직접호출하여전면배너를 노출할수있습니다. - 직접호출하여전면배너를노출할때는다양한플랫폼을스케줄링할수있습니다. 20

애드립리워드배너 ( 전면배너 ) 1. 자동노출 - 대쉬보드에서 앱시작시 나 앱종료시 를 ON 으로설정하시면, 아무런구현없이해당시점에전면배너가노출됩니다. - 단, 자동노출기능은스케줄링을사용할수없으며, 애드립에서제공하는전면배너노출만가능합니다. 21

애드립리워드배너 ( 전면배너 ) 2. 직접호출 전면배너자동노출을사용하지않고직접호출을하기위해서는아래코드를입력해주세요. (AdlibActivity) loadinterstitialad(); - loadfullinterstitialad(); - full size (AdlibManager 생성시 ) _amanager.loadinterstitialad(this); _amanager.loadfullinterstitialad(this); - - full size 전면배너수신성공, 실패등에대한이벤트처리가필요한경우, handler 를이용할수있습니다. loadinterstitialad(new Handler() public void handlemessage(message message) try switch (message.what) case AdlibManager.DID_SUCCEED: Log.d("ADLIBr", "onreceivead " + (String)message.obj); break; case AdlibManager.INTERSTITIAL_FAILED: Log.d("ADLIBr", onfailedtoreceivead"); break; case AdlibManager.INTERSTITIAL_CLOSED: Log.d("ADLIBr", "onclosedad " + (String)message.obj); break; catch(exception e) ); 22

애드립리워드배너 ( 전면배너 ) 2. 직접호출 ( 스케줄링 ) - 대쉬보드에서전면배너스케줄링사용을켜면, 스케줄설정을할수있습니다. - 전면광고수신에실패하면애드립전면배너 + 설정된플랫폼순서대로전면광고를호출합니다. 23

애드립리워드배너 ( 전면배너 ) 3. 전면배너 view 활용 - 애드립전면배너 View 를다른형태로이용할수있도록 API 를지원합니다. - 아래의메소드를호출하여 AdlibInterstitialView 를원하는곳에사용할수있습니다. - 자세한내용은샘플프로젝트에서확인할수있습니다. // getinterstitialview(width(dp), maxheight(dp), handler); // width height view. // height maxheight maxheight view. getinterstitialview(200, 300, new Handler() public void handlemessage(message message) try switch (message.what) case AdlibManager.DID_SUCCEED: AdlibInterstitialView iview = (AdlibInterstitialView)message.obj; // getviewheight height (dp). int viewheight = iview.getviewheight(); break; case AdlibManager.DID_ERROR: // break; catch(exception e) ); 24

애드립리워드배너자세히 리워드배너노출을위해코드상에추가로구현할내용은없습니다. AndroidManifest.xml 파일에권한및 activity 설정내역이추가되었는지꼭확인해주세요. <--. --> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.get_tasks" /> <--. --> <uses-permission android:name="android.permission.write_external_storage"/> <uses-permission android:name="android.permission.read_external_storage"/> <-- --> <uses-permission android:name="android.permission.read_phone_state" /> <uses-permission android:name="android.permission.access_fine_location"/> <uses-permission android:name="android.permission.access_location_extra_commands" /> <uses-permission android:name="android.permission.access_wifi_state" /> <uses-permission android:name="android.permission.access_network_state" /> <-- --> <--. --> <activity android:name="com.mocoplex.adlib.adlibdialogactivity" android:theme="@android:style/theme.translucent" android:configchangesnges="orientation keyboard keyboardhidden" /> <activity android:name="com.mocoplex.adlib.adlibwebbrowseractivity" android:configchanges="orientation keyboard keyboardhidden" /> <activity android:name="com.mocoplex.adlib.adlibvideoplayer" android:theme="@android:style/theme.notitlebar" android:configchanges="orientation keyboard keyboardhidden" /> <--. --> 25

애드립리워드링크 애드립리워드링크개요 - 기존 Mediation 시스템과별도로동작하는시스템입니다. - 광고의자유로운위치설정이가능하며, 아이콘형태로최소한의지면을사용합니다. - 배너광고이외의수익을추가로더얻을수있습니다. - 노출여부를관리자페이지에서손쉽게설정할수있습니다. 26

애드립리워드링크 애드립리워드링크는기존의 mediation 시스템과개별적으로동작합니다. 애드립리워드링크를이용해, 앱에 [ 아이콘 ] 형태의광고를노출할수있으며, [ 아이콘 ] 광고를이용하여배너수익외추가수익을거둘수있습니다. 리워드링크의카테고리상품은계속적으로확대적용될예정이며, 매뉴얼에서는 [ 리워드패션링크 ] 적용샘플을안내합니다. 애드립리워드링크를앱에적용하기위해서는 메뉴를통해서리워드링크 API 키를발급받습니다. 노출할아이콘을선택하고노출여부를결정한후 실제앱구현부에발급받은 API 키를적용합니다. 27

리워드링크사용법 - 구현 리워드링크아이콘을노출하기원하는 Activity 의 onresume 과 onpause 에아래와같이호출합니다. 애드립 mediation 과별도로동작하며, 샘플프로젝트를참조하여노출을원하는 Activity 에 2 라인만추가하면모든적용이완료됩니다. @Override public void onresume() AdlibRewardLink.getInstance().rewardLink(this, "REWARD_LINK_KEY", x, y, align); super.onresume(); @Override protected void onpause() AdlibRewardLink.getInstance().pauseRewardLink(this); super.onpause(); x - x 축 padding. pixel 단위의 int 양수값 y - y 축 padding. pixel 단위의 int 양수값 align - 아이콘정렬기준. AdlibRewardIcon.ALIGN_LEFT_TOP AdlibRewardIcon.ALIGN_RIGHT_TOP AdlibRewardIcon.ALIGN_LEFT_BOTTOM 좌측상단 우측상단 좌측하단 AdlibRewardIcon.ALIGN_RIGHT_BOTTOM 우측하단 아이콘 align의기준값에서 x축으로 x만큼이동, y축으로 y만큼이동한곳에아이콘이배치됩니다. 28

리워드링크사용법 - 구현 리워드링크아이콘사용예제 (*) 아이콘위치는아이콘의중심점기준입니다. 1 4 0 p x. 20px 1 AdlibRewardLink.getInstance().rewardLink(this, "KEY", 20, 40, AdlibRewardIcon.ALIGN_RIGHT_TOP); 2 AdlibRewardLink.getInstance().rewardLink(this, "KEY", 30, 70, AdlibRewardIcon.ALIGN_LEFT_BOTTOM); 30px. 2 7 0 p x 29

리워드링크사용법 - 구현 2 - 용도에따라아이콘을직접 add, remove 할수있도록 View 를 return 하는 API 를지원합니다. - 아래의메소드를호출하여 AdlibRewardIconView 를원하는곳에사용할수있습니다. - 자세한내용은샘플프로젝트에서확인할수있습니다. AdlibRewardLink.getInstance().getRewardLinkInfo(this, "REWARD_LINK_KEY", new Handler() public void handlemessage(message message) try switch (message.what) case AdlibManager.DID_SUCCEED: AdlibRewardIconView iconview = (AdlibRewardIconView)message.obj; // view width int w = iconview.getwidthsize(); // view height int h = iconview.getheightsize(); break; case AdlibManager.DID_ERROR: break; catch(exception e) ); 30

리워드링크사용법 - 직접호출예제 리워드링크직접호출예제 아이콘노출이아닌앱의별도버튼이나메뉴를통해리워드링크의랜딩페이지를호출할수있습니다. 버튼혹은메뉴클릭시호출되는 hanlder 에아래코드를입력해주세요. AdlibRewardLink.getInstance().showRewardLink(this, "REWARD_LINK_KEY"); 자세한내용은샘플프로젝트에서확인하실수있습니다. 31

애드립리워드링크자세히 리워드링크노출을위한코드구현이마무리되었다면 AndroidManifest.xml 파일에권한및 activity 설정내역이추가되었는지꼭확인해주세요. (Manifest 설정은 mediation 과공유합니다.) <--. --> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.get_tasks" /> <--. --> <uses-permission android:name="android.permission.write_external_storage"/> <uses-permission android:name="android.permission.read_external_storage"/> <-- --> <uses-permission android:name="android.permission.read_phone_state" /> <uses-permission android:name="android.permission.access_fine_location"/> <uses-permission android:name="android.permission.access_location_extra_commands" /> <uses-permission android:name="android.permission.access_wifi_state" /> <uses-permission android:name="android.permission.access_network_state" /> <-- --> <--. --> <activity android:name="com.mocoplex.adlib.adlibdialogactivity" android:theme="@android:style/theme.translucent" android:configchangesnges="orientation keyboard keyboardhidden" /> <activity android:name="com.mocoplex.adlib.adlibwebbrowseractivity" android:configchanges="orientation keyboard keyboardhidden" /> <activity android:name="com.mocoplex.adlib.adlibvideoplayer" android:theme="@android:style/theme.notitlebar" android:configchanges="orientation keyboard keyboardhidden" /> <--. --> 32

Smart Dialog 란? - 공지사항알림, 앱업데이트유도등개인화된대화상자를별도구현없이손쉽게생성할수있습니다. - 온라인에서의간단한설정만으로손쉽게대화상자를컨트롤할수있습니다. - 대화상자를통해배너가노출될때마다 3,000 여개의앱이사용중인애드립네트워크안에서 나의앱도교차홍보되어, 더많은사용자들에게나의앱을알릴수있습니다. 33

- 대화상자는대쉬보드의대화상자탭에서 대화상자추가하기 를클릭후원하는형태로설정하여노출할수있습니다. - 노출시점설정시, App 시작시점은프로젝트에서의소스구현분의 AdlibConfig.getInstance().setAdlibKey("ADLIB API KEY"); 해당소스가구현되어있는 Activity 가 create 되는시점이며, App 종료시점역시같은 Activity 가 destroy 되는시점입니다. 34

자주묻는질문 FAQ - 꼭 AdlibActivity 를상속받아구현해야하나요? 애드립과관련한기본적인구현은 AdlibManager 클래스에서구현되었으며이클래스를멤버로 Activity status 에맞추어멤버함수를호출하여사용가능합니다. https://github.com/mocoplex/adlibr-sdk-android/blob/master/adlibrtestproject/src/test/adlib/project/adlibtestprojectactivity4.java 위주소에서자세한구현내역을확인가능합니다. - 각나라에맞게광고스케줄을달리적용하고싶습니다. ( 지역타게팅 ) 애드립의앱스케줄설정화면에서, 타게팅을원하는나라를추가하여손쉽게노출전략을설정할수있습니다. - proguard 적용후광고, 대화상자가보이지않습니다. 실제바인드하는패키지의난독화로광고가보이지않는현상이나타날수있습니다. -keep 옵션을주어아래코드에서사용된패키지경로의난독화를방지합니다. 자세한구현내용은테스트프로젝트의 proguard.cfg 파일 또는 https://github.com/mocoplex/adlibr-sdk-android/blob/master/adlibrtestproject/proguard.cfg 위주소를참고해주세요. 35

정리 애드립연동이마무리되었습니다. ## 실제프로젝트에애드립을연동하기위해 ## 1. 각플랫폼의 ID 발급및 SDK 다운로드 2. SDK 프로젝트에라이브러리추가 3. AndrodiManifest.xml 수정 4. test.adlib.project.ads 안의광고 ID 설정부분수정 5. 광고를보여줄 Activity 의 AdlibActivity 상속 ( 일반 Activity 의경우에는 AdlibManager 생성및 oncreate, onresume, onpause, ondestroy 호출 ) 6. AdlibConfig.getInstance() 를통한전역적인광고설정 ( 일반 Activity 의경우이작업보다 AdlibMnager 의생성및 oncreate 가먼저이루어져야합니다.) 7. AdlibAdViewContainer 생성및 bind 관련된추가적인개발관련한문의사항과고급설정등관련내용은 http://adlibr.com 의개발자지원메뉴를통해공유되고있습니다. 감사합니다. 36