본문으로 건너뛰기

버즈배너(BuzzBanner)

버즈배너(BuzzBanner)는 사용자 경험을 고려한 동시에 인벤토리 수익을 증대할 수 있는 비보상형 광고 상품입니다. 버즈배너는 베네핏허브 또는 팝 베네핏허브와 광고 참여 안내 페이지 아래 영역에 연동할 수 있으며, 이 외에도 원하는 위치 어디에나 연동할 수 있습니다.

 중요
버즈배너 연동을 위해서는 버즈빌 담당자(help@buzzvil.com)에게 연락하시기 바랍니다.

버즈배너 연동하기

베네핏허브, 팝 베네핏허브, 광고 참여 안내 페이지 하단에 연동하기

베네핏허브 또는 팝 베네핏허브와 광고 참여 안내 페이지 아래 영역에 코드 수정 없이 쉽고 버즈배너를 연동할 수 있습니다. 연동을 위해서는 버즈빌 담당자(help@buzzvil.com)에게 연락하시기 바랍니다.

원하는 위치에 버즈배너 연동하기

원하는 위치에 버즈배너를 연동하려면 다음의 절차를 따르세요.

  1. 원하는 버즈배너 사이즈를 결정하세요.

버즈배너 사이즈

SizeEnum
Banner 320 x 50BuzzBanner.BannerSize.W320XH50
Banner 320 x 100BuzzBanner.BannerSize.W320XH100
Banner DYNAMICBuzzBanner.BannerSize.DYNAMIC

✏️  참고
DYNAMIC 사이즈는 320 x 50 또는 320 x 100 이외의 사이즈를 지원합니다. 수익화를 위한 다양한 사이즈의 배너 광고 송출을 원하시면 버즈배너의 사이즈를 DYNAMIC으로 설정하고 버즈빌 담당자에게 DYNAMIC에 맞는 광고 송출을 요청하시기 바랍니다.

  1. 버즈빌 담당자에게 연락하여 연동을 위한 Placement ID, Banner Size 를 받으세요.
ID 유형설명
Placement ID각 광고 지면을 구분하게 하는 고유 ID 입니다. 배너의 사이즈와 PlacementID 가 제대로 매칭되어야 광고 할당 및 노출이 정상적으로 이루어집니다.
Banner Size노출되는 버즈배너의 사이즈를 결정해주는 값입니다.
  1. 원하는 위치에 BuzzBannerView 를 추가하세요.
<com.buzzvil.buzzbanner.BuzzBannerView
android:id="@+id/buzzBannerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

버즈배너 Placement ID와 사이즈 설정하기

버즈배너 Placement ID와 사이즈를 설정하는 방법은 두 가지가 있습니다.

XML 파일에서 속성으로 설정하기

<com.buzzvil.buzzbanner.BuzzBannerView
android:id="@+id/buzzBannerView"
app:bz_placement_id="BANNER_PLACEMENT_ID"
app:bz_banner_size="size_320x50"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<!-- app:bz_banner_size="size_320x50" or "size_320x100" or "size_DYNAMIC" -->

소스코드에서 설정하기

fun setBuzzBannerConfig() {
val buzzBannerConfig = BuzzBannerConfig.Builder()
.bannerSize(BuzzBanner.BannerSize.W320XH50) // BuzzBanner.BannerSize.W320X50 or BuzzBanner.BannerSize.W320XH100 or BuzzBanner.BannerSize.DYNAMIC
.placementId("BANNER_PLACEMENT_ID")
.build()

val buzzBannerView: BuzzBannerView = findViewById(R.id.buzzBannerView)
buzzBannerView.setBuzzBannerConfig(buzzBannerConfig)
}

BuzzBannerView 의 Lifecycle 관련 함수 호출하기

XML 파일 또는 소스코드에서 설정한 후에는 반드시 BuzzBannerView의 Lifecycle 관련 함수를 호출해 주어야 합니다.

YourActivity.kt
class YourActivity : AppCompatActivity {
...
lateinit var BuzzBannerView buzzBannerView

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_your)

buzzBannerView = findViewById(R.id.buzzBannerView)
setBuzzBannerConfig()
}

private fun setBuzzBannerConfig() {
val buzzBannerConfig = new BuzzBannerConfig.Builder()
.bannerSize(BuzzBanner.BannerSize.W320XH50) // BuzzBanner.BannerSize.W320XH50 or BuzzBanner.BannerSize.W320XH100
.placementId("BANNER_PLACEMENT_ID")
.build()

buzzBannerView.setBuzzBannerConfig(buzzBannerConfig)
}

override fun onResume() {
super.onResume()

buzzBannerView.onResume()
}

override fun onPause() {
super.onPause()

buzzBannerView.onPause()
}

override fun onDestroy() {
buzzBannerView.onDestroy()

super.onDestroy()
}
...
}

옵션: 버즈배너 광고 콜백 리스너 등록하기

배너 광고에 대한 콜백을 받기 위해 BuzzBannerView에 Load 상태를 따르는 리스너를 등록할 수 있습니다.

YourActivity.kt
class YourActivity : AppCompatActivity {
...
// 배너 광고의 상태를 얻기 위한 리스너
val buzzBannerViewListener = object: BuzzBannerViewListener {
override fun onClicked() {
Log.d("BuzzBannerViewListener", "onClicked()")
}

override fun onFailed(adError: com.buzzvil.buzzbanner.AdError) {
Log.d("BuzzBannerViewListener", "onFailed($adError)")
}

override fun onLoaded() {
Log.d("BuzzBannerViewListener", "onLoaded()")
}
}

override fun onCreate(savedInstanceState: Bundle?) {
...

// 리스너 등록
buzzBannerView.setBuzzBannerViewListener(buzzBannerViewListener)
}
...
}

버즈배너 수익 증대를 위한 ADN 추가 연동

버즈배너의 매출 극대화를 위해 추가 연동 가능한 Ad Network 연동 가이드입니다.

✏️  참고

  • 사용하고자 하는 ADN SDK를 build.gradle에서 설정할 수 있습니다.
  • 호환 버전 이외의 버전을 사용하고자 하는 경우 반드시 버즈빌 담당자에게 문의 후 사용하시기 바랍니다.

Adfit(Kakao) & BizBoard

  1. 프로젝트 레벨의 build.gradle 파일에 아래 코드를 설정하세요.
// 프로젝트 레벨의 build.gradle

allprojects {
repositories {
maven {
url 'https://devrepo.kakao.com/nexus/content/groups/public/'
}
}
}
  1. App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.
// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-adfit:2.0.0.5"
}

AdMob & GAM

  1. App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.
// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-admob:2.0.0.5"
}
  1. AdMob 가이드에 따라 키를 발급 받아서 manifest 에 키를 추가하세요.
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>

AppLovin

App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.

// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-applovin:2.0.0.5"

}

Cauly

  1. 프로젝트 레벨의 build.gradle 파일에 아래 코드를 설정하세요.
// 프로젝트 레벨의 build.gradle

allprojects {
repositories {
maven {
url "s3://repo.cauly.net/releases"
credentials(AwsCredentials) {
accessKey "AKIAWRZUK5MFKYVSUOLB"
secretKey "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"
}
}
}
}
  1. App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.
// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-cauly:2.0.0.5"
}

Facebook Audience Network

App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.

// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-fan:2.0.0.5"
}

Fyber

App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.

// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-fyber:2.0.0.5"
}

MezzoMedia

App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.

// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-mezzomedia:2.0.0.5"
}

Mobon

  1. App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.
// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-mobon:2.0.0.5"
}
  1. 버즈빌 매니저에게 요청하여 키를 발급받아서 manifest 에 키를 추가하세요.
<meta-data
android:name="com.mobon.sdk.MediaCode"
android:value="YOUR_mobon_code"/>

Pangle

  1. 프로젝트 레벨의 build.gradle 파일에 아래 코드를 설정하세요.
// 프로젝트 레벨의 build.gradle

allprojects {
repositories {
maven { url 'https://artifact.bytedance.com/repository/pangle' }
}
}
  1. App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.
// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-pangle:2.0.0.5"
}

UnityAds

App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.

// 모듈 레벨의 build.gradle 

dependencies {
implementation "com.avatye.cashblock:ad-plus-unity:2.0.0.5"
}

Vungle

App 레벨의 build.gradle 파일에 아래 코드를 설정하세요.

// 모듈 레벨의 build.gradle 

dependencies {
implementation ("com.avatye.cashblock:ad-plus-vungle:2.0.0.5") {
exclude group: 'com.squareup.okhttp3', module: 'okhttp'
}
}

  오류
기존에 버즈룰렛(BuzzRoulette)을 연동한 경우 AppLovin ADN이 이미 포함되어 있어 추가하면 충돌이 발생합니다. BuzzRoulette을 연동하고 있다면 AppLovin은 추가하지 않아도 됩니다.