2016-05-20 6 views
6

私は自分のアプリケーションに高速ネイティブ広告を統合しようとしています。明示的なネイティブ広告のドキュメントでは、FULL_WIDTHの広告サイズで表示されたときに最も効果的だと読んだことがあります。 私はFULL_WIDTHする広告サイズを設定しようとしたが、それはIllegalStateExceptionをして失敗します。ここでは新しいadmob Expressネイティブ広告がIllegalStateExceptionで失敗する

Caused by: java.lang.IllegalStateException: The ad size and ad unit ID must be set before loadAd is called. 

は私のXMLコードです:

<com.google.android.gms.ads.NativeExpressAdView 
android:id="@+id/adView" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
ads:adSize="FULL_WIDTH" 
ads:adUnitId="@string/native_ad_unit"/> 

広告ユニットが正しいか、それは320x150のような他の広告サイズで動作します

私の実装に何か問題はありますか?

乾杯

答えて

19

私はあなたがこのようにそれを使用している場合、それは動作しますが、解決策を見つけた:

<com.google.android.gms.ads.NativeExpressAdView 
android:id="@+id/adView" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
ads:adSize="FULL_WIDTHx80" 
ads:adUnitId="@string/native_ad_unit"/> 
+0

ありがとう、あなたは私に多くの時間を節約し、広告サイズは問題でした。 –

+0

こんにちは、ネイティブ広告を使用していて、内部エラーが表示されています。それは2日で、何も私のために働いたことはありません。私のXMLタグ chetan

+0

注: 'NativeExpressAdView'に水平マージンがある場合、' ads:adSize = "FULL_WIDTHxsome_height" 'は動作しません。デバイスの全幅を占有しようとするためです。 –

1

プログラムでのみ設定できます。

NativeExpressAdViewのAdSizeをプログラムで作成するときに、パブリッシャーはFULL_WIDTH定数を使用することもできます。この場合、広告はデバイス画面の全幅を占有します。

出典:https://firebase.google.com/docs/admob/android/native-express#nativeexpressadview

+0

NativeExpressAdView adView =(NativeExpressAdView)v.findViewById(R.id.adView)。 adView.setAdSize(AdSize.FULL_WIDTH);これは機能していません... –

+0

NativeExpressAdViewをプログラムで作成している場合のみAdSizeを設定できます。私は[ここ](https://firebase.google.com/docs/reference/android/com/google/android/gms/ads/NativeExpressAdView)の例を見つけることができました。この例で指定されているように、400幅の代わりにFULL_WIDTHを使用してください。 –

関連する問題