시작하기
BuzzAd Android용 SDK에서 제공하는 지면을 연동하기 전 완료해야 하는 설정에 대해 알아보세요.
요구 사양
✅ 중요
- 요구 사양은 BuzzAd Android용 SDK의 최신 상태를 기준으로 명시됩니다.
- 버즈빌은 안정적인 광고 플랫폼 및 개선된 수익화 기능의 탑재와 Android OS와의 호환성을 위해 최신 버전으로 업데이트하는 것을 권장합니다.
- Android 4.1 Jellybean (API 레벨 16) 이상
- Android Studio 3.2 이상
- Gradle 4.0.1 이상
- compileSdkVersion 33 이상
- AndroidX
- JDK 1.11
연동용 ID 발급받기
BuzzAd Android용 SDK를 연동하려면 반드시 연동하려는 앱의 고유 식별자(App ID)와 광고 지면의 고유 식별자(Unit ID)가 필요합니다. ID를 발급받으려면 버즈빌 담당자에게 연락하세요.
ID 유형 | 설명 |
---|---|
App ID | BuzzAd Android용 SDK를 연동하는 앱별로 부여하는 고유 식별자입니다. |
Unit ID | BuzzAd Android용 SDK를 통해 생성하는 지면별로 부여하는 고유 식별자입니다. |
포인트 적립 서버 연동하기
버즈빌이 공급하는 광고는 사용자에게 포인트를 지급하는 보상형 광고와 지급하지 않는 비보상형 광고로 분류됩니다.
- 비보상형 광고: 논리워드 광고라고도 합니다. 사용자가 광고에 참여해도 별도의 포인트를 지급할 필요가 없으므로 포인트 처리 서버를 연동하지 않아도 됩니다.
- 보상형 광고: 리워드 광고라고도 합니다. 사용자가 광고에 참여하면 포인트를 지급해야 하므로 클라이언트의 포인트 적립 요청을 처리할 수 있는 서버가 필요합니다.
보상형 광고의 포인트 적립 요청을 처리할 수 있는 자체 서버를 보유한 경우, 포스트백 연동 가이드를 참고해 포인트 처리 서버를 연동하세요.
SDK 설치하기
BuzzAd Android용 SDK를 설치하려면 다음의 절차를 따르세요.
- 프로젝트 레벨의
build.gradle
파일에 BuzzAd SDK 저장소를 설정하세요.
// 프로젝트 레벨의 build.gradle
allprojects {
repositories {
maven { url "https://dl.buzzvil.com/public/maven" } // 버즈빌 저장소
}
}
✅ 중요
build.gradle
에 작성되던 코드들이settings.gradle
로 이전된 Android Studio Bumblebee 또는 이상의 버전을 사용하는 경우에는 아래의 방법 1 또는 방법 2 중 한 가지를 선택하여 BuzzAd SDK 저장소를 설정해야 합니다.
Android Studio Bumblebee 또는 이상의 버전을 사용하는 경우 BuzzAd SDK 저장소 설정하기
방법 1. settings.gradle
에 maven { ... }
을 추가하세요.
// settings.gradle
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url "https://dl.buzzvil.com/public/maven" } // 버즈빌 저장소
}
}
방법 2. 위의 settings.gradle
파일에서 dependencyResolutionManagement { repositories {...}}
블록을 삭제한 후 프로젝트 레벨의 build.gralde
에서 의존성을 추가하세요.
// 프로젝트 레벨의 build.gradle
allprojects {
repositories {
maven { url "https://dl.buzzvil.com/public/maven" } // 버즈빌 저장소
}
}
- 모듈 레벨의
build.gradle
파일에 BuzzAd SDK 라이브러리를 설정하세요.
✏️ 참고
아래의 코드 스니펫은 최신 버전의 라이브러리를 기준으로 작성되었습니다.
// 모듈 레벨의 build.gradle
dependencies {
implementation ("com.buzzvil:buzzad-benefit:3.54.+") // BuzzAd SDK 라이브러리
}
- 모듈 레벨의
build.gradle
파일에compileSdkVersion
과targetSdkVersion
을 33로 업데이트하세요.
// 모듈 레벨의 build.gradle
android {
compileSdkVersion 33
defaultConfig {
minSdkVersion 16
targetSdkVersion 33
}
}
✏️ 참고
오프라인 빌드를 진행하는 경우, 버즈빌 담당자에게 오프라인 빌드에 필요한 JAR/AAR 라이브러리를 요청해야 합니다.
⚠️ 주의
SDK 설치 시 문제가 발생하는 경우, 문제 해결하기 토픽을 참고하세요.
SDK 초기화하기
BuzzAd Android용 SDK를 설치한 후 App ID, 사용자 프로필 등 필요한 정보를 추가해 SDK를 초기화하세요.
App ID 추가하기
AndroidManifest.xml
파일에서 app-pub-000000000000
의 000000000000
을 버즈빌 담당자로부터 발급받은 App ID로 교체하세요.
✏️ 참고
발급받은 App ID가 ‘123456789123’인 경우,android:value="app-pub-123456789123"
가 되어야 합니다.
<manifest>
<application>
<!-- BuzzAd SDK App ID -->
<meta-data
android:name="com.buzzvil.APP_KEY"
android:value="app-pub-{YOUR_APP_ID}" />
</application>
</manifest>
앱 충돌 정보 수집 기능 사용하기
버즈빌은 BuzzAd Android용 SDK와 앱의 안정성을 강화하기 위해 Sentry로 SDK에서 발생하는 앱 충돌 정보를 수집합니다. 수집 정보에는 com.buzzvil
패키지 경로가 포함된 함수 호출 스택, SDK 버전, 앱 정보, 고유 식별자를 제외한 기기 정보 등이 포함됩니다. 앱에 이미 Sentry를 연동한 상태에서 자동 초기화 기능을 사용하고 있지 않거나 Sentry를 아예 연동하지 않은 경우에는 별도의 조치를 취하지 않아도 자동으로 앱 충돌 정보 수집 기능이 적용됩니다.
앱에 이미 Sentry를 연동한 상태에서 ContentProvider
를 통해 자동 초기화 기능을 사용하고 있는 경우, AndroidManifest.xml
파일에 tools:node="replace"
를 추가하세요.
<manifest>
<application>
<meta-data
android:name="io.sentry.dsn"
android:value="YOUR DSN" //퍼블리셔 DSN
tools:node="replace" />
</application>
</manifest>
BuzzAd SDK 초기화하기
Application
의 onCreate()
에서 BuzzAdBenefit.init()
을 호출해 BuzzAd Android용 SDK를 초기화하세요.
✏️ 참고
앱에 연동하는 모든 지면의 디자인 테마를 변경하려면 SDK 초기화 메소드인BuzzAdBenefit.init()
를 호출하기 전에 변경해야 합니다. 디자인 테마 변경에 대한 자세한 내용은 전체 테마 변경하기 토픽을 참고하세요.
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
// BuzzAdBenefit 초기화
final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(getApplicationContext())
.build();
BuzzAdBenefit.init(getApplicationContext(), buzzAdBenefitConfig);
}
}
AndroidManifest.xml
에 앱을 설정 하세요.
<manifest>
<application
android:name=".App">
...
</application>
</manifest>
사용자 프로필 등록하기
광고 할당을 요청하려면 사용자 프로필을 등록해야 합니다. 사용자 프로필을 구성하는 항목에 대해서는 아래 표를 참고하세요.
❗️❗️❗️ 중요 ❗️❗️❗️
성별과 출생연도 정보는 권장으로 표기되어 있으나 등록하지 않으면 타겟팅 광고 송출이 불가능합니다. 버즈빌의 광고는 타겟팅 광고가 대부분이기에 해당 정보를 등록해야 정상적인 광고 할당이 가능합니다.
필수/권장 | 사용자 프로필 | 설명 |
---|---|---|
필수 | userId | 유저별로 고유하게 생성하는 ID로, 개인정보 식별은 불가능한 값입니다 (로그인 ID, 이메일 사용 불가). 서비스 도중 변하지 않는 고정 값이며, 광고 할당을 위한 필수 정보입니다. ⚠️ 주의 ❗️❗️❗️ 앱을 삭제 후 재설치하여 사용자의 ID 값이 변경되거나 다른 사유로 인해 고정 ID를 사용하지 못하는 경우, 어뷰징 발생 가능성으로 인해 액션형 광고 송출이 불가능합니다. 사용자 고유 식별자가 변동되는 경우 버즈빌 사업 담당자에게 문의하세요. |
권장 | gender | 사용자의 성별입니다.
|
권장 | birthYear | 사용자의 출생연도입니다. |
다음은 SDK에 사용자 프로필을 등록하는 예시입니다. 등록한 사용자 프로필은 삭제할 수도 있습니다.
// 사용자 정보를 등록하는 코드입니다.
final UserProfile.Builder builder = new UserProfile.Builder(BuzzAdBenefit.getUserProfile());
final UserProfile userProfile = builder
.userId("USER_ID")
.gender(UserProfile.Gender.MALE) //남성 사용자
.birthYear(YYYY)
.build();
BuzzAdBenefit.setUserProfile(userProfile);
// SDK에 등록한 사용자 프로필을 삭제하는 코드입니다.
// BuzzAdBenefit.setUserProfile(null);
❌ 오류
사용자 정보 수집 코드를 정상적으로 추가한 후에 광고 할당에 문제가 발생하는 경우, 광고 할당이 정상적으로 되지 않습니다 토픽을 참고하세요.
샘플 코드
Github 샘플 코드를 통해 실제 구현에 사용된 예제를 참고할 수 있습니다.
자주 하는 질문
질문 | 답변 |
---|---|
BuzzAd Android용 SDK의 UI에만 다크테마가 적용되어 어색합니다. | 앱의 다크테마를 비활성화할 수 있습니다. 자세한 내용은 앱에서 다크테마 비활성화하기 토픽을 참고하세요. |
BuzzAd Android용 SDK의 UI를 일괄 변경하고 싶습니다. | 테마를 설정하여 SDK의 전반적인 색상과 아이콘을 변경할 수 있습니다. 자세한 내용은 전체 테마 변경하기 토픽을 참고하세요. |
BuzzAd Android용 SDK에서 참조하는 광고 라이브러리를 알려 주세요. | BuzzAd에서 참조하는 광고 라이브러리 토픽을 참고하세요. |
액션형 광고에 사용자 문의 버튼을 추가해야하는 이유가 궁금합니다. | 액션형 광고를 할당할 경우, 안정적인 서비스 운영을 위해 사용자의 문의 기능이 반드시 구현되어야 합니다. 자세한 내용은 액션형 광고의 사용자 문의 기능 추가하기 토픽을 참고하세요. |
광고를 WebView로 연결하고 싶습니다. | 커스텀 런처를 사용해 광고 랜딩 페이지를 인앱 브라우저로 열 수 있습니다. 자세한 내용은 커스텀 인앱 브라우저 사용하기 토픽을 참고하세요. |
동영상 광고 재생 옵션을 변경하고 싶습니다. | 동영상 광고 재생 조건 변경하기 토픽을 참고하세요. |
피드 또는 네이티브 지면의 광고 타입을 확인하고 싶습니다. | 광고 타입 확인하기를 참고하세요. |