Android:测试广告不显示

标签 android admob

我正在尝试将广告添加到我当前的 Activity 中,但该 Activity 未显示任何广告。我还向 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初始配置指南

更新于 10/04/2016 - MM/dd/yyyy

第 1 步:确保拥有最新版本的 Google Play 服务和 Google 存储库 SDK versions

第 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 中的包名称与您应用程序 build.gradle 的 applicationId 匹配,否则您将遇到编译错误。

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

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

关于Android:测试广告不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39850103/

相关文章:

android - 从 Azure 数据库本地存储自定义 ListView

android - 通过 Android 客户端在 REST 后端创建新用户

java - 从一个 Activity 中获取值(value)到另一个类(class)

ios - 谷歌 AdMob - "initialized without an application id"错误

android - 如何从 admob 帐户中屏蔽不当广告

Android:如何命名布局文件夹

android - 无论如何,保持布局的高度作为换行内容,但不要让它超过一定的高度

ios - Google 广告未在特定应用中展示

ios - 在 iOS 上使用共享横幅切换标签时显示 AdMob 和/或 iAd

java - 如何修复 AdMob 导致 Android 应用程序崩溃的问题?