AdPie
  • AdPie
    • 시작하기
  • Android
    • 프로젝트 설정
    • 광고 연동
      • 배너 광고
      • 전면 광고
      • 네이티브 광고
      • 리워드 비디오 광고
    • 미디에이션
      • 구글 애드몹
      • 구글 애드 매니저
      • 앱러빈
    • 공통
      • 에러코드
      • 디버깅
    • 변경내역
  • iOS
    • 프로젝트 설정
    • iOS 14+ 대응
    • 광고 연동
      • 배너 광고
      • 전면 광고
      • 네이티브 광고
      • 리워드 비디오 광고
    • 미디에이션
      • 구글 애드몹
      • 구글 애드 매니저
      • 앱러빈
    • 공통
      • 에러코드
      • 디버깅
      • 타겟팅
    • 변경내역
  • Flutter
    • 프로젝트 설정
    • 광고 연동
      • 배너 광고
      • 전면 광고
      • 리워드 비디오 광고
    • 공통
      • 에러코드
    • 변경내역
  • Unity
    • 프로젝트 설정
    • 광고 연동
      • 배너 광고
      • 전면 광고
      • 리워드 비디오 광고
    • 공통
      • 에러코드
    • 변경내역
  • Exchange
    • For Buyers
Powered by GitBook
On this page
  • 1 : 준비
  • 2 : 광고 초기화
  • 3 : 광고 요청과 표출
  1. Flutter
  2. 광고 연동

리워드 비디오 광고

1 : 준비

  • 프로젝트 설정을 통해 광고 연동을 위한 준비를 한다.

2 : 광고 초기화

  • 안드로이드의 경우 앱 실행 후 main() 에서 바로 초기화를 하는 것을 권장한다.

  • iOS의 경우 ATT(AppTrackingTransparency) 팝업 표출한 이후 초기화를 하는 것을 권장한다.

  • ATT(AppTrackingTransparency)는 adpie_sdk example 또는 app_tracking_transparency 를 참고한다.

  • 사이트에서 발급받은 Media ID를 AdPieSdk.initialize()에 넣어 호출한다.

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  if (Platform.isAndroid) {
    // AdPie SDK 초기화
    AdPieSdk.initialize(mediaId);
  } else {
    initPlugin();
  }

  runApp(const MyApp());
}

Future<void> initPlugin() async {
  final TrackingStatus status =
  await AppTrackingTransparency.trackingAuthorizationStatus;
  if (status == TrackingStatus.notDetermined) {
    final TrackingStatus status =
    await AppTrackingTransparency.requestTrackingAuthorization();
  }

  final uuid = await AppTrackingTransparency.getAdvertisingIdentifier();
  print("UUID: $uuid");

  // AdPie SDK 초기화
  AdPieSdk.initialize(mediaId);
}

3 : 광고 요청과 표출

  • 사이트에서 발급받은 Slot ID를 입력하여 호출한다.

@override
void initState() {
  super.initState();
  
  AdPieSdk.setRewardedAdListener(RewardedAdListener(
    onAdLoaded: (){
      // 광고 수신 성공

      bool isLoaded = (await AdPieSdk.isRewardedAdLoaded(slotId))!;
      if (isLoaded) {
        // 광고 표출
        AdPieSdk.showRewardedAd(slotId);
      }
    }, onAdFailedToLoad: (int errorCode){
      // 광고 수신 실패
    }, onAdShown: (){
    
    }, onAdClicked: (){
    
    }, onAdRewarded: (){
      // 보상 수령
    }, onAdDismissed: (){
    
    }));

  AdPieSdk.loadRewardedAd(slotId);
}

@override
void dispose() {
  super.dispose();

  // 광고 해지
  AdPieSdk.destroyRewardedAd(slotId);
}
Previous전면 광고Next공통

Last updated 8 months ago