我正在使用Admob的InterstitialAd.我的应用仅在首次调用时就在“ loadAd”处崩溃,并且无法重现(发生在100-200次运行中的次数更少或更多).广告单元ID肯定是正确的.因此,如果loadAd在第一次调用时没有失败,则在此运行时也不会失败.
班级成员:
InterstitialAd mInterstitialAd;
的onCreate:
mInterstitialAd = new InterstitialAd(this);mInterstitialAd.setAdUnitID(getResources().getString(R.string.interstitial_ad_unit_ID));mInterstitialAd.setAdListener(new AdListener() { @OverrIDe public voID onAdClosed() { requestNewInterstitial(); finish(); }});requestNewInterstitial();
requestNewInterstitial方法:
private voID requestNewInterstitial() { if (mInterstitialAd != null) { AdRequest adRequest = new AdRequest.Builder() .addTestDevice(getResources().getString(R.string.test_device)) .build(); if (adRequest == null) { return; } // HERE'S THE CRASH try { mInterstitialAd.loadAd(adRequest); }catch(Exception e) { return; } }}
抓不到抓“ loadAd”的崩溃.
如何捕获它或至少导致它不会崩溃我的应用程序?我希望当loadAd失败时,不会显示任何广告.
logcat的:
A/libc: Fatal signal 5 (SIGTRAP), code 1 in tID 27794 (ADWorker(Defaul)W/VIDeoCapabilitIEs: Unrecognized profile 2130706433 for vIDeo/avcI/VIDeoCapabilitIEs: Unsupported profile 4 for vIDeo/mp4v-es
我不知道最后两行是否与这次崩溃有关,但是第一行是肯定的.
解决方法:
有时会发生什么事,广告确实会加载到缓冲区中,因此当您尝试调用loadAd时,它会崩溃
的onCreate:
mInterstitialAd = new InterstitialAd(this); // set the ad unit ID mInterstitialAd.setAdUnitID(getString(R.string.ad_ID)); AdRequest adRequest2 = new AdRequest.Builder() .build(); // Load ads into Interstitial Ads mInterstitialAd.loadAd(adRequest2); mInterstitialAd.setAdListener(new AdListener() { public voID onAdLoaded() { showInterstitial(); } });
在同一个班:
private voID showInterstitial() { if (mInterstitialAd.isLoaded()) { mInterstitialAd.show(); }}
总结 以上是内存溢出为你收集整理的android:admob InterstitialAd在loadAd时崩溃全部内容,希望文章能够帮你解决android:admob InterstitialAd在loadAd时崩溃所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)