web-dev-qa-db-de.com

AdMob-Banner werden nicht geschaltet

Ich benutze Admob in meiner App, es hat gut funktioniert, aber auf einmal wurde aufgehört, Anzeigen zu schalten. Bellow ist meine Codes, die ich verwendet habe:

mainActivity.xml:

<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>

Hauptaktivität.Java

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

        AdRequest adRequest = new AdRequest.Builder().build();

        mAdView.loadAd(adRequest);

AndroidManifest:

 <uses-sdk
        Android:minSdkVersion="9"
        Android:targetSdkVersion="19" />

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

<meta-data Android:name="com.google.Android.gms.version"
            Android:value="@integer/google_play_services_version" />  

<!--Include the AdActivity configChanges and theme. -->
<activity Android:name="com.google.Android.gms.ads.AdActivity"
            Android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            Android:theme="@Android:style/Theme.Translucent" />

Ich habe alle Anweisungen von der AdMob-Site befolgt, da ich vor wenigen Tagen gesagt habe, dass es funktioniert.

Unten sind einige Zeilen von logcat, die möglicherweise mit meinem Problem zusammenhängen:

09-25 22:44:50.292: E/dalvikvm(18554): Could not find class 'Android.app.AppOpsManager', referenced from method com.google.Android.gms.common.GooglePlayServicesUtil.zza

09-25 22:45:07.209: E/Ads(18554): JS: Uncaught ReferenceError: renderAd is not defined (https://googleads.g.doubleclick.net/mads/gma:1)
09-25 22:45:07.209: E/Web Console(18554): Uncaught ReferenceError: renderAd is not defined:1
09-25 22:45:07.209: E/Ads(18554): JS: Uncaught ReferenceError: onLoad is not defined (https://googleads.g.doubleclick.net/mads/gma:1)
09-25 22:45:07.209: E/Web Console(18554): Uncaught ReferenceError: onLoad is not defined:1

Ich bekomme wiederholt eine Warnung und es erscheint mehr, wenn ich auf den leeren Bereich klicke, in dem die Anzeige erscheinen soll

09-25 22:46:10.911: W/PicturePileLayerContent(18554): Warning: painting PicturePile without content!

Dies ist ein gefilterter Logcat mit "Anzeigen"

09-25 23:39:25.948: I/Ads(28874): Starting ad request.
09-25 23:39:25.948: I/Ads(28874): Use AdRequest.Builder.addTestDevice("8FCD71CAAE776558876AAA9BA964245A") to get test ads on this device.

09-25 23:39:26.919: I/Ads(22050): App index is not enabled
09-25 23:39:30.432: E/Ads(28874): JS: Uncaught ReferenceError: renderAd is not defined (https://googleads.g.doubleclick.net/mads/gma:1)
09-25 23:39:30.442: E/Ads(28874): JS: Uncaught ReferenceError: onLoad is not defined (https://googleads.g.doubleclick.net/mads/gma:1)
09-25 23:39:30.442: I/Ads(28874): Scheduling ad refresh 60000 milliseconds from now.
09-25 23:39:30.472: I/Ads(28874): Ad finished loading.

Ich habe überall nach der Lösung gesucht und auch ähnliche gesucht, aber keiner von ihnen hat mir geholfen. 

15
Darshan

Dieses Problem wird gelöst, indem Sie die App manuell deinstallieren und erneut installieren, ohne Änderungen vorzunehmen.

8
Darshan

Verwenden Sie die folgenden Codezeilen 

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

AdRequest request = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)        // All emulators
.addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4")  // My Galaxy Nexus test phone
.build();


mAdView.loadAd(request );

anstatt dies zu verwenden

AdRequest adRequest = new AdRequest.Builder().build();

diese Zeile wird verwendet, wenn Ihre Anwendung zur Veröffentlichung im Google Play Store bereit ist.

Sie können die ID Ihres Geräts anstelle von "AC98C820A50B4AD8A2106EDE96FB87D4" einfügen. Code zum Abrufen der Geräte-ID:

String Android_id = Settings.Secure.getString(getContext().getContentResolver(),
            Settings.Secure.Android_ID);

Bitte lesen Sie diese sorgfältig durch:

https://developers.google.com/admob/Android/targeting#test_ads

https://developers.google.com/admob/Android/quick-start

Sieh dir das an

 enter image description here

 enter image description here

14
Ashish Tiwari

Überprüfen Sie, ob Sie über die neuesten Versionen von AdMob und GooglePlayServices Lib verfügen.

2
mohax

Setzen Sie das Banner so in ein LinearLayout, dass ich vor dem gleichen Problem stand und es durch ein lineares Layout behoben habe

  <LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:ads="http://schemas.Android.com/apk/res-auto"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:orientation="vertical"
    Android:layout_alignParentTop="true"
    Android:layout_alignParentRight="true"
    Android:layout_alignParentEnd="true"
    Android:id="@+id/linearLayout">

    <com.google.Android.gms.ads.AdView
        Android:id="@+id/adView"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-8056472942589154/2652831823"
        Android:layout_alignBottom="@+id/saida"
        Android:layout_alignParentLeft="true"
        Android:layout_alignParentStart="true" />
</LinearLayout>
1
Mahmoud M

In meinem Fall wurde die Anzeige nicht angezeigt, bis ich genügend Platz dafür hatte.

Bevor es so war

<LinearLayout
        Android:orientation="vertical"
        Android:background="@color/primary"
        Android:layout_width="match_parent"
        Android:layout_height="90dip">
           <ImageView
                Android:onClick="goBack"
                Android:clickable="true"
                Android:src="@drawable/ic_arrow_back_white_48dp"
                Android:layout_width="50dip"
                Android:layout_height="50dip"/>
           <com.google.Android.gms.ads.AdView
                Android:layout_gravity="center_horizontal"
                Android:id="@+id/adView"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                ads:adSize="BANNER"
                ads:adUnitId="@string/dwn_bnr_ad"/>

Der Adview hat hier die Höhe von wrap_content, also passt er sich selbst an, um seine Höhe zu erreichen, aber das übergeordnete Element (LinearLayout) hat eine strenge Höhe von 90 DIP, wodurch AdView nicht genügend Platz für die Anzeige von Anzeigen benötigt.

Also habe ich einfach die Höhe des LinearLayout in wrap_content geändert und dann wurde alles gut

1
Sayka

Haben Sie zu Ihrem Admob-Konto zurückgekehrt, um Ihre spezifische App für Anzeigen zu registrieren und eine neue, längere Publisher-Nummer mit dem Vorwort "ca-app-pub" anstelle des "pub" -Vorworts zu erhalten?

Nirgendwo in den "Banner ads 1" -Anweisungen auf der Google Admob-Entwicklungsseite "Google Mobile Ads SDK" wird erwähnt, dass Sie dazu zu Ihrem Admob-Konto zurückkehren müssen.

Dieser dumme Fehler hielt mich tagelang auf.

0
Ahmer Afzal

In meinem Fall hatte ich den folgenden Code unter dem Abschnitt buildscript der Projektebene build.gradle

Stellen Sie sicher, dass sich maven {url "https://maven.google.com"} unter allProjects > repositories befindet:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}
0
A-Sharabiani