본문으로 건너뛰기

GoogleAdMob.showAppsInTossAdMob

loadAppsInTossAdMob으로 미리 로드된 Google AdMob 전면 광고를 사용자에게 노출합니다. 반드시 loadAppsInTossAdMobloaded 이벤트를 수신한 후에 호출하세요.

시그니처

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

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

declare const GoogleAdMob: {
showAppsInTossAdMob: ((args: {
onEvent: (data: ShowAdMobEvent) => void;
onError: (error: Error) => void;
options?: ShowAdMobOptions;
}) => () => void) & {
isSupported: () => boolean;
};
};

interface ShowAdMobOptions {
adGroupId: string;
}

type ShowAdMobEvent =
| { type: 'requested' }
| { type: 'clicked' }
| { type: 'dismissed' }
| { type: 'failedToShow' }
| { type: 'impression' }
| { type: 'show' }
| { type: 'userEarnedReward'; data: { unitType: string; unitAmount: number } };

파라미터

이름타입필수설명
args.onEvent(data: ShowAdMobEvent) => void광고 노출 이벤트 핸들러. requested, clicked, dismissed, impression, show, failedToShow, userEarnedReward 이벤트를 수신합니다.
args.onError(error: Error) => void광고 노출 실패 시 호출되는 에러 핸들러.
args.optionsShowAdMobOptions광고 옵션. adGroupId를 포함합니다.
args.options.adGroupIdstringloadAppsInTossAdMob에 사용한 것과 동일한 광고 그룹 단위 ID.

반환값

  • () => void — cleanup 함수. 이벤트 구독을 해제합니다.

권한

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

예제

최소 예제

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

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

실전 예제 — 광고 닫힘 후 다음 화면으로 이동

import { GoogleAdMob } from '@apps-in-toss/web-framework';
import { useCallback } from 'react';
import { useNavigate } from 'react-router-dom';

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

function RewardPage() {
const navigate = useNavigate();

const handleShowAd = useCallback(() => {
if (!GoogleAdMob.showAppsInTossAdMob.isSupported()) return;

GoogleAdMob.showAppsInTossAdMob({
options: { adGroupId: AD_GROUP_ID },
onEvent: (event) => {
switch (event.type) {
case 'dismissed':
// 광고가 닫히면 다음 화면으로 이동
navigate('/reward-result');
break;
case 'userEarnedReward':
console.log('보상 획득', event.data);
break;
case 'failedToShow':
console.warn('광고 노출 실패');
break;
}
},
onError: (error) => {
console.error('광고 노출 오류', error);
},
});
}, [navigate]);

return (
<button type="button" onClick={handleShowAd}>
보상형 광고 보기
</button>
);
}

직접 실행해 보기

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

sdk-example에서 실행해 보기

관련 API

관련 가이드

외부 참조