Mobile Ads SDK 통합

시스템: Yandex Advertising Network, Adfox

앱에 Yandex Mobile Ads SDK를 통합하는 것은 광고 노출과 수익으로 가는 첫 단계입니다. SDK를 통합한 뒤 앱 수익화에 사용할 광고 형식(예: 배너 광고, 리워드 광고)을 선택하고 설정을 진행할 수 있습니다.

사전 요구 사항

앱을 준비하려면 아래 섹션에 설명된 단계를 따르세요.

앱 요구 사항

  • Android Studio 2021 이상을 사용합니다.
  • Android Gradle Plugin 8.7.0 이상을 사용합니다.
  • 앱의 빌드 파일에 다음 값이 사용되는지 확인합니다.
    • MinSdkVersion 21 이상.
    • CompileSdkVersion 34 이상.
  • 앱에서 AppMetrica SDK를 사용하는 경우 주 버전 7 안에서 7.2.1 이상이 설치되어 있는지 확인합니다.

Yandex Advertising Network 계정에서 앱 설정

Yandex Advertising Network에 앱을 등록하는 방법은 다음과 같습니다.

  1. Yandex Advertising Network에 로그인하거나 계정을 등록합니다.
  2. Yandex Advertising Network에 앱을 등록합니다.

앱 설정

  1. 프로젝트 설정에 Google 저장소와 Maven Central 저장소를 추가합니다.

    프로젝트 빌드 설정에 따라 아래와 같이 프로젝트의 build.gradle 파일이나 settings.gradle의 repositories 섹션에 추가할 수 있습니다.

    // Project-level build.gradle file
    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
    }
    
    // Project-level settings.gradle file
    pluginManagement {
        repositories {
            google()
            mavenCentral()
            gradlePluginPortal()
        }
    }
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    }
    
  2. 앱 모듈 수준의 Gradle 파일(보통 app/build.gradle)에 Yandex Mobile Ads SDK 의존성을 추가합니다.

    dependencies {
      implementation 'com.yandex.android:mobileads:7.18.5'
    }
    
  3. 광고 ID 사용 권한을 설정합니다(SDK 버전이 4.5.0보다 오래된 앱용).

    광고 ID 사용 권한 설정 방법

    광고 ID는 맞춤형 광고에 동의한 사용자에게 광고를 표시하기 위해 Google Play 서비스가 제공하는 고유 식별자입니다. 사용자는 설정에서 광고 맞춤 설정을 끄거나 ID를 재설정할 수 있습니다. 이 경우 광고 네트워크는 해당 ID로 사용자에게 관련 광고를 선택할 수 없습니다.

    앱에서 Yandex Mobile Ads SDK 버전이 4.5 미만이면 AndroidManifest.xml 파일에 com.google.android.gms.permission.AD_ID를 추가하세요.

    <manifest>
        <application>
        <!-- For apps targeting Android 13 or higher & Yandex Mobile Ads SDK versions lower than 4.5.0 -->
            <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
        </application>
    </manifest>
    

    4.5.0 버전부터 Yandex Mobile Ads SDK는 기본적으로 com.google.android.gms.permission.AD_ID를 추가합니다. 따라서 앱의 기본 매니페스트에 직접 명시할 필요가 없습니다. 이 권한으로 광고 네트워크에서 광고 ID를 사용해 보다 관련성 높은 광고를 선택할 수 있습니다.

    필요하면 권한을 제거할 수 있습니다. 예를 들어 Families 정책처럼 광고 선택에 ID 사용이 허용되지 않는 정책이 있는 경우입니다.

    앱의 기본 매니페스트에 권한이 추가되지 않게 하려면 AndroidManifest.xml에 다음 코드를 추가하세요.

    <manifest>
        <application>
            <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
        </application>
    </manifest>
    

    Важно

    권한과 ID에 접근하지 못하면 관련성이 낮은 광고가 더 많이 게재되어 수익에 영향을 줄 수 있습니다.

Yandex Mobile Ads SDK 초기화

Yandex Mobile Ads SDK를 성공적으로 통합하는 것은 라이브러리를 올바르게 통합하는 데 중요한 전제 조건입니다. 기본적으로 앱을 실행하면 SDK가 자동으로 초기화됩니다. 광고 로드가 빨라져 앱 수익화 수익이 증가합니다.

앱에서 개인 데이터 개인정보 처리방침을 설정해야 하는 경우 Yandex Mobile Ads SDK를 초기화하기 전에 반드시 설정하세요.

AndroidManifest 파일로 설정하거나, 수동으로 SDK를 초기화하기 직전에 설정할 수 있습니다.

COPPA 설정

자동 초기화 시 미성년자가 앱을 사용한다고 Yandex Mobile Ads SDK에 알리려면 AndroidManifest.xml 파일에 다음 코드를 추가합니다.

<manifest>
    <application>
        <!-- Disable the use of child's personal data for app monetization.  -->
        <meta-data
          android:name="@string/yandex_mobileads_age_restricted_user"
          android:value="true" />
    </application>
</manifest>

수동 SDK 초기화

필요하면 자동 초기화를 끈 뒤 initialize() 메서드로 라이브러리를 직접 초기화할 수 있습니다.

<manifest>
    <application>
        <!-- Disable automatic sdk initialization.  -->
        <meta-data
            android:name="com.yandex.mobile.ads.AUTOMATIC_SDK_INITIALIZATION"
            android:value="false" />
    </application>
</manifest>

초기화 코드는 Application 클래스의 onCreate 메서드에 넣는 것을 권장합니다. SDK를 초기화하기 전에 개인정보 처리방침을 설정하세요.

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        // Configure the user data privacy policy before sdk init
        MobileAds.initialize(this) {
            // Now you can use ads
        }
    }
}
public class MyApplication extends Application {
    @Override
    public void onCreate() {
       super.onCreate();
        // Configure the user data privacy policy before sdk init
        MobileAds.initialize(this, () -> {
            // Now you can use ads
        });
    }
}

SDK 통합 테스트

내장 SDK 통합 테스트 도구로 라이브러리 통합이 성공했는지 확인할 수 있습니다.

SDK 통합을 테스트하려면 의존성을 추가하고 SDK를 초기화한 뒤 프로젝트를 다시 빌드합니다.

Logcat을 실행하고 키워드 Yandex Ads로 검색합니다.

이렇게 하면 SDK 통합 상태에 대한 로그가 생성됩니다. 통합이 성공하면 알림이 표시됩니다. 통합 중 오류가 발생하면 로그에 원인과 해결 방법에 대한 자세한 메시지가 포함됩니다.

mobileads$ adb logcat | grep 'Yandex Ads' -i
[Yandex Ads]  I  Yandex Mobile Ads 7.18.5 integrated successfully
[Yandex Ads]  I  Yandex Mobile Ads 7.18.5 initialized successfully

오래된 라이브러리 버전 표시기

Примечание

표시기는 디버그 모드에서만 사용할 수 있습니다.

Yandex Mobile Ads SDK의 오래된 버전 표시기는 라이브러리를 초기화하거나 광고를 로드할 때 토스트로 표시됩니다.

문제 세부 정보는 앱 로그에도 기록됩니다.

로그 예시:

***************************************************************************************
* The integrated version of the Yandex Mobile Ads SDK is outdated.                    *
* Please update com.yandex.android:mobileads to the latest version.                   *
* Learn more about the latest version of the SDK here:                                *
* https://yandex.ru/dev/mobile-ads/doc/android/quick-start/android-ads-component.html *
* Changelog: https://yandex.ru/dev/mobile-ads/doc/intro/changelog-android.html        *
***************************************************************************************

표시를 끄려면 enableDebugErrorIndicator 메서드를 false로 호출합니다.

MobileAds.enableDebugErrorIndicator(false)

Совет

오래된 SDK 버전 표시기에 대한 검사를 끄는 것은 권장하지 않습니다. 광고 수익을 극대화하려면 최신 라이브러리 버전을 사용하세요.

최신 SDK 버전에 대한 Lint 검사

앱 릴리스 빌드 시 최신 SDK 버전에 대한 Lint 검사가 실행됩니다.

Lint 검사는 lintVitalRelease Gradle 작업을 호출해 수행됩니다. 광고 SDK 버전이 오래된 경우 작업이 실패합니다.

이 검사는 더 새로운 SDK 버전이 출시된 경우 앱 빌드를 막습니다.

최신 SDK 버전 검사를 끄려면 Lint 검사를 비활성화하는 표준 Gradle 코드를 사용합니다(자세한 내용은 Android 문서 참고).

android {
    lintOptions {
        disable 'MobileAdsSdkOutdatedVersion'
    }
}

다음 단계

Yandex Mobile Ads SDK 통합이 완료되면 광고 형식 구현으로 진행할 수 있습니다.

앱에 가장 잘 맞는 다음 광고 유형 중 하나를 선택하세요.

광고 형식

Yandex Advertising Network

Adfox

설명

적응형 인라인 배너

적응형 인라인 배너는 기기마다 광고 크기를 최적화해 최대 효율을 내는 유연한 배너 광고 형식입니다.

배너 높이는 자동으로 선택되며 기기 화면 높이까지 올라갈 수 있습니다.

일반적으로 피드 기반 앱이나 사용자의 시선을 주로 광고에 두어도 되는 앱에서 이 형식을 사용합니다.

적응형 스티키 배너

앱 화면 상단이나 하단에 배치되는 작고 자동으로 갱신되는 광고입니다. 주요 앱 콘텐츠를 가리지 않으며 게임 앱에서 자주 사용됩니다.

스티키 배너 높이는 자동으로 결정되며 기기 화면 크기에 맞추되 화면 높이의 15%를 넘지 않습니다.

전면 광고

전면 광고는 게임 레벨 전환, 목표 동작 완료 등 자연스러운 휴지 구간에 앱 콘텐츠 사이에 삽입되는 전체 화면 광고 형식입니다.

사용자가 전면 광고를 볼 때는 광고에만 집중하므로 이런 노출의 단가가 더 높습니다.

이 형식을 과용하면 사용자 경험이 나빠질 수 있습니다.

리워드 광고

리워드 광고는 사용자가 광고를 시청하면 보상을 받는 인기 있는 전체 화면 광고 형식입니다.

이 광고 유형의 표시는 사용자가 활성화합니다. 예를 들어 게임에서 보너스나 추가 생명을 받기 위해 표시합니다.

사용자 동기가 높아 무료 앱에서 가장 인기 있고 수익성이 높은 광고 형식입니다.

네이티브 광고

네이티브 광고는 레이아웃을 앱 쪽에서 정의할 수 있는 광고 유형입니다. 이를 통해 앱 디자인 특성을 고려해 광고의 시각적 스타일과 배치를 바꿀 수 있습니다.

광고 렌더링은 네이티브 플랫폼 도구로 수행되어 광고 성능과 품질이 향상됩니다.

네이티브 광고 레이아웃은 템플릿으로 설정하거나 수동으로 구성할 수 있습니다. 템플릿을 사용하면 광고 레이아웃이 SDK 쪽에서 설정됩니다.

앱 오픈 광고

앱 오픈 광고는 앱 로드 화면을 수익화하기 위한 특수 광고 형식입니다. 언제든지 닫을 수 있으며, 사용자가 앱을 포그라운드로 가져올 때(실행 시 또는 백그라운드에서 복귀할 때) 게재되도록 설계되었습니다.

광고 피드

광고 피드는 광고가 순서대로 이어진 단위입니다. 피드는 앱의 주요 콘텐츠로 넣을 수도 있고, 기존 콘텐츠 뒤에 올 수도 있습니다. 피드에는 수십 개의 광고가 포함될 수 있으며, 순차적으로 로드됩니다(한 번에 여러 광고가 로드됨).

InStream 광고

InStream은 동영상 콘텐츠 재생 중에 광고를 게재해 앱을 수익화할 수 있는 광고 형식입니다.

InStream 광고는 여러 동영상 블록으로 구성된 시나리오로 이루어집니다. InStream 시나리오에서 동영상 유닛 유형은 메인 동영상 콘텐츠에 비해 동영상 광고를 어떻게 재생해야 하는지를 결정합니다.