리워드 비디오 광고
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);
}
Last updated