herkese merhaba. daha önceki Admob soruma cevap alamamıştım umarım buna alabilirim. Bu sorun gerçekten çok önemli çünkü artık son aşamadayım. Uygulamam admob banner ve geçiş reklamları koydum. Reklam sürekli aşağıda çıktısını koyduğum hatayı alıyorum. Ses seviyesi, musik aktivitesi, speaker falan hep dinliyor. Bu hata spam şeklinde geliyor ve uygulama çöküyor.
Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads (15325): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("0C008B27375A350F4FEE8604765FC4E4")) to get test ads on this device.
I/DynamiteModule(15325): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:212910700
I/DynamiteModule(15325): Selected remote version of com.google.android.gms.ads.dynamite, version >= 212910700
I/DynamiteModule(15325): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:212910700
I/DynamiteModule(15325): Selected remote version of com.google.android.gms.ads.dynamite, version >= 212910700
V/AudioManager(15325): getMode...
V/AudioManager(15325): isMusicActive...
V/AudioManager(15325): isSpeakerphoneOn: false
V/AudioManager(15325): getStreamVolume streamType: 3 volume: 15
V/AudioManager(15325): getStreamVolume streamType: 2 volume: 7
Acaba telefon debug modda çalıştığı için mi diyerek ve release modda çıktısını aldım uygulamanın apksını ayrı çalıştırdım ve sonuç yine aynı. uygulama çöktü. acaba telefonla alakalı bir durum mu diyerek başka telefonda apk yı çalıştırdım yine aynı çökme. Bu tarz bir sorun daha önce yaşayan var mı? yani bu arka plan işlemleri uygulamanın çalışmasını çok yavaşlatıyor ve uygulama çöküyor. Uygulamanın AndroidManifest.xml kodları:
`<manifest xmlns:android=“http://schemas.android.com/apk/res/android”
package=“com.MyApp”>
<uses-permission android:name=“android.permission.INTERNET” />
<uses-permission android:name=“android.permission.ACCESS_FINE_LOCATION” />
<uses-permission android:name=“android.permission.ACCESS_LOCATION_EXTRA_COMMANDS” />
<uses-permission android:name=“android.permission.ACCESS_COARSE_LOCATION” />
<uses-permission android:name=“android.permission.ACCESS_NETWORK_STATE” />
<uses-permission android:name=“com.google.android.providers.gsf.permission.READ_GSERVICES” />
<uses-permission android:name=“com.google.android.c2dm.permission.RECEIVE” />
<uses-permission android:name=“android.permission.ACCESS_WIFI_STATE” />
<uses-permission android:name=“android.permission.CAMERA” />
<uses-permission android:name=“android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=“android.permission.GET_ACCOUNTS” />
<application
android:label=“MyApp”
android:icon=“@mipmap/ic_launcher”>
<activity
android:name=“.MainActivity”
android:launchMode=“singleTop”
android:theme=“@style/LaunchTheme”
android:configChanges=“orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode”
android:hardwareAccelerated=“true”
android:windowSoftInputMode=“adjustResize”>
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-AppAdmobId"/>
</application>
</manifest>
`
Burada Uygulamadaki Admob Class:
`import ‘package:google_mobile_ads/google_mobile_ads.dart’;
class Reklam {
static String get bannerUnit => “ca-app-pub-3940256099942544/6300978111”;
InterstitialAd _interstitialAd;
int num_of_attempt_load = 0;
static initialization() {
if (MobileAds.instance == null) {
MobileAds.instance.initialize();
}
}
static BannerAd getBannerAd() {
final BannerAd myBanner = BannerAd(
adUnitId: ‘ca-app-pub-7238047144500317/9020769119’,
size: AdSize.banner,
request: AdRequest(),
listener: BannerAdListener(
onAdLoaded: (Ad ad) {
print(“Reklam yülendi”);
},
onAdFailedToLoad: (Ad ad, LoadAdError error) {
print(“Reklam yüklenemedi.”);
ad.dispose();
},
onAdOpened: (Ad ad) {
print(“Reklam açıldı”);
}
),
);
return myBanner;
}
void createInterad() {
InterstitialAd.load(
adUnitId: ‘ca-app-pub-7238047144500317/5940160262’,
request: AdRequest(),
adLoadCallback: InterstitialAdLoadCallback(
onAdLoaded: (InterstitialAd ad) {
_interstitialAd = ad;
num_of_attempt_load = 0;
},
onAdFailedToLoad: (LoadAdError error) {
num_of_attempt_load + 1;
_interstitialAd = null;
if (num_of_attempt_load <= 2) {
createInterad();
}
}),
);
}
void showInterad() {
if (_interstitialAd == null) {
return;
}
_interstitialAd.fullScreenContentCallback = FullScreenContentCallback(
onAdShowedFullScreenContent: (InterstitialAd ad) {
print("ad onAdshowedFullscreen");
},
onAdDismissedFullScreenContent: (InterstitialAd ad) {
print("ad Disposed");
ad.dispose();
},
onAdFailedToShowFullScreenContent: (InterstitialAd ad,
AdError aderror) {
print('$ad OnAdFailed $aderror');
ad.dispose();
createInterad();
}
);
_interstitialAd.show();
_interstitialAd = null;
}
}`
Reklamı Uygulamaya entegre kodlarım:
...
class SinavlarKisilerPageState extends State<SinavlarKisilerPage> {
...
Reklam _reklam = new Reklam();
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appbar:...,
body: ListView(
...
IconButton(
onPressed: () {
_reklam.createInterad(); //Geçiş Reklamı yaratılıyor
...
FloatingActionButton.extended(
onPressed: () async {
_reklam.showInterad(); //GEçiş reklamı gösteriliyor
}
),
},
),
),
);
}
Ne yapmam gerektiğini bilmiyorum. bilen biri yardımcı olabilirse çok sevinirim. baya duamı alır.