【发布时间】:2019-11-16 09:01:12
【问题描述】:
完全一样的问题。
Admob shows Test ads but not real ads
但是我找不到任何有效的答案。
- 我的应用发布了 30 天,广告 ID 足够长,可以等待任何过程。
- 我没有设置 ppc 上限/没有限制。应该有很多。
- 尝试使用新的广告 ID。 (等了 1 周还是没有)
- 测试广告效果很好。
- 清单中除元数据外无权限
Which permissions should i include when i use admob android - 实施 'com.google.android.gms:play-services-ads:18.2.0'
我的猜测,
1. 18.2.0有问题(之前我用18.1.0编译失败)。
2. 按照旧版本在清单中包含权限。
有人建议播放服务广告的工作版本吗?
编辑 1:添加代码
TitleActivity.java
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
//Intent intent = new Intent(TitleActivity.this, AllTypes.class);
Intent intent = new Intent(TitleActivity.this, QuestionsActivity.class);
//Intent intent = new Intent(TitleActivity.this, bkMainActivity.class);
TitleActivity.this.startActivity(intent);
TitleActivity.this.finish();
}
}, delayTime);//1800
Log.d("Ads", "onInitializationComplete: Initialize complete");
}
});
AdsSystem.java
boolean useSampleID = false;
public void loadInterstitial(Context c){
//MobileAds.initialize(this,getString(R.string.app_ad_id));
mInterstitialAd = new InterstitialAd(c);
if (useSampleID){
mInterstitialAd.setAdUnitId(interstitialSampleID);
}else {
mInterstitialAd.setAdUnitId(String.valueOf(R.string.ad_interstitial_id));
}
//load
mInterstitialAd.loadAd(new AdRequest.Builder().build());
Log.d("Ads", "The interstitial is loading.");
}
public void showInterstitial(){
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
// Set an AdListener.
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed () {
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitialAd.loadAd(adRequest);
Log.d("Ads", "The interstitial is loading.");
}
});
Log.d("Ads", "The interstitial is showing.");
} else {
Log.d("Ads", "The interstitial wasn't loaded yet.");
}
}
将调用 load 并在 MainActivity 中交替显示。
Edit 2 从真实设备添加 logcat
2019-11-19 21:17:43.346 17702-17702/tk.myessentialoils.a16personalities
I/Ads: This request is sent from a test device.
2019-11-19 21:17:43.392 17702-17702/tk.myessentialoils.a16personalities
I/DynamiteModule: Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:21001
2019-11-19 21:17:43.392 17702-17702/tk.myessentialoils.a16personalities I/DynamiteModule: Selected remote version of com.google.android.gms.ads.dynamite, version >= 21001
2019-11-19 21:17:43.435 17702-17702/tk.myessentialoils.a16personalities D/Ads: The interstitial is loading.
2019-11-19 21:17:43.567 17702-17803/tk.myessentialoils.a16personalities W/Ads: Not retrying to fetch app settings
2019-11-19 21:17:45.111 2371-15333/? E/Ads: Cannot determine request type. Is your ad unit id correct?
2019-11-19 21:17:46.684 17702-17702/tk.myessentialoils.a16personalities I/Ads: Ad failed to load : 1
【问题讨论】:
-
添加您用于加载广告的代码 sn-p
-
"您将不得不等待 Admob 评估/检查您的流量的质量和数量。这在他们的系统中可能需要一段时间,并且此检查可能随时发生/重新发生(通常在开始某人的帐户)如果您在测试模式下看到广告,那么您通常已经在您的应用程序中正确实施了广告。”来自support.google.com/admob/thread/3150336?hl=en的回答
-
我是admob的老用户,我的应用已经发布了1个月的新用户。应该有超过 100 个不同 ip 的请求。所以我认为这不是它的原因。
标签: android