4

私は自分のアプリケーションにadmobバナーを数時間統合しようとしていましたが、それができなかったので、admobバナーを表示することだけを目的とした新しいアプリを作成しましたが、それも機能しません. ここにコードがあります

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    AdView adView = new AdView(this, AdSize.BANNER, "XXX");
    adView.setVisibility(View.VISIBLE);

    RelativeLayout layout = new RelativeLayout(this);

    RelativeLayout.LayoutParams adParams =
        new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                                        RelativeLayout.LayoutParams.WRAP_CONTENT);
    adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);

    layout.addView(adView, adParams);
    setContentView(layout);

    AdRequest adRequest = new AdRequest();
    adView.loadAd(adRequest);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
}

ここに私のマニフェストファイルがあります

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.zzzzzz_admobtest"
    android:versionCode="1"
    android:versionName="1.0" >

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

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.zzzzzz_admobtest.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
      android:name="com.google.ads.AdActivity"
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>

</manifest>

私は何を間違っていますか?

また、adView.isActivated() と adView.isReady() を出力すると、両方とも false になります。

私は ID を持っていないので、ID の代わりに「XXX」を使用しています。それは問題になるでしょうか?

デバイスを使用しています。ここにligcatのエラーがあります

08-07 22:43:04.248: E/ActivityThread(24181): com.google.plus.platform 08-07 22:43:04.454 のプロバイダー情報が見つかりませんでした: E/Ads(24181): JS: Uncaught ReferenceError: AFMA_getSdkConstants が定義されていません ( http://media.admob.com/:1 ) 08-07 22:43:04.454: E/Web コンソール (24181): Uncaught ReferenceError: AFMA_getSdkConstants はhttp://media.admobで定義されていません.com/:1

最後の 2 つのエラーは、このコードで修正できます

   (new Thread() {
        public void run() {
             Looper.prepare();
            adView.loadAd(new AdRequest());
        }
    }).start();

最初のものはエラーではなく、単なる警告であることを理解しています。では、なぜこれが機能しないのですか??

4

7 に答える 7

2

私は ID を持っていないので、ID の代わりに「XXX」を使用しています。それは問題になるでしょうか?

はい。はいぜったいに。Admob アカウントにサインアップします。自分で ID を取得し、それを使用します。

于 2013-08-07T21:54:02.047 に答える
1

Meta-Data タグが Android-manifest 内にありません。既に利用可能なリソースを調べてください

 <meta-data
            android:name="ADMOB_PUBLISHER_ID"
            android:value="XXXX" />
于 2013-08-07T05:47:31.950 に答える
0

ここから完全なソースコードをダウンロードできます

依存関係に次の lib を追加します

 compile 'com.google.android.gms:play-services-ads:7.8.0'

スマートバナーの場合

xmlファイルに次のものを追加します

   <com.google.android.gms.ads.AdView
    android:id="@+id/ad_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ads:adSize="SMART_BANNER"
    ads:adUnitId="@string/banner_ad_unit_id" />

Javaファイルに次のものを追加します

    mAdView = (AdView) findViewById(R.id.ad_view);
    AdRequest adRequest = new AdRequest.Builder().build();

    // Start loading the ad in the background.
    mAdView.loadAd(adRequest);

インタースティシャル広告の場合

 mInterstitialAd = new InterstitialAd(MainActivity.this);
    mInterstitialAd.setAdUnitId(getResources().getString(R.string.full_screen_ad_unit_id));

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

    mInterstitialAd.loadAd(adRequestFull);
    mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            super.onAdLoaded();
            // Full screen advertise will show only after loading complete
            mInterstitialAd.show();
        }
    });
于 2015-09-21T10:10:30.560 に答える
0

onCreate に 2 行だけ追加します

AdView ad = (AdView) findViewById(R.id.adView);
ad.loadAd(new AdRequest());

そして、あなたのXMLにAddViewを追加してください

 <com.google.ads.AdView
    android:id="@+id/adView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    ads:adSize="SMART_BANNER"
    ads:adUnitId="@string/ads_unit_id"
    ads:loadAdsOnCreate="true" />
于 2013-08-07T05:48:54.160 に答える