show method
Future<RewardItem>
show({
- bool? immersiveMode,
- FullScreenContentCallback<
RewardedAd> ? fullScreenContentCallback, - OnUserEarnedRewardCallback? onUserEarnedReward,
Implementation
Future<RewardItem> show({
bool? immersiveMode,
FullScreenContentCallback<RewardedAd>? fullScreenContentCallback,
OnUserEarnedRewardCallback? onUserEarnedReward,
}) async {
ad.fullScreenContentCallback = FullScreenContentCallback(
onAdShowedFullScreenContent: (ad) {
fullScreenContentCallback?.onAdShowedFullScreenContent?.call(ad);
},
onAdImpression: (ad) {
fullScreenContentCallback?.onAdImpression?.call(ad);
},
onAdFailedToShowFullScreenContent: (ad, error) {
fullScreenContentCallback?.onAdFailedToShowFullScreenContent
?.call(ad, error);
},
onAdWillDismissFullScreenContent: (ad) {
fullScreenContentCallback?.onAdWillDismissFullScreenContent?.call(ad);
},
onAdDismissedFullScreenContent: (ad) {
fullScreenContentCallback?.onAdDismissedFullScreenContent?.call(ad);
},
onAdClicked: (ad) {
fullScreenContentCallback?.onAdClicked?.call(ad);
},
);
if (immersiveMode != null) {
ad.setImmersiveMode(immersiveMode);
}
try {
RewardItem? item;
await ad.show(onUserEarnedReward: (ad, reward) {
item = reward;
});
while (item == null) {
await Future.delayed(const Duration(milliseconds: 100));
}
return item!;
} catch (e) {
rethrow;
} finally {
dispose();
}
}