接入admob 使用提供的测试 广告id 报"Code": 3, "Message": "No ad config.", 广告没有展示
时间: 2023-08-18 10:10:24 浏览: 67
如果在使用AdMob提供的测试广告ID时,出现了"No ad config."的错误提示,可能是以下原因导致的:
1. AdMob账户未正确设置:确保您在AdMob账户中正确设置了应用程序和广告单元,并且已启用测试设备。
2. 您的应用程序未正确配置:请确保您的应用程序已正确配置,并已将AdMob SDK添加到应用程序中。
3. 您的测试设备未正确设置:请确保您的测试设备已正确设置并添加到AdMob测试设备列表中。
您可以尝试以下步骤来解决此问题:
1. 确保您已正确设置AdMob账户和应用程序,并已启用测试设备。您可以在AdMob Dashboard中验证这些设置。
2. 尝试在不同的测试设备上运行应用程序,以确保测试设备已正确设置并添加到AdMob测试设备列表中。
3. 检查您的应用程序的代码,确保正确使用了AdMob SDK,并已正确设置广告单元ID等参数。
如果您仍然遇到问题,请尝试在AdMob开发者论坛上寻求帮助,或者联系AdMob支持团队获取更多帮助。
相关问题
flutter 接入 google admob广告
要在Flutter应用程序中接入Google AdMob广告,你可以按照以下步骤进行操作:
1. 在AdMob网站上注册并创建一个新的应用。你需要提供应用的名称、平台(Android或iOS)和国家/地区。
2. 创建一个AdMob广告单元。你可以选择横幅广告、插页式广告、原生广告或悬浮式广告,根据你的应用布局和设计选择广告单元类型。
3. 在pubspec.yaml文件中添加admob_flutter插件的依赖。在该文件中,你需要指定插件的版本号,并运行flutter packages get按照依赖安装插件。
4. 在你的Flutter应用程序的主入口文件中,导入和初始化AdMob插件。你需要提供你的AdMob应用的ID,然后调用Admob.initialize()方法。
5. 在适当的位置显示广告。根据你选择的广告类型,添加相应的小部件到你的应用布局中,例如AdmobBanner用于横幅广告或AdmobInterstitial用于插页式广告。
6. 在需要加载广告的地方调用相关方法。比如,如果你选择了插页式广告,在合适的时机,比如游戏结束时,你可以调用AdmobInterstitial.load()方法加载广告。当广告加载完成后,你可以调用AdmobInterstitial.show()方法显示广告。
以上是一个简单的接入Google AdMob广告的过程。请注意,你还需要遵循Google AdMob的政策和准则,以确保你的应用程序和广告的合规性。
Android开发,接入google admob的开屏广告,插页广告和原生广告的代码
接入Google AdMob的开屏广告、插页广告和原生广告的步骤如下:
1. 注册AdMob账号并创建广告单元
在AdMob网站上注册账号并创建广告单元,获取相应的广告单元ID。
2. 集成AdMob SDK
在应用的build.gradle文件中添加依赖项:
```
implementation 'com.google.android.gms:play-services-ads:20.2.0'
```
在应用的AndroidManifest.xml文件中添加以下权限:
```
<uses-permission android:name="android.permission.INTERNET" />
```
3. 显示开屏广告
在应用的启动Activity中添加以下代码:
```
private static final String AD_UNIT_ID = "替换为你的开屏广告单元ID";
private CountDownTimer countDownTimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
MobileAds.initialize(this);
FrameLayout adContainer = findViewById(R.id.ad_container);
AdView adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(AD_UNIT_ID);
adContainer.addView(adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
countDownTimer = new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
Log.d(TAG, "onTick: " + millisUntilFinished / 1000);
}
@Override
public void onFinish() {
jumpToMainActivity();
}
}.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (countDownTimer != null) {
countDownTimer.cancel();
countDownTimer = null;
}
}
private void jumpToMainActivity() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
```
其中,AD_UNIT_ID替换为你的开屏广告单元ID,R.layout.activity_splash是你的启动Activity的布局文件,包含一个FrameLayout用于显示广告。
4. 显示插页广告
在需要显示插页广告的Activity中添加以下代码:
```
private static final String AD_UNIT_ID = "替换为你的插页广告单元ID";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this);
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(AD_UNIT_ID);
interstitialAd.loadAd(new AdRequest.Builder().build());
// 点击按钮时显示广告
findViewById(R.id.btn_show_ad).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
});
// 监听广告加载状态
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.d(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
Log.d(TAG, "onAdFailedToLoad: " + loadAdError.getMessage());
}
@Override
public void onAdOpened() {
Log.d(TAG, "onAdOpened");
}
@Override
public void onAdClicked() {
Log.d(TAG, "onAdClicked");
}
@Override
public void onAdClosed() {
Log.d(TAG, "onAdClosed");
interstitialAd.loadAd(new AdRequest.Builder().build());
}
@Override
public void onAdImpression() {
Log.d(TAG, "onAdImpression");
}
});
}
```
其中,AD_UNIT_ID替换为你的插页广告单元ID,R.layout.activity_main是你的Activity的布局文件,包含一个按钮用于触发显示广告。
5. 显示原生广告
在需要显示原生广告的Activity中添加以下代码:
```
private static final String AD_UNIT_ID = "替换为你的原生广告单元ID";
private NativeExpressAdView nativeExpressAdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this);
nativeExpressAdView = findViewById(R.id.ad_view);
nativeExpressAdView.setAdSize(new AdSize(320, 150));
nativeExpressAdView.setAdUnitId(AD_UNIT_ID);
AdRequest adRequest = new AdRequest.Builder().build();
nativeExpressAdView.loadAd(adRequest);
// 监听广告加载状态
nativeExpressAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.d(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
Log.d(TAG, "onAdFailedToLoad: " + loadAdError.getMessage());
}
@Override
public void onAdOpened() {
Log.d(TAG, "onAdOpened");
}
@Override
public void onAdClicked() {
Log.d(TAG, "onAdClicked");
}
@Override
public void onAdClosed() {
Log.d(TAG, "onAdClosed");
}
@Override
public void onAdImpression() {
Log.d(TAG, "onAdImpression");
}
});
}
```
其中,AD_UNIT_ID替换为你的原生广告单元ID,R.layout.activity_main是你的Activity的布局文件,包含一个NativeExpressAdView用于显示广告。需要在布局文件中添加以下代码:
```
<com.google.android.gms.ads.NativeExpressAdView
android:id="@+id/ad_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="320x150"
ads:adUnitId="替换为你的原生广告单元ID"
ads:loadAdOnCreate="true" />
```
以上就是接入Google AdMob的开屏广告、插页广告和原生广告的示例代码,希望能帮助到你。