FreelyApps

個人によるアプリ開発の日記です。アプリの収入だけで生活できるようになるのが目標です。UnityでAndroid向けのゲームアプリを作成しています。


    アプリ『トランプ・ジン・ラミー』を公開しました。
    Android/iOS https://goo.gl/PYKFYG

    タグ:C#

      このエントリーをはてなブックマークに追加 Clip to Evernote
    以前書いた『UnityでVisual Studioを使う』よりも進んだ内容です。
    具体的にはVisual Studioでデバッグできます。ブレークポイントをVisual Studioで設定して、Unityでゲームを実行するとブレークポイントにひっかけることができます。

    MicrosoftのこのページにVisual Studio Tools for Unity(VSTU)というものがあります。
    これがUnityとVisual Studioを連携させるためのツールです。

    Visual Studioのバージョンによりダウンロードするべきファイルが違います。
    対応しているバージョンは以下の4つです。
    • Visual Studio 2015 Preview

    • Visual Studio 2013

    • Visual Studio 2012

    • Visual Studio 2010

    ただし、Visual Studio Expressという無償版は対応していないそうです。
    私は2010 Expressを使用していたので、今までこのツールを使えなかったのです。

    しかしながら、Visual Studio Community 2013 において個人開発者であれば、これを無償で使えるということになりました。Visual Studio Community 2013は機能の拡張ができます。つまり、個人開発者であれば、Visual Studio Tools for Unityが無償で利用できるということです。

    まずVisual Studio Community 2013をここからダウンロードします。
    ダイアログに従ってインストールを行います。(かなりの時間がかかります。30分~1時間程)

    2013用のVSTUをここからダウンロードします。
    これもインストールします。

    Visual Studio Community 2013とVisual Studio Tools for Unityのインストールが終われば、もう少しでUnityとVisual Studioを連携させることができるようになります。
    UnityのメニューのAssets->Import Packase->Visual Studio 2013 Toolsを選んでください。(どうもUnity5になってからはメニューの表示がなされないようです。C:\Program Files (x86)\Microsoft Visual Studio Tools for Unity\2013にVisual Studio 2013 Tools.unitypackageがあるのでダブルクリックしてインポートするかメニューからインポートするファイルを指定してインポートしてください。)
    インポートができると、プロジェクトビューにUnityVSというフォルダができます。
    ここで一度Unityを終了させます。再起動しないとEditorスクリプトが反映されません。

    メニューにVisual Studio Toolsというものができます。
    Open in Visual Studioを押せば、Visual Studioでスクリプトの編集が可能です。

    Visual StudioにAttach to Unityというボタンが出ているので、それを押すとUnityの実行時にブレークポイントを利用できます。このあたりの使い方はMonoDevelopと似てます。

    最後に重要なこととして、VSTUをインストールするとUnityのPreferenceを設定されてしまいます。
    デフォルトのエディターとしてVisual Studioが設定されるので、プロジェクトにVSTU用のパッケージのインストールが必須になります。Visual Studioを使ってみようかなという程度の人は、まずはVSTUではなく『UnityでVisual Studioを使う』で紹介したVS用のプロジェクトファイルを生成するのを試した方が良いと思います。その上でVisual Studioを使い、MonoDevelopはもう使わないというのならVSTUをインストールしてください。



    Preference->External ToolsのExternal Script EditorをMonoDevelopに設定するとエディターをMonoDevelopに戻すこともできました。

    その後、エディターにVisual Studioを設定するには、画像のようにすると再度戻りました。
    External Script EditorをUnityVS.OpenFileにし、External Script Editor Argsをに"$(File)" $(Line)します。
    VSpreference.png



    (Visual Studio 2013 Language Packをインストールして日本語の表示にしたかったのですが、インストールが終わらなくなってしまいあきらめました。Language PackがなくてもVSTUは動いたので、良しとしました。)

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Application.OpenURLという関数は呼び出すと、ブラウザを開き、引数に指定したURLに飛ぶことのできるものです。

    Application.OpenURL("http://freelyapps.blog.jp/");
    というように書けば、ブラウザが開きます。一旦アプリの実行はされなくなります。
    音を鳴らそうとしていたりすると、ブラウザを閉じてアプリに戻ってきたときに再生されたりします。
    あまり重要な処理は、この関数の前後で呼ばない方が良さそうです。

    この関数を使うと、アプリ内から自分の作った他のアプリの一覧のページ(Google Playの開発者ごとのページ)に誘導したり、Twitterへ投稿のリクエストをするといったことができます。
    アプリ内でWebページを見るということはできませんが、簡単に外部のWebページに誘導できるので、ヘルプページの作成なんかには役立つと思います。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    以前の記事でMeasurement Protocolを使って、アプリのイベントを計測しようとしていました。
    ユーザーがどのステージに入ったとか、どの画面に入ったことなどを計測することでゲームの改善やバグの発見に役立てることができるからです。

    調べていると、海外で実装できているサイトがありました。
    さっそくダウンロードし、試してみると動きました。
    私のコードと比較して何が違うのか調べたところ、送信しているパラメータに違いがありました。
    anというアプリケーション名を指定するものを送る必要があったのです。
    公式の解説にも設定は必須ではないとあるので、気づきませんでした。
    これを設定しないと計測できないので、解説が不十分であると思います。
    より正確に言うと、モバイルアプリをトラッキングするという設定にした場合にanが必須ということです。

    Google Analyticsの「新しいプロパティ」を作る画面でトラッキングの対象をモバイルアプリと選んでいました。
    計測対照がアプリなのだから適切であると思います。
    ただし、結果的にはこれがうまくいかない原因になったのです。

    トラッキングの対象をモバイルアプリに選んだ場合、
    Measurement Protocolで情報を送るにはv,tid,cid,t以外にanが必須ということです。

    http://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXXX-X&cid=0&t=event&an=YourAppName
    みたいにすれば計測ができます。
    anの値はプロパティ名と関係なくても計測できました。
    存在していることが重要みたいです。

    問題が解決して良かったです。
    公式のページに載っている情報に足りない情報があるというのは、困りましたね。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Google アナリティクスの機能としてHTTPリクエストを送ることでデータを集計することができます。Measurement Protocolというものです。
    これを使うとUnityからHTTP リクエストを送信してGoogle Analyticsに情報を送ることができます。Unityで作ったゲームを何らかのSDKを使わずにスクリプトだけでGoogle Analyticsと連携させることができるということです。

    UnityではWWWクラスを使うと簡単にHTTPリクエストが送れます。
    WWW www = new WWW(URLを文字で書く);
    というようにするだけでアクセスできます。

    Measurement Protocolが要求するURLを作成し、
    WWWクラスにそれを渡せば、Google Analyticsで統計がとれるはずです。

    実際に試してみたのですが、
    管理画面でアクセスがとれていません。
    通信は成功しているようでレスポンスがあります。

    私にはお手上げです。
    もう少し調べてみようと思いますが……

    【追記】
    解決しました。

    このページのトップヘ