当前位置: 首页 > 知识库问答 >
问题:

我的Admob广告没有在我的应用程序中显示错误代码3“没有广告配置”如何修复它,我的测试广告也正常工作

雍飞雨
2023-03-14

//这是我要加载广告的活动

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.LoadAdError;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;


public class TenaliRamanActivity extends AppCompatActivity {

    ListView listView;
    private InterstitialAd mInterstitialAd;
    private AdView mAdView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tenali_raman);

//AD代码开始

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);

        mAdView.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                // Code to be executed when an ad finishes loading.
            }

//我正在重写onAddFailedToLoad()方法,以了解我的ad未显示的原因,并获取错误代码3,消息“no ad config”

            @Override
            public void onAdFailedToLoad(LoadAdError adError) {
                Toast.makeText(TenaliRamanActivity.this, " Banner AdError is "+ adError, 
 Toast.LENGTH_LONG).show();
                
            }

            @Override
            public void onAdOpened() {
                // Code to be executed when an ad opens an overlay that
                // covers the screen.
            }

            @Override
            public void onAdClicked() {
                // Code to be executed when the user clicks on an ad.
            }

            @Override
            public void onAdLeftApplication() {
                // Code to be executed when the user has left the app.
            }

            @Override
            public void onAdClosed() {
                // Code to be executed when the user is about to return
                // to the app after tapping on an ad.
            }
        });

//间隙码从这里开始

        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("ca-app-pub-4745680273727033/3318988209");
        mInterstitialAd.loadAd(new AdRequest.Builder().build());

        mInterstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                // Code to be executed when an ad finishes loading.
            }

//我还烤了我的iNetrTitial Ad错误消息,得到了相同的错误代码3,消息“no Ad config”[我的错误是这个][1]

            **@Override
            public void onAdFailedToLoad(LoadAdError adError) {
                Toast.makeText(TenaliRamanActivity.this, " Instertial Ad Error is"+ adError, 

干杯LENGTH\u SHORT)。show()<代码>在此处输入代码}**

            @Override
            public void onAdOpened() {
                // Code to be executed when the ad is displayed.
            }

            @Override
            public void onAdClicked() {
                // Code to be executed when the user clicks on an ad.
            }

            @Override
            public void onAdLeftApplication() {
                // Code to be executed when the user has left the app.
            }

            @Override
            public void onAdClosed() {
                // Code to be executed when the interstitial ad is closed.
            }
        });


       // Start Application Code
        listView= findViewById(R.id.listView);

        String[] tenaliRaman= getResources().getStringArray(R.array.tenaliRaman);

        ArrayAdapter<String> adapter= new ArrayAdapter<>(this,R.layout.row_item, R.id.rowText, tenaliRaman);

        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (mInterstitialAd.isLoaded()) {
                    mInterstitialAd.show();
                } else {
                    Intent intent= new Intent(TenaliRamanActivity.this, StoryTenaliRaman.class);
                    intent.putExtra("storyPosition", position);
                    startActivity(intent);
                }



            }
        });

    }
}


  [1]: https://i.stack.imgur.com/rNFvv.png

共有2个答案

燕烨
2023-03-14

首先,进入项目级构建。格拉德尔

allprojects {
    repositories {
        google()
    }
}

使用此

maven {
    url 'https://maven.google.com/'
    name 'Google'
}

您是否使用了测试ID?

现在转到清单文件

确保在AndroidManifest中添加了INTERNET权限。xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

还可以在AndroidManifest中使用test admob app id。xml也

 <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713"/>

测试AdMob应用程序ID:ca-app-pub-3940256099942544~3347517113

测试Admob应用程序ID的源

然后您还可以在这里找到其余的测试ID

应用打开:ca-app-pub-3940256099942544/3419835294

横幅:ca-app-pub-3940256099942544/6300978111

填隙:ca-app-pub-3940256099942544/1033173712

间隙视频:ca-app-pub-3940256099942544/8691691433

奖励: ca-app-pub-3940256099942544/5224354917

奖励间隙:ca-app-pub-3940256099942544/5354046379

原生高级:ca-app-pub-3940256099942544/2247696110

原生高级视频:ca-app-pub-3940256099942544/1044960115

用这些测试ID替换您的ID,以便能够在测试模式下查看您的广告

朱兴安
2023-03-14

对于任何有类似问题的人来说,谷歌的演示广告也会间歇性出现此错误:https://developers.google.com/admob/android/test-ads#demo_ad_units

在我的例子中,我使用的是横幅演示:

ca-app-pub-3940256099942544/6300978111

在多次测试后,有50%的时间失败。真正的广告正在发挥作用,因为我可以在admob仪表板中看到统计数据,所以这应该可以安全地忽略。。。我希望如此。

 类似资料:
  • 我已经更新了Firebase/admob包。 插播广告正在播放,但横幅却没有。 在更新包之前,横幅广告也很好。 版本: UnitID: BannerAd: Ad加载失败日志: 日志: iOS一切都很好。 没有横幅测试广告显示的原因是什么?

  • 我已经与Admob广告斗争了将近一周,我在互联网上搜索了所有可能的解决方案,但都没有奏效。我的Android应用程序不显示测试广告也不显示实时广告。这是日志: 我的测试间隙负载没有问题,带电的没有。横幅没有显示,测试的和带电的都没有显示。 这是我的xml AdView: 我在横幅上加了: 活动间隙是以这种方式加载的,它是有效的(测试一没有): 我尝试过的事情 > 使用 使用Firebase广告编译

  • 我已经在我的应用程序中开发了本机adMob,方法是在下面的URL中处理来自google提供的示例应用程序的代码https://github.com/googleads/googleads-mobile-ios-examples/tree/master/Objective-C/admob/NativeExample 我使用我的AdUnitID得到:Error:失败,错误为:请求错误:没有要显示的广告

  • 它在模拟器和真实设备上显示测试广告。但是当我把广告ID改成我的真实ID时,它就不起作用了。。我的应用程序也在AppStore中,但我没有推送更新。我只在Xcode中添加了AdMob,然后连接了真正的设备并在其上进行了测试。我必须将AdMob的最新更新发布到App Store才能看到真正的广告吗?我该怎么办?在推送更新之前,我想测试一下我的真实广告。。 (已填写付款明细)

  • 我已经在我的手机上测试了广告功能。只显示测试广告。当我用我从AdMob得到的单位id替换时,真正的广告就不显示了。 问题出在哪里? 下面是我的代码: 对于我使用的xml 用于加载我使用的ad 在manifeast我有 ...。 但我的广告不加载在android设备上。测试广告运作良好。所有这些操作我都用了一个真实的装置。有什么需要帮忙的吗?

  • 这是我的第一个Android应用程序,我试图使用admob广告为我的应用程序,但它是不工作,尽管我所做的一切。 这是我活动中与广告相关的代码 下面是我的XML代码 在模拟器上运行应用程序时的logcat读数既奇怪又令人困惑 如您所见,logcat中至少显示了3个错误。首先,google play服务已经导入到项目中。我可以在android私有库文件夹中看到它(但不是在libs文件夹中)。 还有一个