Android: 测试广告未展示

Android: Test Ads not displaying

我正在尝试将广告添加到我当前的 activity,但 activity 没有显示任何 Ad。我还为 Android Manifest.xml

添加了互联网权限

这是我的

.Gradle 文件

 apply plugin: 'com.android.application'

    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.0"

        defaultConfig {
            applicationId "sms.and.call.alert.flashlight.lpa.com.myapplication"
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.google.android.gms:play-services:9.6.0'

        compile 'com.google.firebase:firebase-ads:9.6.0'
    }

这是MainActivity

  public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MobileAds.initialize(getApplicationContext(), "ca-app-pub-3940256099942544~3347511713");
        AdView mAdView = (AdView) findViewById(R.id.adView);
        AdRequest request = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)        // All emulators
                  // An example device ID
                .build();
        mAdView.loadAd(request);

    }
}

这是MainActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="sms.and.call.alert.flashlight.lpa.com.myapplication.MainActivity">
    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</RelativeLayout>

Admob-Firebase 初始配置指南

2016 年 10 月 4 日更新 - MM/dd/yyyy

步骤 1:确保拥有最新版本的 Google Play Services 和 Google Repository

步骤 2:在 Firebase 控制台上创建项目后,将 google-services.json 放入应用程序文件夹
更多信息:https://firebase.google.com/docs/android/setup#add_firebase_to_your_app

步骤 3:设置您的项目级别 build.gradle,如下所示。
更多信息:https://firebase.google.com/docs/android/setup#add_the_sdk

buildscript {
    // ...
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        // ...
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

第 4 步:设置您的应用级别 build.gradle 如下:
更多信息:https://firebase.google.com/docs/admob/android/quick-start#integrate_firebase_and_the_mobile_ads_sdk

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "your.package.app"
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')

    compile 'com.google.firebase:firebase-ads:9.0.0'
}

apply plugin: 'com.google.gms.google-services'

第 5 步:将这些权限添加到 AndroidManifest(如果它们不存在)

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

此外,请确保您在 AndroidManifest 中的包名称与您的应用程序的 applicationId 匹配 build.gradle 否则您将遇到编译错误。

第 6 步:继续按照快速入门教程学习如何创建广告单元以在您的视图中展示广告:https://firebase.google.com/docs/admob/android/quick-start

第 7 步:如果您仍然遇到编译时问题,请检查那些真正有用和常见的线程和示例:
Manifest 和 applicationId 问题:、
多口味问题:
Google Admob 示例:https://github.com/googleads/googleads-mobile-android-examples

也许您忘记通过调用来加载广告:

AdView mAdView = (AdView) findViewById(R.id.adView);
mAdView.loadAd(request);