UseRequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("****************") to get test ads on this device.
طبعا هو يعطيني رقم جهازي بدل النجوم وفي حالة قمت بوضعه في السطر المكتوب بـ testDevice بين الاقواس
كود الاعلانات شغال لدي 100%100
ولكن لو لم اضعه احصل على الخطاء البرمجي التالي:
I/Ads(29451):UseRequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("*************") to get test ads on this device.
W/flutter (29451): onAdFailedToLoad:3
I/Ads(29451):Ad failed to load :3
I/flutter (29451):BannerAd event MobileAdEvent.failedToLoad
وهذا الكود البرمجي كامل:
// Copyright 2017 The Chromium Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.// ignore_for_file: public_member_api_docsimport'dart:io';import'package:flutter/material.dart';import'package:firebase_core/firebase_core.dart';import'package:firebase_admob/firebase_admob.dart';// You can also test with your own ad unit IDs by registering your device as a// test device. Check the logs for your device's ID value.constString testDevice ='YOUR_DEVICE_ID';Future<void> main() async {WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());}classMyApp extends StatefulWidget{@override_MyAppState createState()=>_MyAppState();}class_MyAppState extends State<MyApp>{staticconstMobileAdTargetingInfo targetingInfo =MobileAdTargetingInfo(
testDevices: testDevice != null ?<String>[testDevice]: null,
keywords:<String>['foo','bar'],
contentUrl:'http://foo.com/bar.html',
childDirected:true,
nonPersonalizedAds:true,);BannerAd _bannerAd;NativeAd _nativeAd;InterstitialAd _interstitialAd;int _coins =0;BannerAd createBannerAd(){returnBannerAd(
adUnitId:BannerAd.testAdUnitId,
size:AdSize.banner,
targetingInfo: targetingInfo,
listener:(MobileAdEvent event){
print("BannerAd event $event");},);}InterstitialAd createInterstitialAd(){returnInterstitialAd(
adUnitId:InterstitialAd.testAdUnitId,
targetingInfo: targetingInfo,
listener:(MobileAdEvent event){
print("InterstitialAd event $event");},);}NativeAd createNativeAd(){returnNativeAd(
adUnitId:NativeAd.testAdUnitId,
factoryId:'adFactoryExample',
targetingInfo: targetingInfo,
listener:(MobileAdEvent event){
print("$NativeAd event $event");},);}@overridevoid initState(){
super.initState();FirebaseAdMob.instance.initialize(appId:FirebaseAdMob.testAppId);
_bannerAd = createBannerAd()..load();RewardedVideoAd.instance.listener =(RewardedVideoAdEvent event,{String rewardType,int rewardAmount}){
print("RewardedVideoAd event $event");if(event ==RewardedVideoAdEvent.rewarded){
setState((){
_coins += rewardAmount;});}};}@overridevoid dispose(){
_bannerAd?.dispose();
_nativeAd?.dispose();
_interstitialAd?.dispose();
super.dispose();}@overrideWidget build(BuildContext context){returnMaterialApp(
home:Scaffold(
appBar:AppBar(
title:constText('AdMob Plugin example app'),),
body:SingleChildScrollView(
child:Center(
child:Column(
crossAxisAlignment:CrossAxisAlignment.center,
mainAxisSize:MainAxisSize.min,
children:<Widget>[RaisedButton(
child:constText('SHOW BANNER'),
onPressed:(){
_bannerAd ??= createBannerAd();
_bannerAd
..load()..show();}),RaisedButton(
child:constText('SHOW BANNER WITH OFFSET'),
onPressed:(){
_bannerAd ??= createBannerAd();
_bannerAd
..load()..show(horizontalCenterOffset:-50, anchorOffset:100);}),RaisedButton(
child:constText('REMOVE BANNER'),
onPressed:(){
_bannerAd?.dispose();
_bannerAd = null;}),RaisedButton(
child:constText('LOAD INTERSTITIAL'),
onPressed:(){
_interstitialAd?.dispose();
_interstitialAd = createInterstitialAd()..load();},),RaisedButton(
child:constText('SHOW INTERSTITIAL'),
onPressed:(){
_interstitialAd?.show();},),RaisedButton(
child:constText('SHOW NATIVE'),
onPressed:(){
_nativeAd ??= createNativeAd();
_nativeAd
..load()..show(
anchorType:Platform.isAndroid
?AnchorType.bottom
:AnchorType.top,);},),RaisedButton(
child:constText('REMOVE NATIVE'),
onPressed:(){
_nativeAd?.dispose();
_nativeAd = null;},),RaisedButton(
child:constText('LOAD REWARDED VIDEO'),
onPressed:(){RewardedVideoAd.instance.load(
adUnitId:RewardedVideoAd.testAdUnitId,
targetingInfo: targetingInfo);},),RaisedButton(
child:constText('SHOW REWARDED VIDEO'),
onPressed:(){RewardedVideoAd.instance.show();},),Text("You have $_coins coins."),].map((Widget button){returnPadding(
padding:constEdgeInsets.symmetric(vertical:16.0),
child: button,);}).toList(),),),),),);}}
كيف ممكن حل هذا المشكلة لو تكرمتو؟
مع العلم اني اختبر المشروع ب جهازي الحقيقي وليس محاكي الاندرويد
السؤال
Flutter Dev
في الكود المنشور في منشور حزمة firebase_admob
يوجد السطر البرمجي التالي:
لما اعمل تشغيل للكود او المثال المنشور في الاضافة
احصل على السطر البرمجي التالي:
طبعا هو يعطيني رقم جهازي بدل النجوم وفي حالة قمت بوضعه في السطر المكتوب بـ testDevice بين الاقواس
كود الاعلانات شغال لدي 100%100
ولكن لو لم اضعه احصل على الخطاء البرمجي التالي:
وهذا الكود البرمجي كامل:
كيف ممكن حل هذا المشكلة لو تكرمتو؟
مع العلم اني اختبر المشروع ب جهازي الحقيقي وليس محاكي الاندرويد
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.