기본 설정

Android 프로젝트에서 애드팝콘 SSP를 연동하기 위한 문서입니다. 서비스 이용 중 도움이 필요한 경우에는 애드팝콘 SSP 사업팀 (monetize@adpopcorn.com)으로 연락 부탁드립니다

1. SDK Gradle 설치

Gradle을 이용하여 SDK를 설정합니다.

1) build.gradle 설정

allprojects {
    repositories {
        mavenCentral()
    }
}

2) SDK 수동 다운로드 및 설치

위 Gradle 설정을 이용하지 않고 수동으로 SDK 다운로드 하고자 할 경우 아래 다운로드 링크를 통해 최신 안드로이드 SDK 패키지를 다운로드 합니다.

다운로드 받은 .zip 파일을 압축해제하여 AdPopcornSSP~*.aar 파일을 안드로이드 스튜디오 프로젝트로 복사한 후 gradle 을 업데이트합니다.

3) Gradle 설정

SDK 복사 후 아래와 같이 build.gradle 에 dependiencies 를 추가하고 업데이트 합니다.

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile(name: 'AdPopcornSSP_3.5.2a', ext: 'aar')
    repositories { flatDir { dirs 'libs' } }
}

2. 매니페스트 설정

애드팝콘 SSP를 이용하기 위한 내용을 AndroidManifest.xml 파일에 추가합니다.

1) 앱 키 추가

애드팝콘 SSP 콘솔페이지에서 애드팝콘 앱 등록 후 발급받은 앱 키를 <application> </application> 태그 안에 추가합니다.

XML
<application>
... 
<meta-data android:name="adpopcorn_ssp_app_key" android:value="이곳에_앱키를_입력하세요"/> 
...
</application>

2) 퍼미션 추가

<manifest></manifest> 태그 안에 필수 퍼미션을 추가합니다.

XML
<manifest>
... 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
...
</manifest>

3) GDPR 설정

EU의 GDPR (General Data protection Regulation) 법안에 대응하기 위해 아래 API를 추가 합니다.

GDPR 동의 여부 세팅을 위해 아래의 API가 추가 되었습니다. 기본 값은 True이고 GDPR 동의가 필요한 유저에 한해 아래 API를 호출하시기 바랍니다.

AdPopcornSSP.gdprConsentAvailable(false);

3. 필수 코드 연동

애드팝콘 SSP는 배너, 리워드 비디오, 전면, 네이티브 등 다양한 형태의 광고를 제공하고 있습니다.

각 광고 형식별 연동을 진행하기에 앞서서 기본 API를 이용하여 초기화 작업을 진행하여야 합니다.

1) SSP SDK 초기화

init API를 어플리케이션 실행 후 최초로 로드되는 activity 혹은 SSP 광고를 노출하고자 하는 activity에서 호출하여 SDK를 초기화합니다.

단, init 중복 호출 시, 그 사이에 세팅된 광고가 초기화 됨으로 중복 호출을 방지하고자 할 때에는 isInitialized API를 통해 초기화 작업이 완료된 상태인지 체크하시기 바랍니다.

if(AdPopcornSSP.isInitialized(MyDisplayAdSampleActivity.this)){
	// Already SSP SDK initialized
}
else{
	AdPopcornSSP.init(MyDisplayAdSampleActivity.this);
}

인앱비딩을 사용하는 매체의 경우 아래 init API를 사용해, 초기화를 진행해 주어야 합니다. 그렇지 않을 경우, 인앱 비딩을 사용하는 placement 지면에 대한 업데이트가 이루어지지 않아, 인앱비딩이 동작하지 않습니다.

if(AdPopcornSSP.isInitialized(MyDisplayAdSampleActivity.this)){
    // Already SSP SDK initialized
}
else{
    AdPopcornSSP.init(MyDisplayAdSampleActivity.this, new SdkInitListener() {
        @Override
        public void onInitializationFinished() {
             // init 작업이 완료 된 뒤, 광고 로드 작업을 진행해 주시기 바랍니다.
        }
    });
}

2) 리소스 해제

destroy API를 이용하여 어플리케이션이 종료될 때 메모리에 할당된 SSP 관련 리소스(View,Memory)를 해제합니다. 앱이 종료될 때 호출되는 activity의 onDestroy()에서 호출합니다.

@Override
protected void onDestroy() {	
    // TODO Auto-generated method stub	
    super.onDestroy();	
    
    AdPopcornSSP.destroy();
}

3) 안드로이드 9.0 HTTP 통신 대응

Android P 부터 일반 텍스트 트래픽(암호화 되지 않은 HTTP)은 기본적으로 차단 됩니다.

SSP에서 취급하는 광고는 기본적으로 HTTPS를 사용하고 있으나 미디에이션 광고에서는 HTTPS 사용 여부를 확신할 수 없기 때문에 AndroidManifest.xml 파일에 아래 설정을 추가 부탁 드립니다.

XML
<manifest> 
<application android:networkSecurityConfig="@xml/network_security_config"> 
     ... 
</application>
</manifest>

4) 네트워크 보안 구성 파일 추가

네트워크 보안 구성 기능은 res/xml/network_security_config.xml 파일에 아래 설정을 추가 부탁 드립니다.

XML
<?xml version="1.0" encoding="utf-8"?>
<network-security-config> <base-config cleartextTrafficPermitted="true"/>
</network-security-config>

5) 유저 타게팅 옵션 (Optional)

유저 타게팅 정보를 세팅하실 경우, 타게팅이 가능한 미디에이션에 자동으로 타게팅 정보가 세팅됩니다.

AdPopcornSSPUserProperties userProperties = new AdPopcornSSPUserProperties.Builder()
		.gender(0)
		.yob(1984)
		.language("KR")
		.country("KO")
		.build();
AdPopcornSSP.setUserProperties(userProperties);
key설명type예시

gender

성별

int

0: 남성, 1: 여성, 2: 알 수 없음

yob

출생년도

int

1990

language

언어

string

"KR"

country

국가

string

"KO"

6) UID 2.0 설정 (Optional)

쿠팡 DSP로 부터 높은 단가의 광고를 제공 받기 위해서는 UID 2.0 설정을 진행하여야 합니다.

애드팝콘 SSP 콘솔 페이지 내 개인정보보호약정서에 동의한 매체의 경우 아래 API를 통해 UID 설정을 진행해 주어야 합니다.

UIDIdentifier Type은 아래 2가지를 지원합니다.

  • Email

  • PhoneNumber

AdPopcornSSP.setUIDIdentifier(this, AdPopcornSSP.UIDIdentifierType.EMAIL, "test_uid@adpopcorn.com");

Last updated