package jp.dd0125.common;
import jp.co.nobot.libYieldMaker.libYieldMaker;
import android.app.Activity;
import android.util.Log;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import com.admob.android.ads.AdListener;
import com.admob.android.ads.AdView;
public class CommonAdMob_AdMaker {
private static final String TAG = "CommonAdvertisement";
ProgressBar pb;
AdView adView;
libYieldMaker adMaker;
Activity act;
public CommonAdMob_AdMaker(Activity act){
this.act = act;
pb = new ProgressBar(act);
pb.setVisibility(ProgressBar.VISIBLE);
//pb.setGravity(android.view.Gravity.RIGHT);
pb.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
public void createAdMob(int align){
adView = new AdView(act);
adView.setVisibility(android.view.View.VISIBLE);
adView.requestFreshAd();
adView.setGravity(align);
adView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
adView.setAdListener(new AdListener() {
public void onReceiveRefreshedAd(AdView adView) {
Log.d(TAG, "AdListener.onReceiveRefreshedAd called!");
}
public void onReceiveAd(AdView adView) {
Log.d(TAG, "AdListener.onReceiveAd called!");
// 広告が表示できたのでProgressBarを消す
pb.setVisibility(ProgressBar.GONE);
}
public void onFailedToReceiveRefreshedAd(AdView adView) {
Log.d(TAG, "AdListener.onFailedToReceiveRefreshedAd called!");
}
public void onFailedToReceiveAd(AdView adView) {
Log.d(TAG, "AdListener.onFailedToReceiveAd called!");
// プログレスバーを消す
pb.setVisibility(ProgressBar.GONE);
// AdMaker の広告を設定している場合、AdMakerの広告を表示するのでAdViewの更新を行わせない
if(adMaker != null){
adView.setRequestInterval(0);
adView.setVisibility(AdView.GONE);
// AdMakerの広告を表示させる
adMaker.setVisibility(libYieldMaker.VISIBLE);
adMaker.startView();
}
}
});
}
public void createAdMaker(String url){
adMaker = new libYieldMaker(act);
adMaker.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
adMaker.setActivity(act);
adMaker.setUrl(url);
}
public RelativeLayout getAdMob_AdMaker(){
RelativeLayout layout = new RelativeLayout(act);
layout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
layout.setGravity(android.view.Gravity.CENTER);
layout.addView(pb);
if(adView != null){
layout.addView(adView);
}
if(adMaker != null){
layout.addView(adMaker);
if(adView == null) {
pb.setVisibility(ProgressBar.GONE);
adMaker.setVisibility(libYieldMaker.VISIBLE);
adMaker.startView();
}
}
return layout;
}
}
このように使います。
// 広告
//AdManager.setTestDevices( new String[] {
// AdManager.TEST_EMULATOR,
// //"XXXXXXXXXXXXXXXXXXXX",
// });
LinearLayout l_ad = (LinearLayout)findViewById(レイアウトID);
CommonAdMob_AdMaker Ad;
Ad = new CommonAdMob_AdMaker(this);
Ad.createAdMob(RelativeLayout.ALIGN_TOP); // AdMobを生成
Ad.createAdMaker("http://stg-images.ad-maker.info/sample-test.html"); // AdMakerを生成
l_ad.addView(Ad.getAdMob_AdMaker()); // 広告を持ったレイアウトが返ってきますので addViewします
ただし、
・res/values/attr.xml
・AdMob と AdMaker の jarライブラリ組み込み
は必要です。
0 件のコメント:
コメントを投稿