전면 광고

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.setInterstitialListener(InterstitialAdListener(
    onAdLoaded: (){
      // 광고 수신 성공

      bool isLoaded = (await AdPieSdk.isInterstitialLoaded(slotId))!;
      if (isLoaded) {
        // 광고 표출
        AdPieSdk.showInterstitial(slotId);
      }
    },
    onAdFailedToLoad: (int errorCode){
      // 광고 수신 실패
    },
    onAdShown: (){
    
    },
    onAdClicked: (){
    
    },
    onAdDismissed: (){
    
    })
  );

  // 광고 요청
  AdPieSdk.loadInterstitial(slotId);
}

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

  // 광고 해지
  AdPieSdk.destroyInterstitial(slotId);
}

Last updated