为什么 Admob 测试广告不显示
Why Admob test ads don't show
我已经遇到这个问题 3 天了。我开始开发带有测试广告的应用程序,以更新商店中发布的应用程序。但绝不是测试广告出现在 2 个应用程序中。我怀疑是因为我使用的是旧库。但是当我创建一个新项目并对其进行测试时,我看到了测试广告。我在商店发布的应用程序中看不到任何测试广告。如果有任何帮助,我将不胜感激。
错误代码:
failed to load: 3 --> ERROR_CODE_NO_FILL
build.gradle:
implementation 'com.google.android.gms:play-services-ads:19.4.0'
//and...
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.google.gms:google-services:4.3.0'
}
Activity:
private InterstitialAd mInterstitialAd;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
Log.d("testad","onAdClosed");
}
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
Log.d("testad","onAdFailedToLoad"+i);
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
@Override
public void onAdLeftApplication() {
super.onAdLeftApplication();
Log.d("testad","onAdLeftApplication");
}
@Override
public void onAdOpened() {
super.onAdOpened();
Log.d("testad","onAdOpened");
}
@Override
public void onAdLoaded() {
super.onAdLoaded();
Log.d("testad","onAdLoaded");
}
});
Android 清单:
//...
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713" />
</application>
我试过了:
我从设备设置中重置了广告 ID。
我将设备添加为测试设备。
我尝试了不同的网络连接。
我尝试使用不同的设备。
如果您的测试广告有效,但您的真实广告未加载。这并不意味着您的实施是错误的。在您的应用获得一定流量之前,Admob 不会显示真实。如果您的应用流量较低,AdMob 将展示很少的广告或不展示广告。
failed to load: 3 --> ERROR_CODE_NO_FILL
此错误清楚地表明 AdMob 现在没有填充您的广告。如果测试广告运行良好,那么一旦 AdMob 开始投放您的真实广告,您的真实广告也可以正常加载。
不要尝试从您的设备加载真实广告,如果 Admob 检测到您正在尝试自行加载广告,他们会放置 limited ad serving
。
您使用的是旧版 AdMob SDK,当前版本是 20.4.0
。版本 19.7.0
中引入了许多 API 更改,一些 类 已弃用并重命名。
您用于初始化的插页式 constructor
现已弃用。您必须使用 static load()
方法创建 interstitial
广告实例。
现在您必须像这样初始化和使用插页式广告
private InterstitialAd mInterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
.
.
.
AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest,
new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// The mInterstitialAd reference will be null until
// an ad is loaded.
mInterstitialAd = interstitialAd;
Log.i(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.i(TAG, loadAdError.getMessage());
mInterstitialAd = null;
}
});
}
现在通过调用show()
方法显示它
if (mInterstitialAd != null) {
mInterstitialAd.show(MyActivity.this);
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.");
}
我在 React Native 中遇到了同样的问题。首先,我的测试广告开始展示,然后我将应用上传到 google Play 商店和应用商店。几天后,广告限制在 15 天后被标记在我的帐户上,但现在广告没有显示,甚至没有测试广告。我更改了捆绑包名称,然后测试广告展示。说明集成没问题,一定是账户端有问题。
我已经遇到这个问题 3 天了。我开始开发带有测试广告的应用程序,以更新商店中发布的应用程序。但绝不是测试广告出现在 2 个应用程序中。我怀疑是因为我使用的是旧库。但是当我创建一个新项目并对其进行测试时,我看到了测试广告。我在商店发布的应用程序中看不到任何测试广告。如果有任何帮助,我将不胜感激。
错误代码:
failed to load: 3 --> ERROR_CODE_NO_FILL
build.gradle:
implementation 'com.google.android.gms:play-services-ads:19.4.0'
//and...
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.google.gms:google-services:4.3.0'
}
Activity:
private InterstitialAd mInterstitialAd;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
Log.d("testad","onAdClosed");
}
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
Log.d("testad","onAdFailedToLoad"+i);
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
@Override
public void onAdLeftApplication() {
super.onAdLeftApplication();
Log.d("testad","onAdLeftApplication");
}
@Override
public void onAdOpened() {
super.onAdOpened();
Log.d("testad","onAdOpened");
}
@Override
public void onAdLoaded() {
super.onAdLoaded();
Log.d("testad","onAdLoaded");
}
});
Android 清单:
//...
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713" />
</application>
我试过了:
我从设备设置中重置了广告 ID。
我将设备添加为测试设备。
我尝试了不同的网络连接。
我尝试使用不同的设备。
如果您的测试广告有效,但您的真实广告未加载。这并不意味着您的实施是错误的。在您的应用获得一定流量之前,Admob 不会显示真实。如果您的应用流量较低,AdMob 将展示很少的广告或不展示广告。
failed to load: 3 --> ERROR_CODE_NO_FILL
此错误清楚地表明 AdMob 现在没有填充您的广告。如果测试广告运行良好,那么一旦 AdMob 开始投放您的真实广告,您的真实广告也可以正常加载。
不要尝试从您的设备加载真实广告,如果 Admob 检测到您正在尝试自行加载广告,他们会放置 limited ad serving
。
您使用的是旧版 AdMob SDK,当前版本是 20.4.0
。版本 19.7.0
中引入了许多 API 更改,一些 类 已弃用并重命名。
您用于初始化的插页式 constructor
现已弃用。您必须使用 static load()
方法创建 interstitial
广告实例。
现在您必须像这样初始化和使用插页式广告
private InterstitialAd mInterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
.
.
.
AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest,
new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// The mInterstitialAd reference will be null until
// an ad is loaded.
mInterstitialAd = interstitialAd;
Log.i(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.i(TAG, loadAdError.getMessage());
mInterstitialAd = null;
}
});
}
现在通过调用show()
方法显示它
if (mInterstitialAd != null) {
mInterstitialAd.show(MyActivity.this);
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.");
}
我在 React Native 中遇到了同样的问题。首先,我的测试广告开始展示,然后我将应用上传到 google Play 商店和应用商店。几天后,广告限制在 15 天后被标记在我的帐户上,但现在广告没有显示,甚至没有测试广告。我更改了捆绑包名称,然后测试广告展示。说明集成没问题,一定是账户端有问题。