[Unity] ぴよなーでに入れた広告

AdMobとアスタです。

ぴよなーで

iOSとAndroidに公開しました。
作った当初はnaichiさん制作のunityroomにアップロードだけでもいいかなくらいでしたがっ。

iOS,Androidどちらも、AdMobのバナーとインタースティシャルが実装しやすく、それでいいかと思ってましたが、ミニゲームだと、アイコン広告がいいなーと、Android側はアスタを入れてみました。

UnityにAdMob広告を導入する参考サイト

Google Mobile Ads SDK
本家のヘルプ。

[iOS/Android]Unityでadmobを実装する方法(iOS版SDK7.0.0対応)
内容は少し古めですが、いいこと書いてあります。

Unity+AndroidでAdMobを使う際にビルドが出来ないのを解決する
本家の記事が少し古いので、こちらは見るべき。

上記めるくまさんblogにもあるように、AdMob専用のクラスファイルを作って、DontDestroyOnLoadをしているような、常にいるGameObjectにくっつけておくのが簡単です。

AdMobバナー、インタースティシャルの表示

ゲーム画面では見えなくして、スタート画面にだけ出したい場合。
スタート画面でRequestBanner、画面の遷移時に以下のHideAdしてます。

	public void RequestBanner()
	{
		string adUnitId = "広告id";
		this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.BottomLeft);
		AdRequest request = new AdRequest.Builder().Build();
		this.bannerView.LoadAd(request);
	}

	public void HideAd(){
		if(this.bannerView != null){
			this.bannerView.Hide ();
			this.bannerView.Destroy ();
			this.bannerView = null;
		}
	}

new BannerViewとDestroyの対となってる部分をわければ、メモリ的にはよさそうですが。

インタースティシャルは、

  • 読み込み
  • 表示
  • クローズ時に再度読み込み

が必要。

クローズ時に何かやりたい時に、イベントハンドラを設定します。
閉じた時に呼ばれる関数名を入れ込むだけです。

this.interstitial.OnAdClosed += HandleInterstitialClosed;
	void HandleInterstitialClosed(object sender, System.EventArgs args)
	{
		if (this.interstitial != null) {
			this.interstitial.Destroy ();
			this.interstitial = null;
		}
		RequestInterstitial ();

		if (this.doneAction != null) {
			this.doneAction.Invoke ();
		}
	}

this.doneActionは、表示した時に渡して、閉じた時に何か実行できるようにしてます。
ぴよなーでの場合は、閉じた時にタイトルへ戻るように。(インタースティシャル自体あんまり出してないですが)

	public bool ShowInterstitial(System.Action delegateAction)
	{
		bool blRet = false;
		if (this.interstitial.IsLoaded()) {
			this.doneAction = delegateAction;
			this.interstitial.Show();
			blRet = true;
		}
		return blRet;
	}

アスタのアイコン広告

実装できるのはAndroidだけです。

(2017.4)最近iOS側のスモールフロート型がクリック0円なので、今後消えてしまうのかも(?)、あやしいです。

アスタ

アスタのアイコン広告は、使うのもですが、収益をそのまま宣伝費にできたりと、自分のアプリを宣伝しやすいのもあって、使い勝手がいいです。

SDKに簡易マニュアルも含まれてます。

ccx_ss7inch

Nexus7で広告サイズ80×80を3つ表示した画面。

ssObjs

一番上のAstaObjsにDontDestroyOnLoadをして、保持させてます。

スタート時のBGMと広告のローディングが重なった時に、BGMがブツブツ途切れてしまうのがあるかもしれない。(端末による?)重なる場合のあるBGMはStreamingにしたけれど、大差はないかも。

アスタアイコンの表示と非表示。
マニュアルには記載がないけど、きっと合っている。

	public void HiddenAstaAds(){
		Asta_Icon.stopLoadingAdIcon ();
		Asta_Icon.ClearAdIcon ();
	}
	public void ShowAstaAds(){
		Asta_Icon.startLoadingAdIcon ();
	}

要所で呼び出すと。

ぴよなーで
piyonade150

シェアする

  • このエントリーをはてなブックマークに追加

フォロミー

コメントをどうぞ

メールアドレスが公開されることはありません。