본문으로 건너뛰기

GoogleAdMob.loadAppsInTossAdMob

Google AdMob 전면 광고를 미리 로드합니다. 광고가 필요한 시점에 바로 노출할 수 있도록 사전에 준비하는 함수입니다. 로드 완료 후 GoogleAdMob.showAppsInTossAdMob를 호출해 사용자에게 광고를 노출하세요.

시그니처

loadAppsInTossAdMobGoogleAdMob 네임스페이스 객체의 멤버로 노출됩니다.

import { GoogleAdMob } from '@apps-in-toss/web-framework';

declare const GoogleAdMob: {
loadAppsInTossAdMob: ((args: {
onEvent: (data: LoadAdMobEvent) => void;
onError: (error: Error) => void;
options?: LoadAdMobOptions;
}) => () => void) & {
isSupported: () => boolean;
};
};

interface LoadAdMobOptions {
adGroupId: string;
}

type LoadAdMobEvent = {
type: 'loaded';
data: AdMobLoadResult;
};

파라미터

이름타입필수설명
args.onEvent(data: LoadAdMobEvent) => void광고 로드 이벤트 핸들러. type: 'loaded'가 수신되면 광고 준비 완료.
args.onError(error: Error) => void로드 실패 시 호출되는 에러 핸들러.
args.optionsLoadAdMobOptions광고 옵션. adGroupId를 포함합니다.
args.options.adGroupIdstring광고 그룹 단위 ID. 콘솔에서 발급받은 ID를 입력합니다.

반환값

  • () => void — cleanup 함수. 더 이상 광고가 필요 없을 때 호출해 이벤트 구독을 해제합니다.

권한

권한이 필요하지 않습니다 — GoogleAdMob.loadAppsInTossAdMob은 별도의 PermissionName에 바인딩되지 않습니다. 권한이 필요한 다른 네임스페이스의 일반적인 처리 흐름은 Guides — 권한 처리 패턴을 참고하세요.

예제

최소 예제

import { GoogleAdMob } from '@apps-in-toss/web-framework';

const cleanup = GoogleAdMob.loadAppsInTossAdMob({
onEvent: (event) => {
if (event.type === 'loaded') {
console.log('광고 로드 완료', event.data);
}
},
onError: (error) => {
console.error('광고 로드 실패', error);
},
});

// 필요 없어지면 cleanup 호출
cleanup();

실전 예제 — 뷰 진입 시 광고 로드 후 show

import { GoogleAdMob } from '@apps-in-toss/web-framework';
import { useEffect, useState } from 'react';

const AD_GROUP_ID = 'ad-group-id-here';

function AdPage() {
const [adReady, setAdReady] = useState(false);

useEffect(() => {
if (!GoogleAdMob.loadAppsInTossAdMob.isSupported()) return;

const cleanup = GoogleAdMob.loadAppsInTossAdMob({
options: { adGroupId: AD_GROUP_ID },
onEvent: (event) => {
if (event.type === 'loaded') {
setAdReady(true);
}
},
onError: (error) => {
console.error('광고 로드 실패', error);
},
});

return cleanup;
}, []);

const handleShowAd = () => {
GoogleAdMob.showAppsInTossAdMob({
options: { adGroupId: AD_GROUP_ID },
onEvent: (event) => console.log('광고 이벤트', event),
onError: (error) => console.error('광고 노출 실패', error),
});
};

return (
<button type="button" onClick={handleShowAd} disabled={!adReady}>
광고 보기
</button>
);
}

직접 실행해 보기

sdk-example의 Ads 페이지에서 GoogleAdMob 워크플로를 직접 실행해 볼 수 있습니다.

sdk-example에서 실행해 보기

관련 API

관련 가이드

외부 참조