最近、firebase_admob プラグインが非推奨になった後、Flutter に google_mobile_ads プラグインを統合しました。それ以来、リワード広告が機能しなくなりました。これらは私が得るエラーです:
(13077): この要求はテスト デバイスから送信されます。E/chromium(13077): [ERROR:cookie_manager.cc(137)] Strict Secure Cookie ポリシーでは、http: //googleads.g.doubleclick.net/をターゲットとするアプリ >= R に安全な Cookie を設定することは許可されていません。次のいずれかを行ってください。この URL に「https:」スキームを使用するか、Cookie 値の「Secure」ディレクティブを省略してください。W/Ads (13077): #004 webview が破壊されています。アクションを無視します。
私のコードは以下の通りです:
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,
);
}
}
バナー広告 (このコードには含まれていません) を取得できますが、リワード広告がまったく読み込まれません。ここで何がうまくいかないのでしょうか?