1

既存のアクティビティなしで AdView インスタンスを作成しようとしました:

https://developer.android.com/reference/com/google/android/gms/ads/AdView.html

AdView(Context context, AttributeSet attrs) // XML レイアウトから AdView を構築します。

XmlPullParser parser = context.getResources().getXml(R.xml.admob);
AttributeSet attributes = Xml.asAttributeSet(parser);
adView = new AdView(context, attributes);

さまざまな種類の XML コンテンツを試しましたが、適切な解決策が見つかりません。

私が試したXMLの一例:

<com.google.ads.AdView 
  xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
  xmlns:android="http://schemas.android.com/apk/res/android"

  android:id="@+id/my_button"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  ads:adSize="BANNER">
</com.google.ads.AdView>

私が試しても、次の例外がスローされます。

LogCat: E/AndroidRuntime(29853): Caused by: com.google.ads.internal.b: Required XML attribute "adSize" missing
E/AndroidRuntime(29853):    at com.google.ads.AdView.b(SourceFile:467)
E/AndroidRuntime(29853):    at com.google.ads.AdView.a(SourceFile:336)

AdView コンストラクターのこのバリエーションを使用する方法の例を教えてもらえますか?

4

2 に答える 2

1

アクティビティなしで AdView を構築することは不可能であるか、難しすぎることがわかりました。

でも「Activityがない環境でAdViewを作る方法」の解決策としては、結局そんなに難しくなかったです。

次の手順を実行してください。

  • ダミーのアクティビティを開始して AdView を作成します。アクティビティをすぐに終了するには、finish() を使用します。
  • アクティビティ ビュー階層から AdView を切り離し、必要な場所に追加します。

正常に動作するようです (少なくとも Android 4.2)。

于 2013-12-01T20:24:39.787 に答える
0

あなたが得ているエラー

Required XML attribute "adSize" missing

adSizeAdView の XML 設定に属性がないためです。表示する広告のサイズを選択する必要があります。

https://developers.google.com/mobile-ads-sdk/docs/admob/intermediate#androidを参照してください

于 2013-11-15T22:56:45.640 に答える