AdMobの表示率はあまり高く無いので、AdMobが呼ばれなかった時に他の広告を呼ぶ方法を考えます。今回はAdLantisで説明しますが、AdMakerの場合もほぼ同じです(ちょっと書く事が増える)。
○手順
やり方は以下の通りです。
1.AdLantisのXMLレイアウトをLinearLayoutで囲んでおく
2.あらかじめそのLinearLayoutを消しておく
3.java側でAdMobを普通に呼ぶ
4.AdMobを呼ぶのに失敗したら、AdLantisのXMLレイアウトを表示するよう変更する
以上です。AdMobは広告が呼ばれなかった時にonFailedToReceiveAdが呼ばれるので、ここで他の広告の呼び出しを行います。なお、この方法はAdLantisだけでなく、AdMaker等ほかの広告にも適用可能です。
○ソースコード
XML側
そしてjava側では
みたいにすれば良いのでは。適宜変更して下さい。
○コメント
・このやり方はAdMakerでも使えます。onFailedToReceiveAdにて広告レイアウトをVISIBLEにして、かつ広告を読み込めばokです(AdMaker.setActivity(this);とかを書く)。
・もっとシンプルにできそうですが、とりあえず動いてるので大丈夫ではないでしょうか。
○手順
やり方は以下の通りです。
1.AdLantisのXMLレイアウトをLinearLayoutで囲んでおく
2.あらかじめそのLinearLayoutを消しておく
3.java側でAdMobを普通に呼ぶ
4.AdMobを呼ぶのに失敗したら、AdLantisのXMLレイアウトを表示するよう変更する
以上です。AdMobは広告が呼ばれなかった時にonFailedToReceiveAdが呼ばれるので、ここで他の広告の呼び出しを行います。なお、この方法はAdLantisだけでなく、AdMaker等ほかの広告にも適用可能です。
○ソースコード
XML側
<LinearLayout android:id="@+id/adLantisLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_below="@+id/adLantisOutsideLayout" android:visibility="gone"> <jp.Adlantis.Android.AdlantisView android:id="@+id/adView" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:gravity="center" /> </LinearLayout>
そしてjava側では
public class checktrend extends ListActivity implements AdListener{ @Override public void onCreate(Bundle savedInstanceState) { //色々書く。 } @Override public void onReceiveAd(Ad arg0) { //広告が読み込まれた } @Override public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) { //広告が読み込めなかった //AdLantisを表示(xmlで非表示になってるのを表示に変更) LinearLayout layoutAdlantis = (LinearLayout)checktrend.this.findViewById(R.id.adLantisLayout); layoutAdlantis.setVisibility(View.VISIBLE); } @Override public void onPresentScreen(Ad arg0) { //画面の前に広告が出たら呼ばれる? } @Override public void onDismissScreen(Ad arg0) { //フルスクリーン広告が呼べなかった時に呼ばれる? } @Override public void onLeaveApplication(Ad arg0) { //広告により別のActivityが呼ばれると呼ばれる }
みたいにすれば良いのでは。適宜変更して下さい。
○コメント
・このやり方はAdMakerでも使えます。onFailedToReceiveAdにて広告レイアウトをVISIBLEにして、かつ広告を読み込めばokです(AdMaker.setActivity(this);とかを書く)。
・もっとシンプルにできそうですが、とりあえず動いてるので大丈夫ではないでしょうか。
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。