大佬教程收集整理的这篇文章主要介绍了Flutter:检测来自不同小部件的 onRewardedAdUserEarnedReward,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 https://pub.dev/packages/google_mobile_ads
这是我的广告状态提供商:
getReWARDedAd() {
if (_reWARDedAd == null) {
_reWARDedAd ??= ReWARDedAd(
adUnitID: ReWARDedAd.testAdUnitID,request: request,Listener: AdListener(
onAdLoaded: (Ad ad) {
print('${ad.runtimeTypE} loaded.');
_reWARDedReady = true;
},onAdFailedToload: (Ad ad,LoadAdError error) {
print('${ad.runtimeTypE} Failed to load: $error');
ad.dispose();
_reWARDedAd = null;
getReWARDedAd();
},onAdopened: (Ad ad) => print('${ad.runtimeTypE} onAdopened.'),onAdClosed: (Ad ad) {
print('${ad.runtimeTypE} closed.');
ad.dispose();
getReWARDedAd();
},onApplicationExit: (Ad ad) =>
print('${ad.runtimeTypE} onApplicationExit.'),onReWARDedAdUserEarnedReWARD:
(ReWARDedAd ad,ReWARDItem reWARD) {
// REWARDED
}),)..load();
}
return _reWARDedAd;
}
showReWARDedAd() {
if (_reWARDedAd == null) return;
_reWARDedAd!.show();
_reWARDedReady = false;
_reWARDedAd = null;
}
这是我从中调用视频的另一个小部件/页面/类:
Platformbutton(
onpressed: () async {
await loading.load(
context,translate('loads.loading_vIDeo'),);
ProvIDer.of<AdState>(context,Listen: falsE).showReWARDedAd();
loading.cancel();
},child: PlatformText(translate('reWARD_vIDeo.watch')),material: (_,__) => MaterialRaisedbuttonData(
color: theme.of(context).priMarycolorDark,textcolor: colors.white,),cuperTino: (_,__) => CuperTinobuttonData(),
使用 firebase_admob 时,我直接从我正在测试的小部件中检测到了这样的奖励视频:
// olD firebase_admob IMPLEMENTATION
@overrIDe
voID initState() {
ads.myVIDeo.Listener =
(reWARDedvideoadEvent event,{String reWARDType,int reWARDamount}) {
if (event == reWARDedvideoadEvent.loaded) {
loading.cancel();
ads.showVIDeo();
}
if (event == reWARDedvideoadEvent.reWARDed) {
// reWARDed!
}
};
super.initState();
}
现在有了这个新库,我不确定如何从这里听取这些更改,文档没有提供太多关于此的信息。
当我尝试执行类似于上面的代码的操作时,它说 'onReWARDedAdUserEarnedReWARD' can't be used as a setter because it's final.
或 'Listener' can't be used as a setter because it's final.
这里有一个新的谷歌移动广告实施示例
ReWARDedAd _reWARDedAd;
void loadVideoAd() async {
_reWARDedAd = ReWARDedAd(
adUnitId: AdManager.reWARDedAdUnitId,request: Adrequest(),listener: AdListener(
onAdLoaded: (Ad ad) {
_reWARDedAd.show();
},onAdFailedToLoad: (Ad ad,LoadAdError error) {
ad.dispose();
_reWARDedAd = null;
},onAdClosed: (Ad ad) {
ad.dispose();
},onApplicationExit: (Ad ad) =>
print('${ad.runtimeTypE} onApplicationExit.'),onReWARDedAdUserEarnedReWARD: (ReWARDedAd ad,ReWARDItem reWARD) {
HomeScreen(reWARDamount: reWARD.amount);
},),);
_reWARDedAd.load();
}
class HomeScreen extends StatefulWidget {
final int reWARDamount;
HomeScreen({Key key,this.reWARDamount}) : super(key: key);
@override
HomeScreenState createState() => HomeScreenState();
}
要将其传递给其他班级,只需将“reWARD.amount”传递给另一个班级即可。 也许如果您提供有关代码的更多详细信息,我可以帮助您。
以上是大佬教程为你收集整理的Flutter:检测来自不同小部件的 onRewardedAdUserEarnedReward全部内容,希望文章能够帮你解决Flutter:检测来自不同小部件的 onRewardedAdUserEarnedReward所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。