배너 광고

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.setAdViewListener(AdViewListener(
      onAdLoaded: (){
        // 광고 수신 성공
      },
      onAdFailedToLoad: (int errorCode) {
        // 광고 수신 실패
      },
      onAdClicked: (){
      
      }));

  AdPieSdk.setAdViewPosition(slotId, AdPieCommon.positionBottomCenter);
  AdPieSdk.loadAdView(slotId, AdPieCommon.size_320x50);
}

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

  AdPieSdk.destroyAdView(slotId);
}

Last updated