Yuta Watanabe's Blog

開発周りと、その他諸々

Windows ad mediation を導入した Windows Phone アプリの申請と最適化

こんにちは。

マイクロソフトの渡辺です。

「 アプリ内での広告掲載による収益を最大化する Windows ad mediation 」に続き前回の「 Windows ad mediation を Windows Phone アプリに実装する 」では、Windows ad mediation を Windows Phone アプリに実装する流れをご覧頂きました。

今回は、Windows ad meidation を導入した Windows Phone アプリをストアに申請し、その後広告の配信を最適化していく流れをご紹介します。

Windows Phone アプリの申請またはアップデート時の設定

Windows ad mediation を導入した Windows Phone アプリを新規に申請またはアップデートすると、Windows ad mediation の設定項目が申請画面に表示されます。

具体的には、ストアに申請用のパッケージをアップロードすると、アップロードしたパッケージの情報が表示され、

f:id:yuwata:20141113090915p:plain

その下に Windows ad mediation の設定セクション「 Ad mediation configuration」が表示されます。

f:id:yuwata:20141113091020p:plain

設定項目には既に、Visual Studio で行った各アドネットワークに関する設定情報が挿入されています。ここでは、まず Baseline、つまり既定の設定を行います。

"Would you like to spread ad requests equally across all your ad networks?" に対して "Yes" を選択すると、各アドネットワークが同じ割合でローテーションされます。これは最も簡単な設定です。まずは均等に表示して各アドネットワークのパフォーマンスを確認し、その後割合を調整して最適化してくといいでしょう。

各アドネットワークの表示割合を個別調整する場合は下図のように "No"を選んでいただき、それぞれ割合を選択していきます。

f:id:yuwata:20141113091115p:plain

既定の設定が完了したら "Save Baseline configuration"をクリックして保存します。Baseline configuration の保存が終わると、次に各国別の設定を行うことができます。例えば、アメリカではこのアドネットワークの割合を多めに、というような調整が可能です。

こちらの設定を申請時に行うこともできますし、後ほどダッシュボードから動的に変更することもできます。なので、ここでは特に既にはっきりしているアドネットワークの向き不向き等を設定しておきましょう ( 例えば、あるアドネットワークは、いくつかの国では広告が配信されない場合、"Dont use "に設定しておく等 )。

f:id:yuwata:20141113091159p:plain

申請時に必要な他の設定は、通常のアプリ申請、アップデートの流れと同様です。

Windows ad mediation を利用した広告配信の最適化

Windows ad mediation を導入した Windows Phone アプリを公開すると、開発者ダッシュボードには Ad mediation メニューが表示されます。

f:id:yuwata:20141106225108j:plain

開発者はこの画面から、アプリ公開後も動的に Ad mediation の設定を変更することが出来ます。変更された設定はすぐに反映され、次にユーザがアプリを起動した際は、新たな設定に基づいて広告が表示されます。

また、レポートでは、

  • Ad mediator fill rate ( アプリごと、もしくは全てのアプリの fillrate )
  • Ad provider fill rate ( アドネットワークごとの fillrate )
  • Configuration adoption rate ( 新しい設定が読み込まれたアプリの割合 )
  • Mediation error breakdown ( エラーレポート ※タイムアウト等 )

を確認することが出来ます。こちらで、Ad mediation の状況の概要を把握し、eCPM や国ごとの結果等詳細情報は、各アドネットワークのレポートを参照しましょう。

Ad mediation による広告配信の最適化

各アドネットワークの fillrate や eCPM を元に、mediation の設定の見直しを定期的に行います。基本は、より高い eCPM のネットワークをより優先して表示するとともに、fillrate を高めて機会損失を防ぎます。

最初から最適な設定を行うことは難しいので、各アドネットワークの配信状況をレポートで確認しながら、徐々に最適な設定を見出していく流れです。

以下に MSDN ドキュメントでも紹介されている Ad mediation の設定を参考に、いくつか例をご紹介します。

例1.  各アドネットワークの eCPM と fillrate を確認する

最適化していく前に、各アドネットワークの eCPM と fillrate チェックしてみましょう。この場合はまず、各アドネットワークを均等配信します。

例2. Microsoft Advertising を出来る限り利用する

  • Microsoft Advertising : 100%
  • 他のネットワーク:Backup

Microsoft Advertising が広告配信できないときに限り、Backup に設定した他のアドネットワークから広告を取得します。

例3. Microsoft Advertising を通常は最初に呼び出し、次に、AdDuplexを、その後 Smaato を呼び出す

  • Microsoft Advertising : 90%
  • AdDuplex: 10%
  • Smaato: Backup
  • 他のネットワーク:Do not use

Microosft Advertising が広告を配信できない場合に、Smaato より優先して AdDuplex を表示するようにします。

例4. Microsoft Advertising と AdDuplex を均等配分

  • Microsoft Advertising : 50%
  • AdDuplex: 50%
  • 他のネットワーク:Backup

均等配分ということで、1つのネットワークだけを利用する場合よりも、様々な広告が配信されます。Microsoft Advertising と AdDuplex のいずれもが広告配信不可の場合は、Backup に設定された他のアドネットワークからランダムに選択されます。

このあとは

今回は、Windows ad mediation を導入したアプリの申請と最適化の流れについてご紹介しました。「 アプリ内での広告掲載による収益を最大化する Windows ad mediation 」でもご紹介しましたが、アプリ内広告は開発者に多くの収益をもたらすマネタイズ手段の1つです!ぜひ、Ad mediator も活用しながら、アプリの収益化を進めてみてください。

参考リソース


アプリ内での広告掲載による収益を最大化する Windows ad mediation - Yuta Watanabe's Blog


Windows ad mediation を Windows Phone アプリに実装する - Yuta Watanabe's Blog


Windows ad mediation を導入した Windows Phone アプリの申請と最適化 - Yuta Watanabe's Blog

 

 

Windows ad mediation を Windows Phone アプリに実装する

こんにちは。

マイクロソフトの渡辺です。

前回の記事「 アプリ内での広告掲載による収益を最大化する Windows ad mediation 」でご紹介した Windows ad mediation を、今日は実際に Windows Phone アプリで使ってみます。

準備

Windows Ad mdiation を使う準備として、

  • 拡張機能のインストール
  • プロジェクトの作成
  • 各アドネットワークアカウントの取得

を行います。

まず、Windows Ad Mediation を利用するための拡張機能をこちらからダウンロード & インストールしましょう。

f:id:yuwata:20141112150837p:plain

 拡張機能をインストール後、Visual Studio を再起動し、「 空のアプリケーション (Windows Phone) 」プロジェクトテンプレートから、新しく Windows Phone アプリプロジェクトを作成します。

f:id:yuwata:20141112151754p:plain

また、Windows Phone 8.1 ( XAML ) アプリで Windows Ad mediation に2014年11月12日現在対応している下記のアドネットワークのアカウントも取得しておきます。

Microsoft Advertising

AdDuplex

Smaato

Microsoft Advertising

Microsoft Advertising が提供するアプリ内広告 Ads in Apps を利用するために、Microsoft pubCenter のアカウントを取得します。pubCenter は、アプリ開発者向けのダッシュボードで、広告枠の作成やレポートの確認、その他自身のアプリの宣伝も行うことができます。

こちらから、マイクロソフトアカウントを使って pubCenter のアカウントを取得してください。ログインし、"収益化済みアプリケーション" タブにある、"新しいアプリの収益化" をクリックし、広告を掲載するアプリを新たに登録しましょう。

f:id:yuwata:20141112153800p:plain

デバイスの種類 ( Windows Phone ) とアプリケーション名を入力します。また、"+新しい広告ユニット" をクリックし、新たな広告枠も作成し、保存を押します。

f:id:yuwata:20141112154029p:plain

すると、作成した広告ユニットを選択した際に、向かって右側にアプリケーションコード情報が表示されます。こちらに表示されている、アプリケーション ID と、広告ユニット ID を、後ほど Windows Ad mediation の設定で使います。

f:id:yuwata:20141112153909p:plain

AdDuplex

続いて AdDuplex のアカウントも取得します。AdDuplex は、Windows Phone 8 と Windows 8 を対象としたクロスプロモーションネットワークです。アプリ開発者は自身のアプリに広告を掲載して収益をあげたり、他の開発者のアプリの広告枠に広告を出稿して宣伝することも出来ます。

f:id:yuwata:20141112155052p:plain

SIGN IN ページにある "New account"から新規アカウントを取得しましょう。その後ログインすると表示されるダッシュボードから、"New app" に進みます。

f:id:yuwata:20141112160225p:plain

アプリの情報を登録できるので、タイトルを入力、Windows Phone 8.1+ を選択、公開前のアプリなので URL はブランク、"AdDuplex can mention this app in promotional materials" のチェックは外したままで、"Create" をクリック。

f:id:yuwata:20141112160240p:plain

登録されたアプリのページに表示される、"App ID" を後ほど Windows Ad mediation の設定で使います。

f:id:yuwata:20141112160249p:plain

Smatto

最後に Smatto のアカウントも取得しておきましょう。

アカウント登録後のダッシュボード、"MY ADSPACES" タブにて新たなアプリを登録できます。Generate Adspace を押して、Windows Phone を選択すると新しい広告枠を作成できます。

f:id:yuwata:20141112175537p:plain

 

作成が完了すると、Adspace ID が表示されます。右側に表示される Publisher ID も含め、後ほど Windows Ad mediation の設定で使用します。

f:id:yuwata:20141112180136p:plain

Windows Ad medation コントロールの追加と実装

ここからは、Windows Ad mediation コントロールを Windows Phone アプリに追加していきます。

Windows Ad mediation コントロールの追加

ソリューションエクスプローラーから、MainPage.xaml を開きます。ツールボックス内の "すべての XAML コントロール" を展開し、AdMediatorControl をドラッグ&ドロップして画面に追加しましょう。

f:id:yuwata:20141113082629p:plain

また、追加された XAML のコードを少し修正しておきます。x:Name 属性が自動で付加されているので "AdMediator_Block" に変更、また Margin 属性を調整します ( "0,100,0,0" )。Id 属性も自動付加していますが、こちらは開発者ダッシュボードでの識別用ですので変更しないでください。

XAML code of AdMediatorControl

Windows Ad mediation の設定

続いて、Windows Ad mediation で利用する各アドネットワークの設定を行います。

ソリューションエクスプローラーでプロジェクト名を右クリック、追加 > 接続済みサービスをクリックします。

f:id:yuwata:20141113082859p:plain

すると、サービスマネージャーが表示され、ここから Windows Ad mediation の設定を行うことができます。左上部にある "広告ネットワークの選択"をクリックすると、アドネットワークの選択画面が表示されるので、Microsoft Advertising, AdDuplex, Smaato にチェックをつけて OK を押します。

すると、SDK のダウンロードが自動的に行われ、プロジェクトに参照が追加されます ( NuGet から自動ダウンロードしてくれます!)。

f:id:yuwata:20141113082913p:plain

アドネットワークの追加が完了すると、サービスマネージャーに一覧が表示されます。各アドネットワークを選択すと、向かって右側に "構成" というボタンが表示されますので、こちらをクリックして設定画面を開きます。

f:id:yuwata:20141113083134p:plain

例えば、AdDuplex の場合はアプリ ID を入力する必要があります。

f:id:yuwata:20141113083146p:plain

各アドネットワークについて、準備でアカウントを開設し作成した各アドネットワークの広告枠の情報を設定してください。

Package.appxmanifest の設定変更

各アドネットワークを利用するにあたり、Package.appxmanifest の変更を行ないます。先ほどご覧いただいたサービスマネージャーでは "必要機能" という列に各アドネットワークを利用する際に Package.appxmanifest で機能追加が必要な項目が表示されています。今回の場合、AdDuplex, Microsoft Advertising, Smaato 全てで Internet ( Client & Server ) が必要です。

ソリューションエクスプローラーから Package.appxmanifeset を開き "インターネット ( クライアントとサーバ )" にチェックがついていることを確認しましょう。

f:id:yuwata:20141113083219p:plain

デバッグ用コードの挿入

Windows Ad mediation の便利な点の1つは、1つの SDK で各アドネットワークのエラーやレスポンスをハンドリングできることです。各イベント、エラーをデバッグ出力するコードを MainPage.xaml.cs に追加してみます。以下がサンプルコードです。

Debugging AdMediator

デバッグ

それではデバッグで Windows Ad mediation の動作を確認してみましょう。

広告は表示されたでしょうか?デバッグ時は、ラウンドロビンで各アドネットワークがロードされますので、しばらく時間がたつと切り替わるのもご確認いただけるかと思います。

f:id:yuwata:20141113084742p:plain

先にご紹介したデバッグ用コードを挿入した方は、出力ウィンドウで動作も確認してみましょう。エラーが出ている場合は内容を、広告が正しく取得出来た場合は " AdFilled: アドネットワーク名 " というイベントが確認できます。

f:id:yuwata:20141113085220p:plain

このあとは

今回は、Windows ad mediation を Windows Phone アプリに実装する流れをご覧いただきました。

  • 各アドネットワークの SDK が自動でダウンロード&追加される
  • 各アドネットワークの設定を Visual Studio 内で行える
  • イベント、エラーハンドリングも Windows ad mediation の SDK から出来る

等、Windows ad mediation の実装が簡単に行えるポイントをご理解いただければ幸いです。

次回「 Windows ad mediation を導入した Windows Phone アプリの申請と最適化 」では、Windows ad mediation を追加した Windows Phone アプリを申請、そして公開後の最適化の流れをご覧いただきます。

参考リソース


アプリ内での広告掲載による収益を最大化する Windows ad mediation - Yuta Watanabe's Blog


Windows ad mediation を Windows Phone アプリに実装する - Yuta Watanabe's Blog


Windows ad mediation を導入した Windows Phone アプリの申請と最適化 - Yuta Watanabe's Blog

 

 

アプリ内での広告掲載による収益を最大化する Windows ad mediation

こんにちは。

マイクロソフトの渡辺です。

Windows Phone アプリ内での広告掲載による収益を最大化する、 Windows ad medittion について、今日はご紹介します。

Windows ad mediation は現在下記のアドネットワークをサポートする、開発者のための広告最適化ツールです。

※ Inneractive, AdMob, MobFox は現在 Windows Phone 8.1 "Silverlight" のみ対応です

背景

Windows & Windows Phone ストア マネタイズのトレンド ( 2014年9月 ) でもご紹介しましたが、アプリ内広告は アプリ内課金に次ぐ開発者の収益源です。

アプリ内広告の収益は、

リクエスト回数 x fillrate ( フィルレート ) x eCPM ( 1,000 PV あたりの収益額 )

で決まります。

fillrate と eCPM は、利用するアドネットワークをはじめ、市場や広告の種類、時期等にも左右されます。この点は、Microsoft が提供するアプリ内広告 Ads in Apps も他のサードパーティー提供のアドネットワークも同じです。

一般にアプリ開発者側は、複数のアドネットワークを実装し、収益の最大化を図ります。

つまり、アドネットワーク A にまず広告をリクエストし、配信可能であれば表示、不可であれば次にアドネットワーク Bに広告をリクエスト... と繰り返すことにより、広告が表示される確率、 fillrate ( フィルレート ) を高めます ( 出来る限り 100% に! )。

f:id:yuwata:20141111121020p:plain

またさらに、各アドネットワークの eCPM ( 1,000 PV あたりの収益額 ) を比較し、より高い単価の広告を配信するアドネットワークを、より上位に ( 優先して ) 表示するように改善します。

この試行錯誤は確かに収益の増加という結果をもたらします。しかし、各アドネットワークの SDK の仕様確認や実装、テスト、アプリへのデプロイといった多くの手間がかかるのも事実です。

Windows ad mediation

そこで登場したのが Windows ad mediation です。

Windows Phone アプリ開発者は、

  • 使うアドネットワークを選ぶ ( 埋め込みコードは ad medation のみ )
  • Dev Center ( 開発者がダッシュボード ) から動作設定 ( 表示割合等 )
  • ストアに申請 ( アプリのアップデートは初回コード組み込み時だけで OK )

するだけで、Windows ad mediation を利用できます。そして、

  • fillrate ( フィルレート ) を高める
  • 市場に応じて利用するアドネットワークをカスタマイズ
  • 動的に表示割合や優先順位を変更して改善

することで、広告収益を最大化できます。実際に行った Microsoft の実験では、複数のアドネットワーク利用、市場ごとに利用するアドネットワークの最適化により 15% から 200% 収益を増やすことができました。

f:id:yuwata:20141111114743p:plain

「 Annoucing Windows ad mediation maximize your Windows Phone app ad revenue 」より

もちろん、市場やタイミング、どのアドネットワークを利用するか等に結果は左右されますが、いずれにしても市場やアプリの内容、広告表示のされ方に合わせて、テストし最適化することが大切なのは事実です。

このあとは

次回の「 Windows ad mediation を Windows Phone アプリに実装する 」では、この Windows ad mediation の実装方法についてさらに細かく見ていきます。

参考リソース


アプリ内での広告掲載による収益を最大化する Windows ad mediation - Yuta Watanabe's Blog


Windows ad mediation を Windows Phone アプリに実装する - Yuta Watanabe's Blog


Windows ad mediation を導入した Windows Phone アプリの申請と最適化 - Yuta Watanabe's Blog

 

 

Unity で生成する Windows アプリの中身とデバッグ

こんにちは。

マイクロソフトの渡辺です。

前回は、「 Unity で Windows アプリをビルドしてみよう 」ということで、Unity Editor からビルドを行い、Visual Studio 上でアプリを実行してみるまでの流れをご紹介しました。今回は、この仕組みをもう少し詳しく見ていくとともに、Visual Studio 上でもゲームをデバッグしてみたいと思います。

※下記記事も合わせてご覧ください

Unity で Windows ストア アプリをビルドする流れ

まず前回 Unity で Windows アプリをビルドした流れをおさらいすると、Unity でのWindows ストア アプリ開発はざっくり、

  1. Unity Editor でゲームを開発
  2. Unity Editor から Windows ストア アプリをビルド
  3. 生成された Visual Studio のソリューションを開く
  4. Visual Studio で Windows ストア アプリのプラットフォーム固有機能を実装
  5. Visual Studio で最終的な Windows ストア アプリのバイナリをビルド

という流れで進みました。しかしなぜ、2回もビルドを行うのでしょうか。

f:id:yuwata:20141021195451p:plain

少し細かい話になりますが、今後 Windows ストア アプリを開発する上で頭の片隅には置いておいた方がいい内容ですので、上記の流れを少し詳しく見ていきましょう。

Unity Editor から Visual Studio、Mono から .NET へ

( 1 ) 通常 Unity Editor 上で開発されるゲームは、.NET Framework のオープンソース実装である Mono でコンパイルされ、Mono ランタイム上でゲームが実行されます。( 5 ) 一方、Windows ストア アプリは、.NET でコンパイルされ、.NET/WinRT ランタイムの上で動作します。

この違いを乗り越えるため、Windows ストア アプリの開発では、Unity Editor でビルド -> もう一度 Visual Studio でビルド、というステップを踏みます。

具体的には、Unity Editor が Windows ストア アプリをビルドする際に、( 2 ) .NET コンパイラを利用してゲームをビルドし、Visual Studio のソリューションを生成します。この時は、.NET のサブセットである .NET Core プロファイルが使われます。

その後で、( 3 ) 生成されたソリューションを開き、( 4 ) Visual Studio 上で、Windows ストア アプリ固有の機能を .NET/WinRT API を使って開発。最終的には ( 5 ) アプリを .NET コンパイラでビルドし、.NET/WinRT ランタイム上で動かします。

Mono と .NET の違い

上述の通り、Unity Editor 上で動作するゲームと、最終的に Windows プラットフォーム上で動作するアプリでは、コンパイルに使われるプロファイルが違います ( Mono と .NET Core ) 。そのため、Mono にはあっても .NET Core プロファイルにはない API ( またはその逆 ) がいくつかあり、コンパイル時にエラーが発生することがあります。

ただ、これらの API の多くには、.NET API や WinRT API に代わりになるものがありますし、UnityEngine.WindowsUnityEngine.WindowsPhoneWinRTLegacy の下にいくつか替わりになる API も提供されています。

コードの修正ポイントは追って、このブログでご紹介します。また、「 Unity による Windows ストアへの移植のヒント 」にも詳しい API の実装方法やサンプルが示されていますので、ぜひご参照ください。

Unity Editor と Visual Studio での編集

実際のゲーム開発では、多くの場合、Unity Editor 上でのゲーム開発と、Visual Studio 上での Windows ストア 向けの開発は並行して進みます。

Unity Editor から Windows ストア アプリをビルドした際に、Visual Studio ソリューション内で変更が加えられるのは

  • プロジェクト内の Data フォルダー
  • プロジェクトの参照アセンブリ

の 2つです。

f:id:yuwata:20141022151401p:plain

そのため、Visual Studio から加えたプロジェクトへの変更やプラットフォーム固有機能の実装、マニフェストファイルや構成ファイルの修正は、Unity Editor からの Build でソリューションを上書きしても失われることはありません。

ただし、Unity Editor にて新しいプラグインや参照の追加等、プロジェクトファイル自体に影響する変更を行った場合は、Visual Studio 上でプロジェクト ファイルを手動で変更を加える必要がある点にご注意ください。

Windows ストア アプリのデバッグ

Unity Editor から Windows ストア アプリをビルドする際に、Build Settings にて " Unity C# Projects " にチェックをつけました。このオプションによって、生成されるソリューション内に Assembly-CSharp-* プロジェクトが含まれ、Unity スクリプトを Visual Studio 上でもデバッグ&編集することが出来ます。ただし、このソースコードはコピーされたわけではなく、Unity Editor で見ているのと同じ、元のファイルを編集することになる点にはご注意ください。

f:id:yuwata:20141021121612p:plain

Unity スクリプトの確認

それでは、ソリューションに含まれる Assembly-CSharp-* プロジェクトの中身を確認してみましょう。Assets/Scripts 以下に Unity Editor 内と同じようにスクリプトファイルが置かれています。

f:id:yuwata:20141021201016p:plain

ブレークポイントを置いてデバッグしてみる

ここでは、Enemy.cs を開いてスコアの更新部分にブレークポイントを置いてみます。

f:id:yuwata:20141021201059p:plain

そしてアプリをデバッグしてみて敵を倒すと...

f:id:yuwata:20141021201213p:plain

ブレークポイントで処理がとまり、変数の状態等を確認することができます。

Unity Editor 上でのデバッグ

参考として Unity Editor 上でのデバッグについても触れたいと思います。

Unity Editor にはデフォルトの IDE として MonoDevelop が付属しています。なので、Unity Editor でゲームを開発しているときは MonoDevelop を使ってデバッグ。Windows ストア アプリとしてビルドした後は、Visual Studio 上でデバッグという形に通常はなります。

しかし、Unity Editor でゲームを開発している時も ( しいて言えば、iOS/Android 向けアプリを開発している時も )、Visual Studio の機能を使ってデバッグする方法があります。それを可能にするのが Visual Studio Tools for Unity という Visual Studio 向けの拡張機能です。こちらを利用していただくと、Visual Studio で Unity ゲームを開発/デバッグすることが出来ます。

詳しいインストール方法や使い方は下記記事をご覧ください。


Visual Studio Tools for Unity ( UnityVS ) で Unity 開発/デバッグの生産性を上げよう - Yuta Watanabe's Blog

このあとは

今回は、Unity での Windows ストア アプリをビルドする流れとデバッグ方法について、ご紹介しました。既存ゲームの移植のポイントや、Windows プラットフォーム固有機能の実装方法については、追ってこのブログで解説していきたいと思います。

次回移行は、アプリのリリースに向けた準備と、アプリ申請の流れや、Windows プラットフォーム固有機能の実装方法についてご紹介していきます。

関連リソース


Unity 開発者のための Windows ストア概要 - Yuta Watanabe's Blog


Unity で Windows アプリを開発する環境を整える - Yuta Watanabe's Blog


Untiy で Windows アプリをビルドしてみよう - Yuta Watanabe's Blog

Unity で Windows アプリをビルドしてみよう

こんにちは。

マイクロソフトの渡辺です。

「 Unity 開発者のための Windows ストア概要 」に続き前回は「 Unity で Windows アプリを開発する環境を整える 」ということで、Unity で Windows アプリをビルドするのに必要な環境を確認しました。

今回は、Unity Asset Store でダウンロードできるサンプルを利用して、実際に Windows アプリをビルドする流れをご紹介していきます。

準備

この記事では、Unity Asset Store で提供されているサンプル「 2D Platformer 」を例に、Windows アプリをビルド/デバッグしてみます。

f:id:yuwata:20141021155139p:plain

まずは、準備として 2D Platformer を Asset Store からダウンロードし、インポートしてください。

f:id:yuwata:20141021155238p:plain

f:id:yuwata:20141021155312p:plain

Unity でビルドできる Windows アプリの種類

Unity からビルドできる Windows アプリには次の 4つがあります。これらは、Windows ストア アプリの Build Setting の " SDK "のプルダウンから選択できます。

  • 8.0 ( Windows 8 の ランタイムで動く Windows ストア アプリ )
  • 8.1 ( Windows 8.1 のランタイムで動く Windows ストア アプリ )
  • Phone 8.1 ( Windows Phone ストア で公開するアプリ )
  • Universal ( 1つのソリューションで、Windows 8.1 ストア アプリ & Windows Phone 8.1 アプリの両方をターゲットとすることができる ユニバーサル Windows  アプリ )

f:id:yuwata:20141021121612p:plain

Windows 8.1 および Windows Phone 8.1 へのアップグレードが順調に進んでいることを見ると ( 参考:「Windows & Windows Phone ストア アプリ ダウンロード数トレンド ( 2014年9月 ) 」)、今あえて 8.0 アプリとしてビルドする理由はほぼありません。

f:id:yuwata:20140929131439j:plain

Windows 8.1 および Windows Phone 8.1 向けのストア アプリは、それぞれ別々にビルドすることもできます。

また、ユニバーサル Windows アプリとしてビルドすると、1つのソリューション内で共通コードを共有し、Windows 8.1 ストア アプリ、Windows Phone 8.1 ストア アプリの両方をターゲットしてビルドすることが出来ます。Windows 10 の発表でも言及されている通り、ユニバーサル Windows アプリの基盤は Windows 10 へと引き継がれます。より多くのユーザにリーチしながら、Windows 10 に備える最良の方法は、ユニバーサル Windows アプリの開発です

また、Type として、XAML C# Solution と XAML C++ Solution を選択できます。特に C++ で書きたい!というわけでなければ、C# Solution を選びましょう ( C++ ソリューションには対応していないプラグインもあるので注意 )。

Windows アプリをビルド

ではいよいよ、Unity から Windows アプリをビルドしてみます。

File > Build Setting を開き、Windows Store にプラットフォームをスイッチ。

  • Type:XAML C# Solution
  • SDK:Universal 8.1
  • Build and Run on:Local Machine
  • Unity C# Projects:チェック
  • Development Build:チェック

という設定で、Build ボタンを押します。保存先を聞かれますので指定しましょう。ここでは、Builds フォルダを作成し、その下に Universal フォルダを作り保存することにしました。

f:id:yuwata:20141021160437p:plain

ビルドが進んで、

f:id:yuwata:20141021160258p:plain

完了すると、Visual Studio のソリューションが生成されます。

f:id:yuwata:20141021160541p:plain

Visual Studio でソリューションを開く

生成されたソリューションをダブルクリックして、開いてみます。まずはソリューションエクスプローラーからソリューションの中身を見ていきましょう。

f:id:yuwata:20141021160848p:plain

今回は、Build Settings にて SDK を Universal としたので、ユニバーサル Windows アプリが生成されています。

1つのソリューションの中に、

  • Windows ストア アプリをターゲットとするプロジェクト ( _2D v3.Windows (Windows8.1) )
  • Windows Phone アプリをターゲットとするプロジェクト ( _2D v3.WindowsPhone (Windows Phone8.1) )
  • 共有コードである Shared Project ( _2D v3.Shared )

の 3つが含まれているのが分かります。

※参考「 Windows と Windows Phone を対象とするユニバーサル Windows アプリの構築

Package.appxmanifest ( アプリの設定をするマニフェストファイル ) や、各種素材等のプラットフォーム固有ファイルは、Shared Project ではなく、それぞれのプロジェクトに含まれます。

Build Settings にで SDK を " 8.1 " または " Phone8.1 " とした場合は、Shared Project がなくなり、Windows 8.1 のプロジェクトまたは Windows Phone 8.1 のプロジェクトのいずれかがソリューション内に含まれる形となります。

Windows ストア アプリを実行してみる

さて、さっそくですが Windows ストア アプリを実行してみましょう。

まずご確認いただきたいのが、構成マネージャーです。

f:id:yuwata:20141021161619p:plain

Unity でのビルドで生成されたソリューションは、デフォルトで ARM がアクティブソリューション プラットフォームが指定されています。x86 マシンでデバッグする場合は、こちらを x86 に変更する必要がありますのでお忘れなく。

f:id:yuwata:20141021162035p:plain

構成マネージャーでの設定変更を行った後は、さっそくデバッグ ボタン ( または F5 ) を押して実行してみましょう。すると、ビルド & アプリの配置と進み、アプリが起動してきます。

f:id:yuwata:20141021162451p:plain

ちなみに、デフォルトではローカルコンピューターでのデバッグが選択されていますが、シミュレータでデバッグすることもできます。

f:id:yuwata:20141021161640p:plain

タッチ操作やセンサーの値等のシミュレート、画面のキャプチャー等を行う際はこちらをご利用ください。

f:id:yuwata:20141021162629p:plain

Windows Phone アプリを実行してみる

続いて Windows Phone アプリも実行してみます。

Windows Phone 8.1 のプロジェクトを右クリックして、" スタートアップ プロジェクトに設定 "を選びます。ソリューションエクスプローラー内で太字表示されているプロジェクトが、現在のスタートアップ プロジェクトです。

f:id:yuwata:20141021162940p:plain

Windows ストア アプリの実行時と同様にエミュレータで実行することができます。既定では Device ( 実機 ) が選択されている場合があるので、エミュレータを選択しましょう。

f:id:yuwata:20141021162927p:plain

あとの流れは、Windows ストア アプリの時と同じです。Unity アプリが立ち上がり、

f:id:yuwata:20141021163311p:plain

ゲームが始まります!!

f:id:yuwata:20141021163319p:plain

このあとは

今回は、Unity から Windows アプリをビルドし、Visual Studio で実行するまでの流れをご覧いただきました。次回は、もう少し詳しく、ビルドで生成されたソリューションの中身やデバッグの流れについてご紹介していきます。

関連リソース


Unity 開発者のための Windows ストア概要 - Yuta Watanabe's Blog


Unity で Windows アプリを開発する環境を整える - Yuta Watanabe's Blog