1. SDK Gradle 설치
Gradle을 이용하여 SDK를 설정합니다.
1) build.gradle 설정
프로젝트 수준 build.gradle 설정 앱 수준 build.gradle 설정
Copy allprojects {
repositories {
mavenCentral()
}
}
Copy dependencies {
implementation 'com.igaworks.ssp:IgawAdPopcornSSP:3.7.4'
}
2. SDK 수동 다운로드 및 설치
1.Gradle 설정을 이용하지 않고 수동으로 SDK 다운로드 하고자 할 경우 아래 다운로드 링크를 통해 최신 안드로이드 SDK 패키지를 다운로드 합니다.
다운로드 받은 .zip 파일을 압축해제하여 AdPopcornSSP~*.aar
파일을 안드로이드 스튜디오 프로젝트로 복사한 후 gradle 을 업데이트합니다.
SDK 복사 후 아래와 같이 build.gradle
에 dependiencies 를 추가하고 업데이트 합니다.
Copy dependencies {
compile(name: 'AdPopcornSSP_3.7.4a', ext: 'aar')
repositories { flatDir { dirs 'libs' } }
}
3. 매니페스트 설정
애드팝콘 SSP를 이용하기 위한 내용을 AndroidManifest.xml
파일에 추가합니다.
1) 앱 키 추가
애드팝콘 SSP 콘솔페이지 에서 애드팝콘 앱 등록 후 발급받은 앱 키를 <application> </application> 태그 안에 추가합니다.
Copy <application>
...
<meta-data android:name="adpopcorn_ssp_app_key" android:value="이곳에_앱키를_입력하세요"/>
...
</application>
2) 퍼미션 추가
<manifest></manifest> 태그 안에 필수 퍼미션을 추가합니다.
Copy <manifest>
...
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
...
</manifest>
4. 필수 코드 연동
애드팝콘 SSP는 배너, 리워드 비디오, 전면, 네이티브 등 다양한 형태의 광고를 제공하고 있습니다.
각 광고 형식별 연동을 진행하기에 앞서서 기본 API를 이용하여 초기화 작업을 진행하여야 합니다.
1) SSP SDK 초기화
init API
를 어플리케이션 실행 후 최초로 로드되는 activity 혹은 SSP 광고를 노출하고자 하는 activity에서 호출하여 SDK를 초기화합니다.
단, init 중복 호출 시, 그 사이에 세팅된 광고가 초기화 됨으로 중복 호출을 방지하고자 할 때에는 isInitialized API를 통해 초기화 작업이 완료된 상태인지 체크하시기 바랍니다.
JAVA Kotlin
Copy if(AdPopcornSSP.isInitialized(MyDisplayAdSampleActivity.this)){
// Already SSP SDK initialized
}
else{
AdPopcornSSP.init(MyDisplayAdSampleActivity.this);
}
Copy if(AdPopcornSSP.isInitialized(this@MainActivity){
// Already SSP SDK initialized
}
else{
AdPopcornSSP.init(this@MainActivity);
}
인앱비딩을 사용하는 매체의 경우 아래 init API를 사용해, 초기화를 진행해 주어야 합니다. 그렇지 않을 경우, 인앱 비딩을 사용하는 placement 지면에 대한 업데이트가 이루어지지 않아, 인앱비딩이 동작하지 않습니다.
JAVA Kotlin
Copy if(AdPopcornSSP.isInitialized(MyDisplayAdSampleActivity.this)){
// Already SSP SDK initialized
}
else{
AdPopcornSSP.init(MyDisplayAdSampleActivity.this, new SdkInitListener() {
@Override
public void onInitializationFinished() {
// init 작업이 완료 된 뒤, 광고 로드 작업을 진행해 주시기 바랍니다.
}
});
}
Copy AdPopcornSSP.init(this, object : SdkInitListener{
override fun onInitializationFinished() {
// init 작업이 완료 된 뒤, 광고 로드 작업을 진행해 주시기 바랍니다.
}
})
2) 리소스 해제
destroy API
를 이용하여 어플리케이션이 종료될 때 메모리에 할당된 SSP 관련 리소스(View,Memory)를 해제합니다. 앱이 종료될 때 호출되는 activity의 onDestroy()
에서 호출합니다.
JAVA Kotlin
Copy @Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
AdPopcornSSP.destroy();
}
Copy override fun onDestroy() {
// TODO Auto-generated method stub
super.onDestroy()
AdPopcornSSP.destroy()
}
3) 유저 타게팅 옵션 (Optional)
유저 타게팅 정보를 세팅하실 경우, 타게팅이 가능한 미디에이션에 자동으로 타게팅 정보가 세팅됩니다.
JAVA Kotlin
Copy AdPopcornSSPUserProperties userProperties = new AdPopcornSSPUserProperties.Builder()
.gender(0)
.yob(1984)
.language("KR")
.country("KO")
.build();
AdPopcornSSP.setUserProperties(userProperties);
Copy val userProperties = AdPopcornSSPUserProperties.Builder()
.gender(0)
.yob(1984)
.language("KR")
.country("KO")
.build()
AdPopcornSSP.setUserProperties(userProperties)
4) UID 2.0 설정 (Optional)
쿠팡 DSP로 부터 높은 단가의 광고를 제공 받기 위해서는 UID 2.0 설정을 진행하여야 합니다.
애드팝콘 SSP 콘솔 페이지 내 개인정보보호약정서에 동의한 매체의 경우 아래 API를 통해 UID 설정을 진행해 주어야 합니다.
UIDIdentifier Type은 아래 2가지를 지원합니다.
JAVA Kotlin
Copy AdPopcornSSP.setUIDIdentifier(this, AdPopcornSSP.UIDIdentifierType.EMAIL, "test_uid@adpopcorn.com");
Copy AdPopcornSSP.setUIDIdentifier(this@MainActivity, AdPopcornSSP.UIDIdentifierType.EMAIL, "test_uid@adpopcorn.com")
5) GDPR 설정
EU의 GDPR (General Data protection Regulation) 법안에 대응하기 위해 아래 API를 추가 합니다.
GDPR 동의 여부 세팅을 위해 아래의 API가 추가 되었습니다. 기본 값은 True 이고 GDPR 동의가 필요한 유저에 한해 아래 API를 호출하시기 바랍니다.
JAVA Kotlin
Copy AdPopcornSSP.gdprConsentAvailable(false);
Copy AdPopcornSSP.gdprConsentAvailable(false)
6) COPPA 설정
COPPA 대응을위해 아래의 API가 추가 되었습니다. 기본 값은 false 이고 COPPA에 따라 콘텐츠를 아동 대상으로 지정하려면 아래 API를 이용하여 true로 설정해 주세요
JAVA Kotlin
Copy AdPopcornSSP.tagForChildDirectedTreatment(context, true);
Copy AdPopcornSSP.tagForChildDirectedTreatment(this@MainActivity, true)