Created
October 8, 2024 14:12
-
-
Save husen-hn/111cf2491865218be7e2d310f5c61bcf to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:io'; | |
import 'dart:math'; | |
import 'package:adivery/adivery.dart'; | |
import 'package:adivery/adivery_ads.dart'; | |
import 'package:bloc/bloc.dart'; | |
import 'package:flutter/material.dart'; | |
import 'package:freemake/apps/home/home_repository.dart'; | |
part 'ad_state.dart'; | |
class AdCubit extends Cubit<AdState> { | |
HomeRepository repository; | |
AdCubit({required this.repository}) | |
: super(const AdState().copyWith(status: () => AdStatus.init)); | |
get _interstitialPlacementID => '54ea235e-e78a-4721-8bd3-649ab4964c50'; | |
getRewardedAd( | |
{required Function(bool isRewarded) reward, | |
required Function notLoaded}) async { | |
print('*********start'); | |
bool rewarded = false; | |
try { | |
AdiveryPlugin.prepareRewardedAd(_interstitialPlacementID); | |
} catch (e) { | |
print('*****catch****$e'); | |
} | |
AdiveryPlugin.addListener( | |
onRewardedClosed: (String placementId, bool isRewarded) { | |
// check rewarded to false for dont send true in callback twice | |
if (isRewarded && !rewarded) { | |
rewarded = true; | |
reward(true); | |
} | |
}, onError: (placement, reason) { | |
print('****onError*****$placement, $reason'); | |
}, onInterstitialClicked: (e) { | |
print('****onInterstitialClicked*****$e'); | |
}, onInterstitialClosed: (e) { | |
print('****onInterstitialClosed*****$e'); | |
}, onInterstitialLoaded: (e) { | |
print('****onInterstitialLoaded*****$e'); | |
}, onInterstitialShown: (e) { | |
print('****onInterstitialShown*****$e'); | |
}, onRewardedClicked: (e) { | |
print('****onRewardedClicked*****$e'); | |
}, onRewardedLoaded: (e) { | |
print('****onRewardedLoaded*****$e'); | |
}, onRewardedShown: (e) { | |
print('****onRewardedShown*****$e'); | |
}); | |
try { | |
await AdiveryPlugin.isLoaded(_interstitialPlacementID).then((isLoaded) { | |
if (isLoaded ?? false) { | |
AdiveryPlugin.show(_interstitialPlacementID); | |
} else { | |
// notLoaded(); | |
} | |
}, onError: (e) { | |
print('*********$e'); | |
}); | |
} catch (e) { | |
print('*****catch****$e'); | |
} | |
reward(false); | |
} | |
Future<bool> hasNetwork() async { | |
try { | |
final result = await InternetAddress.lookup('google.com'); | |
return result.isNotEmpty && result[0].rawAddress.isNotEmpty; | |
} on SocketException catch (_) { | |
return false; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment