앱 실행 광고
앱 실행 광고는 앱의 스플래시 화면을 수익화하기 위한 특별한 광고 형식입니다. 광고는 언제든지 해제할 수 있으며, 사용자가 앱을 전면으로 가져올 때, 즉 앱을 시작할 때 또는 백그라운드에서 돌아올 때 표시되도록 설계되었습니다.
이 가이드는 React Native 앱에 앱 실행 광고를 통합하는 과정을 다룹니다. 코드 샘플과 지침 외에도 형식별 권장 사항 및 추가 자료에 대한 링크가 포함되어 있습니다.
Внимание
앱 실행 광고는 세로 방향의 애플리케이션에만 배치할 수 있습니다. 가로 방향에서는 광고가 선택되지 않습니다.
표시 예
앱 실행 광고에는 Go to the app 버튼이 포함되어 있으며 사용자가 앱에 있다는 것과 광고를 종료할 수 있음을 알려줍니다. 광고가 어떻게 보이는지에 대한 예시는 다음과 같습니다.
사전 준비
- 빠른 시작에 설명된 Yandex Mobile Ads React Native 플러그인 통합 단계를 수행하세요.
- 최신 Yandex Mobile Ads React Native 플러그인 버전을 사용하고 있는지 확인하세요. 중재를 사용하는 경우, 최신 단일 빌드 버전으로 업데이트하세요.
용어
- 콜드 스타트: 앱이 RAM에 존재하지 않을 때 앱을 실행하여 새로운 앱 세션을 생성하는 것.
- 핫 스타트: 앱이 RAM에서 일시 중지된 상태에서 백그라운드에서 포그라운드로 가져오는 것.
실행
앱 실행 광고 통합을 위한 주요 단계:
AppOpenAdLoader
를 생성합니다.AdRequestConfiguration
객체를 사용하여 광고 로드 매개변수를 설정합니다.AppOpenAd
객체를 로드합니다.- 광고의 콜백 함수를 설정합니다.
AppState.addEventListener('change', handleAppStateChange)
메서드를 사용해 앱 상태 변경 이벤트를 구독하여 앱이 실행될 때 광고를 표시할 수 있도록 합니다.AppOpenAd
객체를 표시합니다.
주요 단계
-
AppOpenAdLoader
를 생성합니다.let loader = await InterstitialAdLoader.create() .catch((error) => { // 오류를 적절하게 처리 return; });
-
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) );
-
광고를 로드하려면
loadAd
메서드를 호출합니다.let ad = await loader.loadAd(adRequestConfiguration) .then((ad) => { // 광고가 성공적으로 로드됨 return ad; }) .catch((error) => { // 오류를 적절하게 처리 return; });
-
광고의 콜백 함수를 설정합니다.
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)}`); };
-
AppState.addEventListener('change', handleAppStateChange)
메서드를 사용해 앱 상태 변경 이벤트를 구독하여 앱이 실행될 때 광고를 표시할 수 있도록 합니다.
앱이 활성 상태로 변경되면 show()
메서드를 호출하여 광고를 표시합니다.
const handleAppStateChange = (nextAppState: string) => {
if (nextAppState === 'active') {
ad.show();
subscription.remove();
}
};
const subscription = AppState.addEventListener('change', handleAppStateChange);
앱 실행 광고 통합의 특징
- 광고 로드가 오래 걸릴 수 있으므로 광고가 로드되지 않은 경우 콜드 부팅 시간을 늘리는 것은 피하세요.
- 후속 핫 스타트 노출을 위해 광고를 미리 로드하세요.
- 앱이 필수 작동 데이터를 다운로드할 수 있으므로 앱 시작 시 앱 실행 광고를 다른 광고 형식과 동시에 로드하는 것은 권장하지 않습니다. 그렇게 하면 장치와 인터넷 연결에 과도한 부하가 걸려 광고 로드 시간이 길어질 수 있습니다.
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
를 설정하세요. 카테고리와 오류 수준별로 로그를 필터링할 수도 있습니다.
광고 통합에 문제가 있는 경우, 문제에 대한 상세한 보고서와 해결 방법에 대한 권장 사항을 받게 됩니다.

권장 사항
-
앱이 시작 화면에 도달하기 전에 앱 실행 광고를 표시하는 것을 권장하지 않습니다.
시작 화면을 표시하면 사용자의 앱 경험을 향상시켜 더 직관적인 경험을 제공할 수 있습니다. 이렇게 하면 사용자가 올바른 앱을 실행했음을 인지하고 광고로 인해 놀라거나 혼란스러워하지 않습니다. 이 화면에서 예정된 광고에 대해 사용자에게 알릴 수 있습니다. 로딩 표시기를 사용하거나 광고 후에 앱 콘텐츠를 계속 볼 수 있음을 알리는 간단한 텍스트 메시지를 사용하면 됩니다.
-
광고 요청과 노출 사이에 지연이 있으면 사용자가 앱을 잠시 실행했다가 나중에 예상치 못하게 콘텐츠와 관련 없는 광고를 볼 수 있습니다. 그러면 사용자 경험에 부정적인 영향을 미칠 수 있으므로 이러한 상황은 방지하는 것이 가장 좋습니다. 한 가지 해결책은 메인 앱 콘텐츠를 표시하기 전에 시작 화면을 표시하고 이 화면에서 광고 노출을 시작하는 것입니다. 시작 화면 이후에 이미 콘텐츠가 열린 경우 광고를 표시하는 것을 권장하지 않습니다.
-
새로운 사용자가 앱을 실행하여 몇 차례 사용할 때까지 기다린 후에 앱 실행 광고 노출을 제공하기 시작하세요. 앱에서 특정 기준을 충족한 사용자에게만 광고를 표시하세요(예: 특정 레벨을 완료했거나, 앱을 일정 횟수만큼 실행했거나, 보상 제공에 참여하지 않는 경우 등). 앱 설치 직후에 광고를 표시하는 것은 권장하지 않습니다.
-
사용자 행동에 따라 노출 빈도를 조정하세요. 모든 콜드 또는 핫 앱 스타트 시 광고를 제공하는 것은 권장하지 않습니다.
-
앱이 백그라운드에서 일정 시간(예: 30초, 2분 또는 15분) 실행된 경우에만 광고를 표시하세요.
-
각 앱은 고유하며, 유지하는 시간이나 앱 사용 시간을 희생하지 않으면서 수익을 극대화하는 자체적인 접근법이 필요하므로 철저한 테스트를 수행해야 합니다. 사용자 행동과 참여는 시간이 지남에 따라 변할 수 있으므로 앱 내의 앱 실행 광고에 대해 다양한 표시 전략을 주기적으로 테스트할 것을 권장합니다.
추가 리소스
-
GitHub 링크.