在Flutter中观看奖励广告后如何打开另一个页面?



Flutter App。一个按钮,指向内容所在的第二页。

  • 用户点击按钮,必须观看视频广告(奖励广告)。

视频广告结束后>用户可以打开第二页/或者当点击完成的视频广告上的"x"时,第二页将自动打开。

我的问题是>如何做到这一点?代码是什么样子的?使用什么?谢谢你!

在构建方法

上方的第一页上使用以下代码
late RewardedAd _rewardedAd;
bool _isRewardedAdReady = false;
// TODO: Implement _loadRewardedAd()
void _loadRewardedAd() {
RewardedAd.load(
adUnitId: AdHelper.rewardedAdUnitId,
request: AdRequest(),
rewardedAdLoadCallback: RewardedAdLoadCallback(
onAdLoaded: (ad) {
this._rewardedAd = ad;
ad.fullScreenContentCallback = FullScreenContentCallback(
onAdDismissedFullScreenContent: (ad) {
setState(() {
_isRewardedAdReady = false;
});
_loadRewardedAd();
},
);
setState(() {
_isRewardedAdReady = true;
});
},
onAdFailedToLoad: (err) {
print('Failed to load a rewarded ad: ${err.message}');
setState(() {
_isRewardedAdReady = false;
});
},
),
);
}

之后,像

那样初始化并释放奖励值
@override
void initState() {
_loadRewardedAd();
super.initState();
}
@override
void dispose() {
_rewardedAd.dispose();
super.dispose();
}

现在使用导航到其他页面

调用rewarede广告
GestureDetector(
onTap: () {
if(_isRewardedAdReady){
_rewardedAd.show(onUserEarnedReward:
(RewardedAd ad, RewardItem reward) {
print(
'$ad with reward $RewardItem(${reward.amount}, ${reward.type}');
});
}
Navigator.pushReplacement(
context, MaterialPageRoute(builder: (context)=>SecondPage()));
},
child: CustomButton(text:'GoTo Second Page')
),

要更好地理解,请到这里

最新更新