java - 我的 AdMob 广告不起作用,但一切似乎都写得正确

标签 java android admob

我的广告不起作用,我不知道是什么原因造成的。在 Activity 课上,似乎一切都好。 Gradle 也是如此。请帮忙。也许 AdMob 控制台出现问题。

public class RegisterActivity extends BaseActivity implements View.OnClickListener {

    private static final int RC_SIGN_IN = 9001;

TextView logo;

    private InterstitialAd Memead3;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        findViewById(R.id.button_sign_in).setOnClickListener(this);
        logo = (TextView)findViewById(R.id.textView2);
        Typeface typeface0 = Typeface.createFromAsset(getAssets(), "Baloo-Regular.ttf");
        logo.setTypeface(typeface0);


        Memead3 = new InterstitialAd(this);
        Memead3.setAdUnitId("ca-app-pub-8090166845540486/4438348515");
        Memead3.loadAd(new AdRequest.Builder().build());
        MobileAds.initialize(this, "ca-app-pub-8090166845540486~1312841352");

        if (Memead3.isLoaded()) {
            Memead3.show();
        } else {
            Log.d("TAG", "The interstitial wasn't loaded yet.");
        }

Gradle :

  compile 'com.android.support:appcompat-v7:25.1.0'

    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.firebaseui:firebase-ui-storage:1.1.1'
    compile 'com.google.firebase:firebase-database:10.0.1'
    compile 'com.firebaseui:firebase-ui-database:1.1.1'
    compile 'com.google.firebase:firebase-auth:10.0.1'
    compile 'com.google.android.gms:play-services-auth:10.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.android.support:recyclerview-v7:25.1.0'
    compile 'com.android.support:cardview-v7:25.1.0'
    compile 'de.hdodenhof:circleimageview:1.3.0'
    compile 'com.android.support:support-v4:25.1.0'
    compile 'com.android.support:design:25.1.0'
    compile 'com.google.android.gms:play-services-ads:10.0.1'
    compile 'com.theartofdev.edmodo:android-image-cropper:2.3.1'
    testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

最佳答案

从您的 onCreate 方法中:

Memead3.loadAd(new AdRequest.Builder().build());
MobileAds.initialize(this, "ca-app-pub-8090166845540486~1312841352");

if (Memead3.isLoaded()) {
    Memead3.show();
}

使用此代码,您将调用 loadAd,然后在一两毫秒后尝试使用 isLoadedshow 来展示广告。 AdMob SDK 没有足够的时间为您下载广告,因此 isLoaded 将始终返回 false。

我会将您对 show 的调用尝试移出 onCreate 并转移到其他内容中,例如按钮处理程序或当用户离开 Activity 时。

此外,您在本例中似乎没有使用测试广告。在开发应用程序时,您应该始终使用它们,因为使用实时流量进行测试可能会导致您的帐户被暂停。请参阅Test Ads Guide有关如何使用它们的详细信息。

关于java - 我的 AdMob 广告不起作用,但一切似乎都写得正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46510115/

相关文章:

java - 为什么按位补码运算符 '~' 在 c# 和 java 中的行为不同?

java - 是否可以分发使用 C 生成的可执行文件的 java 桌面应用程序?

android - Volley - POST/GET 参数

ios - 在范围内找不到类型 'GADInterstitial'?

java - 正则表达式删除最后一个括号内的内容

java - 为什么在 Java 中需要按位 "and"进行某些字符到字节的转换?

android - 文件上传不适用于 Android 4.4.2

android - 服务共享声音资源

dart - 广告未在iOS设备上展示

android - Admob 最佳实践 : how many times do I request, 我应该展示横幅广告多长时间?