BuzzAd Unity Android용 SDK 연동 가이드

목차

개요

이 연동 가이드는 BuzzAd SDK(BuzzAd-Benefit)를 Unity Android 프로젝트에 연동하는 방법을 안내합니다.

BuzzAd Unity Android용 SDK는 오퍼월처럼 다수의 광고를 목록 형식으로 제공하는 피드(Feed) 지면과 사용자를 앱 외부에서 피드 지면으로 유도하는 팝(Pop) 지면을 제공합니다. 또한 국내 최다 광고 물량을 공급하는 버즈빌의 비보상형 광고, 리워드 기술을 적용한 보상형 광고를 게재하여 Unity Android 앱의 수익화를 효과적으로 지원합니다.

별도의 커스터마이징이 필요없는 SDK 기본 UI로 연동이 가능한 BuzzAd Unity Android용 SDK를 탑재해 한 단계 진화된 앱 수익 창출을 시작하세요.

시작하기

SDK 설치와 초기화, 사용자 정보 등록 등 버즈빌의 SDK로 광고 지면을 연동하기 전 완료해야 하는 설정에 대해 알아보세요.

요구 사양

  • Android 4.1 Jellybean (API 레벨 16) 이상

  • compileSdkVersion, targetSdkVersion 31 이상

  • AndroidX

  • JDK 1.11

연동용 ID 발급받기

버즈빌의 SDK를 연동하려면 반드시 연동하려는 앱의 고유 식별자(App ID)와 광고 지면의 고유 식별자(Unit ID)가 필요합니다. 버즈빌 BD 매니저 또는 help@buzzvil.com을 통해 ID를 발급받으세요.

  • App ID: 버즈빌의 SDK를 연동하는 앱별로 부여하는 고유 식별자입니다.

  • Unit ID: 버즈빌의 SDK를 통해 생성하는 지면별로 부여하는 고유 식별자입니다.

Unity 프로젝트 에서 SDK 설치하기

Unity에서 원하는 프로젝트에 BuzzAd SDK를 설치하세요.

Android Target API 레벨 설정하기

Unity 프로젝트에서 다음의 절차를 따라 Android Target API 레벨을 설정하세요.

  1. “Build Settings” 창의 Platform 영역에서 Android를 선택하세요.

  2. “Build Settings” 창의 하단에 있는 Player Settings를 클릭하세요.

  3. “Project Settings” 창의 Player 화면 > Other Settings 탭 > Identification 영역의 Target API LevelAPI Level 31로 설정하세요.

Android Gradle로 SDK 연동하기

Unity 프로젝트에서 다음의 절차를 따라 Android Gradle을 사용하여 SDK를 연동하세요.

1. Unity의 “Build Settings” 창의 하단에 있는 Player Settings를 클릭하세요.

2. “Project Settings” 창의 Player 화면 > Publisher Settings 탭에서 아래의 확인란을 선택하세요.

  • Custom Main Gradle Template

  • Custom Launcher Gradle Template

  • Custom Base Gradle Template

  • Gradle Properties Template

3. Unity 프로젝트 에디터의 Project 탭에서 Assets > Plugins를 클릭하세요.

4. Android 디렉토리에 아래의 파일이 생성되었는지 확인하세요.

  • baseProjectTemplate.gradle

  • mainTemplate.gradle

  • gradleTemplate.properties

5. baseProjectTemplate.gradle 파일에 버즈빌의 maven 저장소를 설정하세요.

// baseProjectTemplate.gradle allprojects { buildscript { repositories {**ARTIFACTORYREPOSITORY** google() jcenter() } dependencies { // If you are changing the Android Gradle Plugin version, make sure it is compatible with the Gradle version preinstalled with Unity // See which Gradle version is preinstalled with Unity here https://docs.unity3d.com/Manual/android-gradle-overview.html // See official Gradle and Android Gradle Plugin compatibility table here https://developer.android.com/studio/releases/gradle-plugin#updating-gradle // To specify a custom Gradle version in Unity, go do "Preferences > External Tools", uncheck "Gradle Installed with Unity (recommended)" and specify a path to a custom Gradle version classpath 'com.android.tools.build:gradle:4.0.2' **BUILD_SCRIPT_DEPS** } } repositories {**ARTIFACTORYREPOSITORY** google() jcenter() maven { // 버즈빌 저장소 url "https://dl.buzzvil.com/public/maven" } flatDir { dirs "${project(':unityLibrary').projectDir}/libs" } } } task clean(type: Delete) { delete rootProject.buildDir }

 

6. mainTemplate.gradle 파일에 BuzzAd SDK(buzzad-benefit) 라이브러리를 설정하세요.

// mainTemplate.gradle apply plugin: 'com.android.library' **APPLY_PLUGINS** dependencies { implementation ("com.buzzvil:buzzad-benefit:3.11.+") // 버즈빌 라이브러리 implementation fileTree(dir: 'libs', include: ['*.jar']) **DEPS**} android { compileSdkVersion **APIVERSION** buildToolsVersion '**BUILDTOOLS**' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { minSdkVersion **MINSDKVERSION** targetSdkVersion **TARGETSDKVERSION** ndk { abiFilters **ABIFILTERS** } versionCode **VERSIONCODE** versionName '**VERSIONNAME**' consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD** } lintOptions { abortOnError false } aaptOptions { noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ') ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~" }**PACKAGING_OPTIONS** }**REPOSITORIES** **IL_CPP_BUILD_SETUP** **SOURCE_BUILD_SETUP** **EXTERNAL_SOURCES**

 

7. gradleTemplate.properties 파일에 AndroidX 마이그레이션을 위한 설정을 추가하세요.

org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M org.gradle.parallel=true android.enableR8=**MINIFY_WITH_R_EIGHT** unityStreamingAssets=**STREAMING_ASSETS** **ADDITIONAL_PROPERTIES** android.useAndroidX=true // AndroidX 대응 android.enableJetifier=true // AndroidX 대응

SDK 초기화하기

BuzzAd Unity Android용 SDK 설치한 후 C# 파일에 아래 코드를 추가하세요. App ID, 사용자 프로필 등 필요한 정보를 추가하고 초기화 메서드를 호출해 SDK를 초기화할 수 있습니다.

앱이 시작될 때 초기화 메서드를 호출하는 것을 권장합니다.

SDK 초기화 메서드 호출 후 등록해야 하는 ID와 사용자 프로필 정보에 대해서는 아래 표를 참고하세요.

필수/권장

항목

설명

필수/권장

항목

설명

필수

appId

버즈빌의 SDK를 연동하는 앱별로 부여하는 고유 식별자입니다.

필수

userId

사용자 고유 식별자입니다. 서비스 도중 변하지 않는 고정 값입니다.

앱을 삭제 후 재설치하여 사용자의 ID 값이 변경되거나 다른 사유로 인해 고정 ID를 사용하지 못하는 경우 버즈빌 BD 매니저 또는 help@buzzvil.com에 문의하세요.

권장

gender

사용자의 성별입니다.

  • UserProfile.Gender.MALE: 남성

  • UserProfile.Gender.FEMALE: 여성

권장

birthyear

사용자의 출생연도입니다.

 

피드 지면

피드는 목록 형태의 광고 지면입니다. 오퍼월처럼 대량 광고 게재가 가능하고 네이티브 지면처럼 앱 UI와 어울리는 디자인을 구현할 수 있다는 장접이 있습니다.

피드 지면을 표시하고 광고를 할당하는 방법, 그리고 광고 노출과 사용자 경험 최적화를 지원하는 기능들을 확인해 보세요.

준비 사항

  • 시작하기 적용 완료

  • 피드 지면에 사용할 Unit ID(이하 feedUnitId)

피드 지면 초기화하기

다음의 절차를 따라 피드 지면을 초기화하세요.

1. Unity 액티비티에서 컨텍스트를 가져오세요.

2. Unity 피드 지면 초기화 메서드에 feedConfig를 설정한 후 feedUnitId를 추가하세요.

3. BuzzAdBenefit.init()을 호출하세요.

4. 광고 할당을 요청하기 위해 사용자 프로필을 설정하세요.

피드 지면 표시하기

show()를 호출하면 피드 액티비티가 실행되고 광고가 로드됩니다. 노출할 수 있는 광고가 없으면 빈 화면이 표시됩니다.

show()를 반복해서 호출하더라도 광고는 갱신되지 않으며 동일한 광고가 호출됩니다.

개인 정보 수집 동의 UI

개인 정보 보호법과 구글 정책에 따라, 개인 정보 수집 및 사용에 대한 사용자의 동의가 필요합니다. BuzzAd Unity Android용 SDK는 동의를 얻기 위한 UI를 제공하며, 사용자가 개인 정보 수집에 동의하지 않으면, 피드 지면에 광고가 할당되지 않습니다. 피드 지면에 처음 진입한 사용자에게는 아래와 같은 UI가 표시됩니다.

무한 스크롤 기능

피드 무한 스크롤 기능은 사용자가 피드에 진입해 할당된 광고 목록을 끝까지 스크롤 해 더 이상 볼 수 있는 광고가 없으면 자동으로 추가 광고를 할당해 기능입니다. 이 기능은 기본적으로 활성화되어 있으며, 앱에서 코드를 수정하거나 재배포를 하지 않고 무한 스크롤 기능의 활성화 여부를 설정할 수 있습니다. 설정을 변경하려면 버즈빌 BD 매니저 또는 help@buzzvil.com에 연락하세요.

광고 분류 기능

피드 광고 분류 기능은 탭과 필터 UI를 사용하여 유형 별로 분류된 광고를 사용자에게 보여주는 기능입니다. 탭과 필터 기능을 사용하면 사용자가 참여하고 싶은 유형의 광고만 볼 수 있어 사용자의 광고 참여 경험과 광고 효율을 높일 수 있습니다.

광고 분류 기능에 대한 설정은 앱에서 코드를 수정하거나 재배포하지 않고 변경할 수 있습니다. 설정을 변경하려면 버즈빌 BD 매니저 또는 help@buzzvil.com에 연락하세요.

광고 분류 탭과 필터

탭의 갯수, 탭의 이름, 탭으로 모아서 게재할 광고 유형을 설정할 수 있습니다. 탭은 최대 3개까지 설정할 수 있으며, 초기에는 광고 적립쇼핑 적립 탭이 설정됩니다. 이 중에서 광고 적립 탭에는 쇼핑 광고를 제외한 나머지 유형의 광고가 노출되며, 쇼핑 적립 탭에는 쇼핑 광고가 노출됩니다.

탭으로 분류할 수 있는 광고의 유형은 노출형 광고, 참여형 광고, 비디오 광고, 소셜 미디어 광고, 쇼핑 광고입니다. 각 탭은 한 개 이상의 광고 유형으로 구성할 수 있습니다. 단, 쇼핑 광고의 경우 다른 광고 유형과 함께 탭으로 구성할 수 없습니다.

탭이 여러 개의 광고 유형으로 구성되면 ‘클릭하기’, ‘참여하기’ 등 광고 유형을 세분화하는 필터 UI가 노출됩니다.