2016-07-05 11 views
1

https://firebase.google.com/docs/admob/android/bannerで提供されているサンプルコードは、XMLファイルの広告主IDと広告サイズを使用して問題なく動作します。しかし、特定のパラメータに基づいて広告主IDとバナーサイズを設定できることは非常に重要です。Android - AdMobの広告主IDまたは広告サイズを動的に設定する方法

私はこの二つの考えられたが、彼らは私のために動作しませんでした - >

Programatically set the AdMob id String

How to specify adUnitId programmatically for AdMob?

私は二番目を実装しようとすると、私はjavaファイルをリンクしようとすると、私はエラーを取得しますto xmlファイル。どのようにリンクする必要がありますか?

+1

はあなたのコードを投稿してください。 @ARIPOVULA – Lampard

答えて

1
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <FrameLayout 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:background="@null" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 

AdView mAdView = new AdView(context); 
mAdView.setAdSize(AdSize.BANNER); 
mAdView.setAdUnitId(AD_UNIT_ID); 
FrameLayout frameLayout = (FrameLayout) view.findViewById(R.id.adView); 
frameLayout.addView(mAdView); 
AdRequest adRequest = new AdRequest.Builder().build(); 
mAdView.loadAd(adRequest); 
0

あなたの応答@Kいただきありがとうございます。ガンジー。あなたの反応を見る前に、私は次のことを思いつきました。

いくつかの試みの後、私はそれをやりました。これを達成する他のより良い方法があるかもしれないが、これは私がやったことであり、それは私のためにうまくいく。私はScrollViewを、以下を除いてadviewのために何を追加しませんでした関連のXMLファイルに

<ScrollView android:id="@+id/scrollView6" android:clickable="true" android:layout_width="fill_parent" android:layout_height="wrap_content"/>

はちょうど私が表示されるように広告を必要な場所と残りの部分で、このScrollViewを追加(<com.google.android.gms.ads.AdView ....ようにはコードが追加されません) (それは.... setContentView直後に追加する必要がある)は次のようにのみ*の.javaファイルに追加されます。

super.onCreate(savedInstanceState); 
setContentView(R.layout.xmllayoutfile); 
adView = new AdView(this); 
if (Global.dpHeight > 600) { 
adView.setAdSize(AdSize.LARGE_BANNER); 
} else { 
adView.setAdSize(AdSize.BANNER); 
} 
adView.setAdUnitId(Global.adMobID); 


LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View v = inflater.inflate(R.layout.xmllayoutfile, null); //same layout file as declared in setContentView... above 

ScrollView sv = (ScrollView) v.findViewById(R.id.scrollViewName); 

ll = new LinearLayout(this); 
ll.setOrientation(LinearLayout.VERTICAL); 

sv.addView(ll); 
ll.addView(adView); 
setContentView(v); 

これを追加した後、私は他のコードを追加し、私が追加したコードの底部にエド・コードは、広告

AdRequest.Builder adRequestBuilder = new AdRequest.Builder(); 
adView.loadAd(adRequestBuilder.build()); 

をロードし、追加することを忘れないでください:

@Override 
public void onPause() { 
super.onPause(); 
if (adView != null) adView.pause(); 
} 

@Override 
public void onResume() { 
super.onResume(); 
if (adView != null) adView.resume(); 
} 


@Override 
public void onDestroy() { 
super.onDestroy(); 
if (adView != null) adView.pause(); 
} 

`

関連する問題