목차
요구 사양
Android 4.1 Jellybean (API 레벨 16) 이상
Android Studio 3.2 이상
Gradle 4.0.1 이상
compileSdkVersion 29 이상
AndroidX
JDK 1.8
연동용 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" } // 버즈빌 저장소 } }
2. 모듈 레벨의 build.gradle
파일에 BuzzAd SDK 라이브러리를 설정하세요.
// 모듈 레벨의 build.gradle dependencies { implementation ("com.buzzvil:buzzad-benefit:3.1.+") // BuzzAd SDK 라이브러리 }
오프라인 빌드를 진행하는 경우, 버즈빌 담당자에게 오프라인 빌드에 필요한 JAR/AAR 라이브러리를 요청해야 합니다.
SDK 설치 시 문제가 발생하는 경우, 문제 해결하기 토픽을 참고하세요.
SDK 초기화하기
BuzzAd Android용 SDK를 설치한 후 App ID, 사용자 프로필 등 필요한 정보를 추가해 SDK 초기화하세요.
App ID 추가하기
AndroidManifest.xml
파일에서 app-pub-000000000000
의 000000000000
를 버즈빌 담당자로부터 발급받은 App ID로 교체하세요.
<manifest> <application> <!-- BuzzAd SDK App ID --> <meta-data android:name="com.buzzvil.APP_KEY" android:value="app-pub-000000000000" /> </application> </manifest>
예를 들어, 발급받은 App ID가 ‘123456789123’인 경우, android:value="app-pub-123456789123”
가 되어야 합니다.
앱 충돌 정보 수집 기능 사용하기
버즈빌은 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를 초기화하세요.
BuzzAd Android용 SDK를 초기화하기 전에 앱에 연동하는 모든 지면의 디자인 테마를 설정할 수 있습니다. 자세한 내용은 전체 테마 변경하기 토픽을 참고하세요.
public class App extends Application { @Override public void onCreate() { super.onCreate(); // BuzzAdBenefit 초기화 final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context) .build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig); } }
사용자 프로필 등록하기
광고 할당을 요청하려면 사용자 프로필을 등록해야 합니다. 사용자 프로필을 구성하는 항목에 대해서는 아래 표를 참고하세요.
필수/권장 | 사용자 프로필 | 설명 |
---|---|---|
필수 |
| 사용자 고유 식별자입니다. 서비스 도중 변하지 않는 고정 값이며, 광고 할당을 위한 필수 정보입니다. 앱을 삭제 후 재설치하는 경우 사용자의 ID 값이 변경되거나 다른 사유로 인해 고정 ID를 사용하지 못하는 경우 버즈빌 담당자에게 문의하세요. |
권장 |
| 사용자의 성별입니다. 필수가 아닌 권장 등록 정보입니다.
|
| 사용자의 출생연도입니다. 필수가 아닌 권장 등록 정보입니다. |
다음은 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);
사용자 정보 수집 코드를 정상적으로 추가한 후에 광고 할당에 문제가 발생하는 경우, 광고 할당 문제 해결하기 토픽을 참고하세요.
광고 지면 추가하기
BuzzAd Android용 SDK 연동을 위한 기본 설정이 끝나면, 원하는 유형의 지면을 추가하고 기능, 색상, 아이콘 등을 적용해 구현하세요.
Feed 지면 추가와 구현, 디자인 커스터마이징에 대한 자세한 내용은 Feed 연동하기를 참고하세요.
Native 지면 추가와 구현에 대한 자세한 내용은 Native 연동하기를 참고하세요.
Interstitial 지면 추가와 구현, 디자인 커스터마이징에 대한 자세한 내용은 Interstitial 연동하기를 참고하세요.
샘플 코드
Github 샘플 코드를 통해, 실제 구현에 사용된 예제를 참고할 수 있습니다.
자주 하는 질문
질문 | 답변 |
---|---|
BuzzAd Android용 SDK의 UI에만 다크테마가 적용되어 어색합니다. | 앱의 다크테마를 비활성화할 수 있습니다. 자세한 내용은 앱에서 다크테마를 비활성화하는 방법 토픽을 참고하세요. |
BuzzAd Android SDK의 UI를 일괄변경하고 싶습니다. | 테마를 설정하여 SDK의 전반적인 색상과 아이콘을 변경할 수 있습니다. 자세한 내용은 테마 적용 토픽을 참고하세요. |
문의 버튼을 추가해야하는 이유가 궁금합니다. | 액션형 광고를 할당할 경우, 안정적인 서비스 운영을 위해 사용자의 문의 기능이 반드시 구현되어야 합니다. 자세한 내용은 액션형 광고 주의 사항 토픽을 참고하세요. |
광고를 WebView로 연결하고 싶습니다. | 커스텀 런처를 사용해 광고 랜딩 페이지를 인앱 브라우저로 열 수 있습니다. 자세한 내용은 커스텀 런처 설정 토픽을 참고하세요. |
동영상 광고 재생 옵션을 변경하고 싶습니다. | 동영상 광고 재생 옵션을 참고하세요. |