web-dev-qa-db-ja.com

AdMobバナー広告が表示されない

アプリでadmobを使用していますが、正常に機能していましたが、突然広告が表示されなくなりました。ベローは私が使用した私のコードです:

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>

MainActivity.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" />

数日前に機能していると言ったように、adMobサイトのすべての指示に従いました。

以下は、私の問題に関連する可能性のあるlogcatからの数行です:

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

警告が繰り返し表示され、広告を表示する空白の領域をクリックするとさらに表示されます

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

これは、「広告」でフィルタリングされたlogcatです

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.

私はどこでも解決策を検索し、同様のいくつかを見ましたが、それらはどれも助けてくれませんでした。

15
Darshan

この問題は、アプリを手動でアンインストールし、変更せずに再インストールすることで解決します!!

8
Darshan

以下のコード行を使用

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

これを使用する代わりに

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

これは、アプリケーションがGoogle Playストアで公開する準備ができたときにこの行が使用されるためです。

"AC98C820A50B4AD8A2106EDE96FB87D4"の代わりにデバイスのIDを配置できます。デバイスIDを取得するコード:

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

これらを注意深くお読みください:

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

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

こちらをご覧ください

enter image description here

enter image description here

16
Ashish Tiwari

AdMobおよびGooglePlayServices libの最新バージョンがあるかどうかを確認してください。

2
mohax

私の場合、十分なスペースを確保するまで広告は表示されませんでした。

ようになる前に

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

ここで、adviewの高さはwrap_contentであるため、高さを調整するために自身を調整しますが、親(LinearLayout)の厳密な高さは90dipで、adViewが広告を表示するのに十分なスペースを取ることができません。

だから私がやったことは、LinearLayoutの高さをwrap_contentに変更しただけで、その後うまくいった

1
Sayka

Admobアカウントに戻って特定のアプリを広告に登録し、「pub-」ではなく「ca-app-pub-」で新しい長い発行元番号を取得しましたか?

Google Admobの「Google Mobile Ads SDK」開発サイトの「バナー広告1」の説明のどこにも、これを行うためにadmobアカウントに戻る必要があると記載されていません。

この愚かな間違いは何日も私を支えた。

0
Ahmer Afzal

これと同じように、LinearLayoutにバナーを配置します。同じ問題に直面し、線形レイアウトに配置して修正しました。

  <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>
0
Mahmoud M

私の場合、プロジェクトレベルbuild.gradlebuildscriptセクションに以下のコードがありました

maven {url "https://maven.google.com"}allProjects > repositoriesの下にあることを確認してください。

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