我是Flutter和Remote Config的新手。在我的项目中,我试图关闭来自远程配置的广告横幅,如true / false语句,但我想我错过了一些东西。如果您给我任何建议,我将不胜感激。
我为flutter导入了远程插件,并进行了android集成。之后,我将其初始化
Future<RemoteConfig> setupRemoteConfig() async {
final RemoteConfig remoteConfig = await RemoteConfig.instance;
// Enable developer mode to relax fetch throttling
remoteConfig.setConfigSettings(RemoteConfigSettings(debugMode: true));
await remoteConfig.activateFetched();
remoteConfig.setDefaults(<String, dynamic>{
'admob_status': 'true',
});
return remoteConfig;
}
之后,我将其在下面的语句中添加到我的构建小部件中。
var value = remoteConfig.getString("admob_status");
if(value == "true"){
FirebaseAdMob.instance.initialize(appId: FirebaseAdMob.testAppId)
.then((response) {
myBanner
..load()
..show(
//anchorOffset: 60.0,
anchorType: AnchorType.bottom);
});
} else if(value == "false") {
return null;
}
输出为“在null上调用了方法'getString'。”
答案 0 :(得分:0)
我想我找到了解决方案,似乎可行。也许将来会对您有帮助
checkAdmobStatus() async {
final RemoteConfig remoteConfig = await RemoteConfig.instance;
final defaults = <String, dynamic>{'status': 'true'};
await remoteConfig.setDefaults(defaults);
await remoteConfig.fetch();
await remoteConfig.activateFetched();
if ('true' == remoteConfig.getString('status')) {
FirebaseAdMob.instance
.initialize(appId: FirebaseAdMob.testAppId)
.then((response) {
myBanner
..load()
..show(anchorType: AnchorType.bottom);
});
}
}