- 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 件のコメント:
コメントを投稿