네이티브 광고 설정

네이티브 광고는 광고 제목, 이미지, 프롬프트 텍스트와 같은 개별 광고 확장 소재를 제공하며, 이를 앱의 시각적 디자인에 맞게 스타일을 지정하고 정렬할 수 있습니다. 클릭 추적, 노출, 미디어 재생을 처리하기 위해 Google Mobile Ads SDK for React Native는 다음 구성요소를 제공합니다.

정책을 준수하는 방식으로 네이티브 광고를 표시하는 방법에 관한 자세한 내용은 네이티브 광고 고급형을 사용하는 네이티브 광고를 참고하세요.

이 페이지에서는 Android에서 단일 및 다중 네이티브 광고를 로드하고, 광고 메모리 및 수명 주기를 관리하고, 동영상 광고에 하드웨어 가속을 사용 설정하는 방법을 설명합니다.

기본 요건

계속하기 전에 다음을 수행하세요.

Android

형식 샘플 광고 단위 ID
네이티브 ca-app-pub-3940256099942544/2247696110
네이티브 동영상 ca-app-pub-3940256099942544/1044960115

iOS

형식 샘플 광고 단위 ID
네이티브 ca-app-pub-3940256099942544/3986624511
네이티브 동영상 ca-app-pub-3940256099942544/2521693316

광고 로드하기

네이티브 광고를 로드하려면 광고 단위 ID가 포함된 NativeAdRequest 객체와 함께 NativeAd.load 메서드를 호출하세요. 이 메서드는 로드된 NativeAd 객체로 확인되거나 LoadAdError 객체로 거부되는 프로미스를 반환합니다.

다음 예에서는 단일 네이티브 광고를 로드하고, 성공 시 로드된 광고를 반환하고, 실패 시 오류 메시지를 로깅합니다.

export async function loadNativeAd(adUnitId: string): Promise<NativeAd | null> {
  try {
    const ad = await NativeAd.load({adUnitId});
    return ad;
  } catch (error) {
    const loadError = error as LoadAdError;
    console.error('Failed to load native ad:', loadError.message);
    return null;
  }
}

네이티브 광고를 로드하고 관리할 때는 다음을 수행하는 것이 좋습니다.

  • 로드된 광고 제한: 네이티브 광고 확장 소재는 메모리를 사용합니다. 한 번에 많은 광고를 로드하는 대신 다음 1~2개의 광고 게재위치와 같이 사용자가 보려는 광고만 로드합니다.
  • 마운트 해제된 광고 정리: 화면에서 광고를 삭제하거나 교체할 때 또는 포함된 구성요소가 마운트 해제될 때 ad.destroy 메서드를 호출합니다. 이 메서드는 광고에서 사용하는 리소스와 메모리를 해제합니다.
  • 로드된 광고를 1시간 이내에 표시: 네이티브 광고 소재는 60분 후에 만료됩니다. 로드된 광고를 1시간 이내에 표시하지 않은 경우 광고를 삭제하고 다른 광고를 요청하세요.

선택사항: 여러 광고 로드

단일 요청에서 여러 광고를 로드하려면 NativeAdRequest 객체, 요청할 광고 수, NativeAdLoadCallback 객체를 사용하여 NativeAd.loadAds 메서드를 호출합니다. 요청에는 최대 5개의 광고가 포함될 수 있습니다.

다음 예에서는 여러 네이티브 광고를 요청하고 콜백을 사용하여 로드된 각 광고, 로드 오류, 요청 완료를 처리합니다.

export function loadMultipleNativeAds(adUnitId: string, numAds: number): void {
  NativeAd.loadAds({adUnitId}, numAds, {
    // Called when an individual native ad finishes loading.
    onNativeAdLoad: (ad) => {
      console.log('Loaded native ad:', ad.headline);
    },
    // Called when an individual native ad fails to load.
    onAdFailedToLoad: (error) => {
      console.error('Failed to load native ad:', error.message);
    },
    // Called when all requested ads have finished loading.
    onAdLoadingCompleted: () => {
      console.log('All requested native ads finished loading.');
    },
  });
}

스크롤 가능한 피드에 광고를 표시하는 경우 광고를 미리 로드하세요. 이 프로세스를 통해 사용자가 광고로 이동할 때 광고가 렌더링됩니다.

하드웨어 가속 사용 설정

Android의 네이티브 광고 뷰에 동영상 광고를 표시하려면 하드웨어 가속을 사용 설정하세요.

기본적으로 Android는 하드웨어 가속을 사용 설정합니다. 앱은 하드웨어 가속을 전역적으로 사용 중지할 수 있습니다. 앱에서 하드웨어 가속을 전역적으로 사용 중지하는 경우 광고를 표시하는 Activity 클래스에 설정을 사용 설정하세요.

하드웨어 가속을 전역적으로 사용 설정했는데 앱이 예상대로 작동하지 않으면 개별 활동에 맞게 하드웨어 가속을 제어합니다. 하드웨어 가속을 사용 설정하거나 중지하려면 AndroidManifest.xml 파일에서 application 및 activity 요소에 android:hardwareAccelerated 속성을 사용하세요.

다음 예에서는 앱에 전역적으로 하드웨어 가속을 사용 설정하고 하나의 활동에 대해서는 설정을 사용 중지합니다.

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

다음 단계

광고를 로드한 후 NativeAdView 및 NativeAdMediaView 구성요소를 사용하여 React Native UI에서 광고를 렌더링합니다. 자세한 내용은 네이티브 광고 표시를 참고하세요.