Mobile Ads SDK 통합

시스템: YAN, Adfox

Yandex Mobile Ads SDK를 앱에 통합하는 것은 광고 노출과 수익 창출의 첫 번째 단계입니다. SDK가 통합되면 배너 광고나 보상형 광고와 같은 앱 수익화에 사용할 광고 형식을 선택하고 설정을 수행할 수 있습니다.

사전 준비

앱을 준비하려면 다음 섹션에 설명된 단계를 수행하세요.

앱 요구 사항

  • Android Studio 2021 이상을 사용하세요.
  • Android Gradle Plugin 8.7.0 이상을 사용하세요.
  • 앱의 빌드 파일이 다음 값을 사용하는지 확인하세요.
    • MinSdkVersion 21 이상.
    • CompileSdkVersion 31 이상.
  • 애플리케이션에서 AppMetrica SDK를 사용하는 경우, 6번째 주요 버전(6.x.x)을 설치했는지 확인하세요.

Yandex Advertising Network 계정에 앱 설정

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

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

앱 설정

  1. 프로젝트 구성에 Google 및 중앙 Maven 리포지토리에 대한 지원을 추가합니다.

    프로젝트 빌드 설정에 따라, 이러한 리포지토리는 아래와 같이 프로젝트의 build.gradle 파일이나 settings.gradle 파일의 리포지토리 섹션에 추가할 수 있습니다.

    // 프로젝트 수준 build.gradle 파일
    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
    }
    
    // 프로젝트 수준 settings.gradle 파일
    pluginManagement {
        repositories {
            google()
            mavenCentral()
            gradlePluginPortal()
        }
    }
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    }
    
  2. 앱의 모듈 수준, 일반적으로 app/build.gradle의 Gradle 파일에 Yandex Mobile Ads SDK에 대한 종속성을 추가합니다.

    dependencies {
      implementation 'com.yandex.android:mobileads:7.12.2'
    }
    
  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>
        <!-- Android 13 이상 및 Yandex Mobile Ads SDK 버전 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 Policy)과 같이 광고 선택에 대해 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.file을 사용하거나 SDK를 수동으로 초기화하기 전에 직접 설정할 수 있습니다.

COPPA 설정

자동 초기화의 경우, 어린이의 앱 사용을 Yandex Mobile Ads SDK에 알리려면 AndroidManifest.xml 파일에 다음 코드를 추가하세요.

<manifest>
    <application>
        <!-- 앱 수익화 시 어린이의 개인 데이터 사용을 비활성화합니다. -->
        <meta-data
          android:name="@string/yandex_mobileads_age_restricted_user"
          android:value="true" />
    </application>
</manifest>

수동 SDK 초기화

필요한 경우, 자동 초기화를 비활성화한 후 initialize() 메서드를 사용하여 라이브러리를 직접 초기화할 수 있습니다.

<manifest>
    <application>
        <!-- 자동 SDK 초기화를 비활성화합니다. -->
        <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()
        // SDK 초기화 전에 사용자 데이터 개인정보 보호정책 구성
        MobileAds.initialize(this) {
            // 이제 광고를 사용할 수 있습니다
        }
    }
}
public class MyApplication extends Application {
    @Override
    public void onCreate() {
       super.onCreate();
        // SDK 초기화 전에 사용자 데이터 개인정보 보호정책 구성
        MobileAds.initialize(this, () -> {
            // 이제 광고를 사용할 수 있습니다
        });
    }
}

SDK 통합 테스트

내장된 SDK 통합 테스트 도구를 사용하여 라이브러리가 성공적으로 통합되었는지 확인할 수 있습니다.

SDK 통합을 테스트하려면 종속성을 추가하고 SDK를 초기화한 후 프로젝트를 다시 빌드하세요.

Logcat을 실행하고 "Yandex Ads" 키워드를 검색하세요.

이 명령은 SDK 통합 상태에 대한 정보를 포함한 로그를 생성합니다. 통합에 성공하면 알림을 받게 됩니다. 통합 중 오류가 발생하면 오류의 원인과 해결 방법에 대한 상세한 메시지가 포함됩니다.

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

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

Примечание

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

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

문제 세부 사항은 앱 로그에도 기록됩니다.

샘플 로그:

***************************************************************************************
* 통합된 Yandex Mobile Ads SDK 버전이 오래되었습니다.                    *
* com.yandex.android:mobileads를 최신 버전으로 업데이트하세요.                   *
* SDK의 최신 버전에 대해 자세히 알아보세요.                                *
* https://yandex.ru/dev/mobile-ads/doc/android/quick-start/android-ads-component.html *
* 변경 로그: 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를 통합하면 광고 형식 구현을 진행할 수 있습니다.

다음 광고 유형 중 앱에 가장 적합한 것 하나를 선택하세요.

광고 형식

YAN

Adfox

설명

적응형 인라인 배너

적응형 인라인 배너는 장치에서 광고 크기를 최적화하여 최대 효율을 제공하는 유연한 배너 광고 형식입니다.

배너 높이는 자동으로 선택되며, 장치 화면의 높이까지 도달할 수 있습니다.

일반적으로 이 형식은 피드 기반 앱이나 사용자 관심을 주로 광고에 집중시키는 것이 허용되는 다른 앱에서 사용됩니다.

적응형 스티키 배너

앱 화면의 상단 또는 하단에 배치되어 자동으로 업데이트되는 작은 광고입니다. 주요 앱 콘텐츠와 겹치지 않으며 게임 앱에서 자주 사용됩니다.

스티키 배너의 높이는 자동으로 결정되며, 장치의 화면 크기에 맞춰 조정되고 화면 높이의 15%를 초과하지 않습니다.

전면 광고

전면 광고는 게임 레벨 전환이나 목표 작업 완료와 같은 자연스러운 중단 시 앱 콘텐츠 내에 삽입되는 전체 화면 광고 형식입니다.

사용자가 전면 광고를 볼 때, 사용자의 관심이 전적으로 광고에 집중되므로 해당 노출에 대한 비용이 증가합니다.

이 형식을 과도하게 사용하면 사용자 상호 작용이 악화할 수 있습니다.

보상형 광고

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

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

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

네이티브 광고

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

광고 렌더링은 광고 성능과 폼질을 높이는 네이티브 플랫폼 도구로 수행됩니다.

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

앱 실행 광고

앱 실행 광고는 앱의 스플래시 화면을 수익화하기 위한 특별한 광고 형식입니다. 광고는 언제든지 해제할 수 있으며, 사용자가 앱을 전면으로 가져올 때, 즉 앱을 시작할 때 또는 백그라운드에서 돌아올 때 표시되도록 설계되었습니다.

광고 피드

광고 피드는 일련의 광고로 구성된 단위입니다. 피드는 앱의 주요 콘텐츠로 추가되거나 기존 콘텐츠 이후에 표시될 수 있습니다. 피드에는 수십 개의 광고가 포함되어 순차적으로 로드됩니다(여러 광고가 한 번에 로드됨).

InStream 광고

InStream은 동영상 콘텐츠가 재생되는 동안 광고를 제공하여 앱을 수익화할 수 있는 광고 형식입니다.

InStream 광고는 여러 동영상 블록이 포함된 시나리오로 구성됩니다. InStream 시나리오의 동영상 단위 유형은 메인 동영상 콘텐츠와 관련하여 동영상 광고가 재생되는 방식을 결정합니다.