2

ゲームアプリに AdMob 広告を追加したいと考えています。ただし、ゲームの描画はすべてレイアウトなしのコードで行われ、ゲームが描画される Surfaceview のみです。

layout.addView(adView); を使用できません。私のゲームはレイアウトを使用しないため、ドキュメントは例として示しています。実際、レイアウトフォルダーは削除されています。

メイン アクティビティでは、ゲーム パネルを定義します。

gamepanel=new MainGamePanel(this);

ゲームパネルがインスタンス化されます:

クラス MainGamePanel は SurfaceView を拡張し、SurfaceHolder.Callback を実装します

次に、Canvas 描画メソッドを使用してサーフェスビューに直接描画します。

アクティビティで作成した adView オブジェクトをサーフェス ビューに追加するにはどうすればよいですか。

adView = new AdView(this, AdSize.BANNER, "MY_PUU_NUMBER");

gamepanel.addView(adView) が機能しません。このためだけに、最初からレイアウトを使用することを余儀なくされるかもしれませんが、それは事態を複雑にします。

4

1 に答える 1

1

admob 広告を surfaceView アプリケーションに追加するために私が見つけた最善の回避策は、プログラムでレイアウトを作成し、次のように両方のビューを描画することです。

LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);

ll.addView(adView); // The ad banner
ll.addView(gamepanel); // The SurfaceView object

実際には adView を surfaceView に描画しているわけではありませんが、それを含めるのに最適な方法です。

バナー広告はフレームレートを遅くするので注意してください。残念ながら、今日では、あなたの会社の名前がスクウェア・エニックスでない場合、Android ゲームのプレイヤーに 0.99 ドルでもゲームを購入してもらうのは難しいため、広告は必要悪となる可能性があります。

于 2013-08-27T02:33:44.143 に答える