앱 실행 광고

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

이 가이드는 React Native 앱에 앱 실행 광고를 통합하는 과정을 다룹니다. 코드 샘플과 지침 외에도 형식별 권장 사항 및 추가 자료에 대한 링크가 포함되어 있습니다.

Внимание

앱 실행 광고는 세로 방향의 애플리케이션에만 배치할 수 있습니다. 가로 방향에서는 광고가 선택되지 않습니다.

표시 예

앱 실행 광고에는 Go to the app 버튼이 포함되어 있으며 사용자가 앱에 있다는 것과 광고를 종료할 수 있음을 알려줍니다. 광고가 어떻게 보이는지에 대한 예시는 다음과 같습니다.

사전 준비

  1. 빠른 시작에 설명된 Yandex Mobile Ads React Native 플러그인 통합 단계를 수행하세요.
  2. 최신 Yandex Mobile Ads React Native 플러그인 버전을 사용하고 있는지 확인하세요. 중재를 사용하는 경우, 최신 단일 빌드 버전으로 업데이트하세요.

용어

  • 콜드 스타트: 앱이 RAM에 존재하지 않을 때 앱을 실행하여 새로운 앱 세션을 생성하는 것.
  • 핫 스타트: 앱이 RAM에서 일시 중지된 상태에서 백그라운드에서 포그라운드로 가져오는 것.

실행

앱 실행 광고 통합을 위한 주요 단계:

  1. AppOpenAdLoader를 생성합니다.
  2. AdRequestConfiguration 객체를 사용하여 광고 로드 매개변수를 설정합니다.
  3. AppOpenAd 객체를 로드합니다.
  4. 광고의 콜백 함수를 설정합니다.
  5. AppState.addEventListener('change', handleAppStateChange) 메서드를 사용해 앱 상태 변경 이벤트를 구독하여 앱이 실행될 때 광고를 표시할 수 있도록 합니다.
  6. AppOpenAd 객체를 표시합니다.

주요 단계

  1. AppOpenAdLoader를 생성합니다.

    let loader = await InterstitialAdLoader.create()
        .catch((error) => {
            // 오류를 적절하게 처리
            return;
        });
    
  2. AdRequestConfiguration 객체를 사용하여 광고 로드 매개변수를 설정합니다. AdRequestConfiguration 클래스 인스턴스를 생성하려면 Partner Interface(adUnitId)의 배치 ID가 필요합니다.

    AdRequestConfiguration 객체를 생성할 때 사용자의 관심사, 페이지 컨텍스트, 위치 및 기타 추가 데이터를 제공하여 광고 요청 매개변수를 확장할 수 있습니다. 광고 요청에 추가된 컨텍스트는 광고 품질을 크게 향상할 수 있습니다.

    let adRequestConfiguration = new AdRequestConfiguration(
        'R-M-XXXXXX-Y', // 디버그의 경우 'demo-appopenad-yandex'를 사용할 수 있습니다
        '20',
        'context-query',
        ['context-tag'],
        Gender.Female,
        new Location(55.734202, 37.588063)
    );
    
  3. 광고를 로드하려면 loadAd 메서드를 호출합니다.

    let ad = await loader.loadAd(adRequestConfiguration)
        .then((ad) => {
            // 광고가 성공적으로 로드됨
            return ad;
        })
        .catch((error) => {
            // 오류를 적절하게 처리
            return;
        });
    
  4. 광고의 콜백 함수를 설정합니다.

    ad.onAdShown = () => {
        console.log('Did show');
    };
    ad.onAdFailedToShow = (error) => {
        console.log(`Did fail to show with error: ${JSON.stringify(error)}`);
    };
    ad.onAdClicked = () => {
        console.log('Did click');
    };
    ad.onAdDismissed = () => {
        console.log('Did dismiss');
    };
    ad.onAdImpression = (impressionData) => {
        console.log(`Did track impression: ${JSON.stringify(impressionData)}`);
    };
    
  5. AppState.addEventListener('change', handleAppStateChange) 메서드를 사용해 앱 상태 변경 이벤트를 구독하여 앱이 실행될 때 광고를 표시할 수 있도록 합니다.

앱이 활성 상태로 변경되면 show() 메서드를 호출하여 광고를 표시합니다.

const handleAppStateChange = (nextAppState: string) => {
    if (nextAppState === 'active') {
        ad.show();
        subscription.remove();
    }
};

const subscription = AppState.addEventListener('change', handleAppStateChange);

앱 실행 광고 통합의 특징

  1. 광고 로드가 오래 걸릴 수 있으므로 광고가 로드되지 않은 경우 콜드 부팅 시간을 늘리는 것은 피하세요.
  2. 후속 핫 스타트 노출을 위해 광고를 미리 로드하세요.
  3. 앱이 필수 작동 데이터를 다운로드할 수 있으므로 앱 시작 시 앱 실행 광고를 다른 광고 형식과 동시에 로드하는 것은 권장하지 않습니다. 그렇게 하면 장치와 인터넷 연결에 과도한 부하가 걸려 광고 로드 시간이 길어질 수 있습니다.
  4. loadAd 메서드가 오류를 반환하면 새로운 광고를 다시 로드하려고 하지 마세요. 다른 옵션이 없는 경우, 광고 로드 재시도 횟수를 제한하세요. 이렇게 하면 제한이 있는 경우 지속적인 실패 요청 및 연결 문제를 방지할 수 있습니다.

앱 실행 광고 통합 테스트

광고 테스트를 위한 데모 광고 단위 사용

앱 실행 광고 및 앱 자체를 테스트하기 위해 테스트 광고를 사용하는 것이 좋습니다.

모든 광고 요청에 대해 테스트 광고가 반환되도록 보장하기 위해 특별한 데모 광고 배치 ID를 생성했습니다. 광고 통합을 확인하는 데 사용하세요.

데모 adUnitId: demo-appopenad-yandex.

Важно

앱을 스토어에 게시하기 전에 데모 광고 배치 ID를 Partner Interface에서 가져온 실제 ID로 교체해야 합니다.

사용 가능한 데모 광고 배치 ID 목록은 테스트용 데모 광고 단위 섹션에서 찾을 수 있습니다.

광고 통합 테스트

SDK의 내장 분석기를 사용하여 앱 실행 광고 통합을 확인할 수 있습니다.

이 도구는 앱 실행 광고가 제대로 통합되었는지 확인하고 로그에 상세한 보고서를 출력합니다. 보고서를 보려면 Android 앱 디버깅을 위한 Logcat 도구에서 "YandexAds" 키워드를 검색하세요.

adb logcat -v brief '*:S YandexAds'

통합에 성공하면 다음 메시지가 표시됩니다.

adb logcat -v brief '*:S YandexAds'
mobileads$ adb logcat -v brief '*:S YandexAds'
I/YandexAds(13719): [Integration] Ad type App Open Ad was integrated successfully

광고 통합에 문제가 있는 경우, 문제에 대한 상세한 보고서와 해결 방법에 대한 권장 사항을 받게 됩니다.

광고 테스트를 위한 데모 광고 단위 사용

앱 실행 광고 및 앱 자체를 테스트하기 위해 테스트 광고를 사용하는 것이 좋습니다.

모든 광고 요청에 대해 테스트 광고가 반환되도록 보장하기 위해 특별한 데모 광고 배치 ID를 생성했습니다. 광고 통합을 확인하는 데 사용하세요.

데모 adUnitId: demo-appopenad-yandex.

Важно

앱을 스토어에 게시하기 전에 데모 광고 배치 ID를 Partner Interface에서 가져온 실제 ID로 교체해야 합니다.

사용 가능한 데모 광고 배치 ID 목록은 테스트용 데모 광고 단위 섹션에서 찾을 수 있습니다.

광고 통합 테스트

네이티브 콘솔 도구를 사용하여 광고 통합을 테스트할 수 있습니다.

자세한 로그를 보려면 YMAMobileAds 클래스의 enableLogging 메서드를 호출하세요.

YMAMobileAds.enableLogging()

SDK 로그를 보려면 콘솔 도구로 이동하여 Subsystem = com.mobile.ads.ads.sdk를 설정하세요. 카테고리와 오류 수준별로 로그를 필터링할 수도 있습니다.

광고 통합에 문제가 있는 경우, 문제에 대한 상세한 보고서와 해결 방법에 대한 권장 사항을 받게 됩니다.

권장 사항

  1. 앱이 시작 화면에 도달하기 전에 앱 실행 광고를 표시하는 것을 권장하지 않습니다.

    시작 화면을 표시하면 사용자의 앱 경험을 향상시켜 더 직관적인 경험을 제공할 수 있습니다. 이렇게 하면 사용자가 올바른 앱을 실행했음을 인지하고 광고로 인해 놀라거나 혼란스러워하지 않습니다. 이 화면에서 예정된 광고에 대해 사용자에게 알릴 수 있습니다. 로딩 표시기를 사용하거나 광고 후에 앱 콘텐츠를 계속 볼 수 있음을 알리는 간단한 텍스트 메시지를 사용하면 됩니다.

  2. 광고 요청과 노출 사이에 지연이 있으면 사용자가 앱을 잠시 실행했다가 나중에 예상치 못하게 콘텐츠와 관련 없는 광고를 볼 수 있습니다. 그러면 사용자 경험에 부정적인 영향을 미칠 수 있으므로 이러한 상황은 방지하는 것이 가장 좋습니다. 한 가지 해결책은 메인 앱 콘텐츠를 표시하기 전에 시작 화면을 표시하고 이 화면에서 광고 노출을 시작하는 것입니다. 시작 화면 이후에 이미 콘텐츠가 열린 경우 광고를 표시하는 것을 권장하지 않습니다.

  3. 새로운 사용자가 앱을 실행하여 몇 차례 사용할 때까지 기다린 후에 앱 실행 광고 노출을 제공하기 시작하세요. 앱에서 특정 기준을 충족한 사용자에게만 광고를 표시하세요(예: 특정 레벨을 완료했거나, 앱을 일정 횟수만큼 실행했거나, 보상 제공에 참여하지 않는 경우 등). 앱 설치 직후에 광고를 표시하는 것은 권장하지 않습니다.

  4. 사용자 행동에 따라 노출 빈도를 조정하세요. 모든 콜드 또는 핫 앱 스타트 시 광고를 제공하는 것은 권장하지 않습니다.

  5. 앱이 백그라운드에서 일정 시간(예: 30초, 2분 또는 15분) 실행된 경우에만 광고를 표시하세요.

  6. 각 앱은 고유하며, 유지하는 시간이나 앱 사용 시간을 희생하지 않으면서 수익을 극대화하는 자체적인 접근법이 필요하므로 철저한 테스트를 수행해야 합니다. 사용자 행동과 참여는 시간이 지남에 따라 변할 수 있으므로 앱 내의 앱 실행 광고에 대해 다양한 표시 전략을 주기적으로 테스트할 것을 권장합니다.

추가 리소스