我的问题是广告根本没有在我的应用,测试模式中显示.我将把这个问题专门用于测试模式,一旦我开始工作,我会担心实时广告.
发展信息
我正在使用Eclipse进行开发.
我在Android应用中使用Google Play服务和Admob设置了广告,如Google提供的在线文档中所述.
我使用addTestDevice("xxxxxxxxxxxxxxxx")添加了我的设备ID,并多次检查散列设备ID以确保它是正确的.
问题(见下面的日志信息)
当我在设备上运行应用程序时,根本不会显示任何广告.即使我将设备添加为测试设备,也会发生这种情况.
我搜索过高低,并发现了很多类似的问题,但我还没有找到这个具体问题的答案.
LogCat输出
10-28 13:56:41.659: I/Ads(1704): Starting ad request.
10-28 13:56:42.187: I/Ads(1704): No fill from ad server.
10-28 13:56:42.187: W/Ads(1704): Failed to load ad: 3
10-28 13:56:42.199: W/Ads(1704): No GMSG handler found for GMSG: gmsg://mobileads.google.com/jsLoaded?google.afma.Notify_dt=1414504602197
Run Code Online (Sandbox Code Playgroud)
我的活动
package bb.hoppingbird;
import org.cocos2d.layers.CCScene;
import org.cocos2d.nodes.CCDirector;
import org.cocos2d.opengl.CCGLSurfaceView;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import android.app.Activity;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.view.ViewPager.LayoutParams;
import android.util.DisplayMetrics;
import android.view.KeyEvent;
import android.widget.RelativeLayout;
import android.widget.Toast;
public …Run Code Online (Sandbox Code Playgroud) 我只是想知道这个问题是否是服务器端...或者我必须在我的代码中修复一些问题...
onFailedToReceiveAd(广告请求成功,但由于缺少广告资源而未返回广告
我正在使用adob与adwhirl在我的Android应用程序中显示广告.
我在 Playstore 上有一款游戏,我实施了奖励视频广告,而且我的广告投放效果非常好,实际上匹配率为 100%。但突然间,广告在过去三天内拒绝加载,匹配率 < 1%。我在android studio上测试过。我收到此错误:
I/Ads: Ad failed to load : 3
Run Code Online (Sandbox Code Playgroud)
编辑:另一个问题不包含此错误:
W/Ads: Not retrying to fetch app settings
Run Code Online (Sandbox Code Playgroud)
我以前从未见过这个
//这是我要加载广告的活动
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);
Run Code Online (Sandbox Code Playgroud)
//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() { …Run Code Online (Sandbox Code Playgroud) 我知道这个话题已经发布了很多次,但是没有真正的解决方案可以解决这个问题。
最近,我决定在几个应用程序中进行更新。这是次要的更新,将库版本(也包括admob)更改为最新版本。我也将targetSdkVersion从25更改为26。几天后,我检查了admob的统计信息,所有这些应用中的填充率均降至0!并且请求的数量增加了。用于横幅和插页式广告。其他应用程序不受影响。
我以为这是一个愚蠢的错误,但是我在代码中找不到任何问题。
在横幅广告和插页式广告的日志中,我看到的是:
I /广告:广告服务器未填满。
W /广告:无法加载广告:3
我已尽力简化此问题,因此我从android studio模板创建了一个全新的项目-Google AdMob Ads Activity,并将包名称设置为其中一个受影响的应用。结果是一样的。仍然没有填补。
该请求是从测试设备发送的。
在确认这一点。
我已经尝试过这篇文章中的虚拟广告ID:是否有AdMob虚拟ID?
我尝试使用具有不同sdk级别的不同设备。
我尝试过使用firebase-ads和play-services-ads。
我尝试使用较旧的admob SDK。
我尝试使用较低的targerSdkVersions。
所有这些都给我什么。但是我发现只有一种方法可以更改包装名称。立刻,无论是什么广告,无论它是不是测试设备,我总会收到一则广告。插页式广告和横幅。
这是我的MainActivity.java代码:
public class MainActivity extends AppCompatActivity {
public static final String ADMOB_INTERSTITIAL_DUMMY = "ca-app-pub-3940256099942544/1033173712";
public static final String ADMOB_INTERSTITIAL = "ca-app-pub-my_own_ad_id";
public InterstitialAd interstitial;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AdView adView = (AdView) findViewById(R.id.adView);
adView.loadAd(newAdRequest());
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(ADMOB_INTERSTITIAL_DUMMY); //ADMOB_INTERSTITIAL
interstitial.loadAd(newAdRequest());
interstitial.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
interstitial.loadAd(newAdRequest());
} …Run Code Online (Sandbox Code Playgroud) 我无法在我的设备上的测试应用中显示我的广告单元。
我正在使用 firebase_admob 0.9.1+1 插件
这是我使用的代码:
import 'package:firebase_admob/firebase_admob.dart';
Future initAppAds() async {
//Récupère du coup le bon ID selon si je suis sous IOS ou Android
print(getAppId());
await FirebaseAdMob.instance.initialize(appId: 'ca-app-pub-xxxxxxxxMyAppIdxxxxxxxxxxx');
}
Future launchAds() async {
print("launchAds");
print(getInterstitialId());
MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
nonPersonalizedAds: true,
);
InterstitialAd myInterstitial = InterstitialAd(
adUnitId: 'ca-app-pub-xxxxxxxxxxxxx/xxxxMyAdBloc',
targetingInfo: targetingInfo, //Info de l'utilisateur
listener: (MobileAdEvent event) {
print("InterstitialAd event is $event");
},
);
await myInterstitial.load();
await myInterstitial.show(
anchorType: AnchorType.bottom,
anchorOffset: 0.0,
horizontalCenterOffset: 0.0
);
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的日志:
2866-2866/com.fabien.movizz I/Ads: …Run Code Online (Sandbox Code Playgroud)