ページ「XenCenter」と「MonoGame(Xamarin.Android)にAdMobのバナー広告を表示させる」の間の差分

提供: MonoBook
(ページ間の差分)
ナビゲーションに移動 検索に移動
 
imported>Administrator
(ページの作成:「「Xamarin.AndroidのViewとMonoGameを混在させる」とまったく同じ方法でいける。 <source lang="csharp"> protected override void OnCreate (Bundle bu...」)
 
1行目: 1行目:
'''XenCenter'''(読み:ぜんせんたー)とは、[[XenServer]]を[[ネットワーク]]越しに[[GUI]]で管理する純正ツールである。
+
[[Xamarin.AndroidのViewとMonoGameを混在させる]]」とまったく同じ方法でいける。
 +
<source lang="csharp">
 +
protected override void OnCreate (Bundle bundle)
 +
{
 +
    base.OnCreate (bundle);
  
== 概要 ==
+
    // Admob設定
XenCenterは[[VMware]]でいう[[vSphere Client]]のようなものである。[[XenServer]]に[[仮想マシン]]を作成したり、[[XenMotion]]で移動したりといった基本的な操作はこのXenCenterで行う。[[VMware]]でいう[[vCenter]]に名前が似ているが、[[Xen]]には[[VMware]]のような中央管理サーバーが存在しないため、XenCenter単体で全部できる。
+
    var admobView = new AdView( this );
 +
    admobView.AdSize = AdSize.SmartBanner;
 +
    admobView.AdUnitId = "●●●Admobから発行されたユニットID●●●";
  
== 主な機能 ==
+
    var requestbuilder = new AdRequest.Builder();
{{stub}}
+
    requestbuilder.AddTestDevice ("●●●テスト機としたい端末のID●●●");
=== 仮想マシンの操作 ===
+
    admobView.LoadAd( requestbuilder.Build() );
[[ゲストOS]]を動かすための[[仮想マシン]]を作成したり、削除したり、移動したりできる。また、[[仮想マシン]]の上で動いている[[OS]]が[[XenServer Tools]]に対応したものであれば安全に[[シャットダウン]]したりすることもできる。
 
  
ぶっちゃけこれだけであれば[[コマンドライン]]でもいける。
+
    // レイアウトを手動で構築する
 +
    FrameLayout layout = new FrameLayout( this );
 +
    SetContentView( layout );
  
=== リモートコンソール ===
+
    // MonoGameレンダリング用Viewを登録
仮想マシンの画面を表示して操作できる。
+
    var game = new Game1();
 +
    var gameView = g.Services.GetService<View>();
 +
    layout.AddView( gameView );
  
これ重要。仮想マシンの操作だけであれば[[コマンドライン]]でも十分だが、[[ゲストOS]]をいじくりまわすにはリモートコンソールが使えないと厳しい。
+
    // MonoGameレンダリング用Viewの上にAdmob用のViewを登録(画面上に配置)
 +
    var layoutParams = new FrameLayout.LayoutParams(
 +
        FrameLayout.LayoutParams.WrapContent,
 +
        FrameLayout.LayoutParams.WrapContent );
 +
    layoutParams.Gravity = GravityFlags.Top | GravityFlags.Center;
 +
    layout.AddView( admobView, layoutParams );
  
なお、今のところ[[ゲストOS]]に[[XenServer Tools]]を[[インストール]]しても[[VMware Tools]]のように画面描画や[[マウス]]などは滑らかに動いてくれたりはしない。
+
    //ゲームループ開始
 
+
    game.Run();
=== パフォーマンスレポート ===
+
}
[[仮想マシン]]が使用している[[リソース]]や[[負荷]]の状況を[[グラフィカル]]に確認することができる。[[Windows]]でいう[[タスクマネージャー]]、[[Mac OS X]]でいう[[アクティビティモニタ]]、[[FreeBSD]]でいう[[topコマンド]]のような機能である。
+
</source>
 
 
[[ゲストOS]]に[[XenServer Tools]]を[[インストール]]してあるとメモリ使用量など、見ることのできる項目が増える。
 
 
 
=== オンラインアップデート ===
 
[[XenServer]]の有償版では[[Windows Update]]のような感じでXenCenterからポチポチっとオンラインアップデートを行える。
 
 
 
一方、[[XenServer]]の無償版では、自前で[[パッチファイル]]を[[ダウンロード]]しまくり、各[[ハイパーバイザー]]の管理コンソール([[Linux]]の[[コンソール]])に入り、[[コマンドライン]](xeコマンド)からひたすら[[キーボード]]を叩き、手動でアップデートを行う必要がある。ぶっちゃけて言えば[[XenServer 6.2]]から無償版と有償版の違いはこれだけである。なお、未適用の[[パッチファイル]]の一覧を表示して、[[ウェブブラウザ]]でダウンロードページを開くまでは無償版でもできる。
 
 
 
文面に書くとこれだけだが、実際やってみると[[お金]]を払いたくなる作業であるのも事実である。
 
  
 
== 関連項目 ==
 
== 関連項目 ==
* [[XenServer]]
+
* [[Google AdMob]]
* [[XenServer Tools]]
+
* [[Xamarin.AndroidでAdMobを使う]]
 
+
* [[Xamarin.AndroidのViewとMonoGameを混在させる]]
== 参考文献 ==
+
* [[Xamarin.Androidで権限を設定する]]
{{reflist}}
 
  
{{stub}}
+
[[category: MonoGame]]
 +
[[category: Xamarin.Android]]

2018年10月4日 (木) 06:01時点における最新版

Xamarin.AndroidのViewとMonoGameを混在させる」とまったく同じ方法でいける。

protected override void OnCreate (Bundle bundle)
{
    base.OnCreate (bundle);

    // Admob設定
    var admobView = new AdView( this );
    admobView.AdSize = AdSize.SmartBanner;
    admobView.AdUnitId = "●●●Admobから発行されたユニットID●●●";

    var requestbuilder = new AdRequest.Builder();
    requestbuilder.AddTestDevice ("●●●テスト機としたい端末のID●●●");
    admobView.LoadAd( requestbuilder.Build() );

    // レイアウトを手動で構築する
    FrameLayout layout = new FrameLayout( this );
    SetContentView( layout );

    // MonoGameレンダリング用Viewを登録
    var game = new Game1();
    var gameView = g.Services.GetService<View>();
    layout.AddView( gameView );

    // MonoGameレンダリング用Viewの上にAdmob用のViewを登録(画面上に配置)
    var layoutParams = new FrameLayout.LayoutParams( 
        FrameLayout.LayoutParams.WrapContent, 
        FrameLayout.LayoutParams.WrapContent );
    layoutParams.Gravity = GravityFlags.Top | GravityFlags.Center;
    layout.AddView( admobView, layoutParams );

    //ゲームループ開始
    game.Run();
}

関連項目[編集 | ソースを編集]