Strict Secure Cookie Policy for Google Ads
I recently integrated google_mobile_ads plugin for Flutter after firebase_admob plugin got deprecated. Ever since then my Rewarded Ads stopped working. These are the errors I get:
(13077): This request is sent from a test device. E/chromium(13077): [ERROR:cookie_manager.cc(137)] Strict Secure Cookie policy does not allow setting a secure cookie for http://googleads.g.doubleclick.net/ for apps targeting >= R. Please either use the 'https:' scheme for this URL or omit the 'Secure' directive in the cookie value. W/Ads (13077): #004 The webview is destroyed. Ignoring action.
My code is as below:
void main() { WidgetsFlutterBinding.ensureInitialized(); MobileAds.instance.initialize(); InAppPurchaseConnection.enablePendingPurchases(); runApp(MyApp()); } class _RewardedVideoState extends State<RewardedVideo>{ bool _rewardedReady = false; RewardedAd _rewardedAd; static final AdRequest _adRequest = AdRequest( keywords: <String>['Puzzles', 'Games', 'Word Games'], nonPersonalizedAds: true, ); @override void didChangeDependencies() { createRewardedAd(); super.didChangeDependencies(); } void createRewardedAd([Score userScore]) { print('Inside createRewardedAd'); // RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("CFA70A4A1BD59DA3323D586CA8BD2541")) _rewardedAd = RewardedAd( adUnitId: RewardedAd.testAdUnitId, request: _adRequest, listener: AdListener( onAdLoaded: (Ad ad) { print('${ad.runtimeType} loaded. RADHA '); _rewardedReady = true; }, onAdFailedToLoad: (Ad ad, LoadAdError error) { print('${ad.runtimeType} failed to load: $error'); ad.dispose(); _rewardedAd = null; createRewardedAd(userScore); }, onAdOpened: (Ad ad) => print('${ad.runtimeType} onAdOpened.'), onAdClosed: (Ad ad) { print('${ad.runtimeType} closed.'); ad.dispose(); createRewardedAd(userScore); }, onApplicationExit: (Ad ad) => print('${ad.runtimeType} onApplicationExit.'), onRewardedAdUserEarnedReward: (RewardedAd ad, RewardItem reward) { userScore.updateHintsEarned(reward.amount); }), )..load(); print('Completed RewardedAd Load ' + _rewardedAd.toString()); } @override void dispose() { _rewardedAd.dispose(); super.dispose(); } @override Widget build(BuildContext context) { final Score userScore = Provider.of<Score>(context, listen: false); print('Inside RewardedVideo widget *** ........'); try { if (_rewardedReady) { print('Showing rewardedAd ***'); _rewardedAd.show(); _rewardedReady = false; _rewardedAd = null; } else createRewardedAd(userScore); } catch (e) { print("error in showing ad: " + e.toString()); } return SizedBox( height: 0, ); } }
I am able to get banner ads (not included in this code) but rewarded ad does not load at all. Any idea what might be going wrong here?