万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Admob特化版 Android

    http://garlicg.blog92.fc2.com/blog-entry-31.html
    このソースは複数なのでAdmobだけに限定する。
    このサイトはせっかく綺麗にまとまってるが、インポート文がなぜかないので修正した。

    AndroidのOSバージョン
    2.3.1が無難

    package com.shinriyo.zombeat;
    
    import com.google.ads.*;
    import android.app.Activity;
    import android.view.LayoutInflater;
    import com.google.ads.AdRequest.ErrorCode;
    import android.widget.LinearLayout;
    
    /**
     * 広告クラス
     */
    public class Ads {
    	
    	private Activity mActivity;
    	
    	public Ads(Activity act) {
    		mActivity = act;
    	}
    	
    	/**
    	 * Admobを設定します。
    	 */
    	public void setAdmob(){
    		// xmlからAdmobViewを生成する
    		LayoutInflater inflater = mActivity.getLayoutInflater();
    		AdView av = (AdView)inflater.inflate(R.layout.ads_admob, null);
    		
    		// AdmobはAdListenerをセットできる
    		av.setAdListener(new AdListener() {
    			@Override
    			public void onReceiveAd(Ad arg0) {
    			}
    			@Override
    			public void onPresentScreen(Ad arg0) {
    			}
    			@Override
    			public void onLeaveApplication(Ad arg0) {
    			}
    			@Override
    			//public void onFailedToReceiveAd(Ad ad, AdRequest.ErrorCode error) {
    			public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
    				// 受信に失敗した場合はローカル広告を表示する
    				//setMyAds();
    			}
    			@Override
    			public void onDismissScreen(Ad arg0) {
    			}
    		});
    
    		// 広告レイアウトにAdmobをセットする
    		((LinearLayout)mActivity.findViewById(R.id.ads_parent)).addView(av);
    		av.loadAd(new AdRequest());
    	}
    }
    

    package com.shinriyo.zombeat;は独自に直してね。メインのアクティビティと同じパッケージにすると都合がいい。
    Rクラスがインポートなしでやってくれるし。

    package com.shinriyo.zombeat;
    
    import android.os.Bundle;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.LinearLayout;
    
    import com.unity3d.player.UnityPlayerActivity;
    
    public class HogeActivity extends UnityPlayerActivity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //広告用のView追加
            View view = this.getLayoutInflater().inflate(R.layout.lay_adtest, null);
            addContentView(view,new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
            // 直接指定
            new Ads(this).setAdmob();
        }
    }
    

    なぜか「lay_adtest」とすべき所が「lay_ads」になってた。
    XMLを修正してもいいかも?

    今度まとめよう。

    プレハブを使う Unity

    • こんなやり方もあったのか
    Instantiate(Resources.Load("プレハブ名")); 
    

    C#が賢い件 Unity

    if (a = b) {
        // Do something
    }