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);
}
@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);
}