FreelyApps

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


    アプリ『トランプ・7並べ』を公開しました。
    Android/iOS https://goo.gl/zsFces

    2015年02月

      このエントリーをはてなブックマークに追加 Clip to Evernote
    アプリの収入だけで生活できることが目標ですが、
    これは具体的にどういった状態なのでしょうか?

    生活にはお金がかかります。
    衣食住が基本的にかかるとして、娯楽、交通、医療、交際、税金など様々な費用がかかります。
    これらを払うことができ、少しずつでも貯金できる程度の収入が得られたとき目標を達せられたと言えると思います。

    現在、私は雇われた身です。
    それによって給料を毎月得て生活しているわけですが、
    この給料分を稼ぐことができたなら、現在の仕事を辞めることが可能です。
    アプリに専念するもよし、アプリが自動的に稼ぐなら、自由に過ごすもよしという理想的な状況です。
    つまり、給料分の稼ぎを得ることを目標にすれば良いことになります。

    一般的に月に20~50万円くらいが給料の水準ではないでしょうか。
    まずは月に20万円が目標となります。
    これも今すぐには難しい目標です。

    あまりに難しい目標ではやる気がなくなってしまいますから、
    月に20万円をアプリで稼ぐというのは大きな目標として、
    小さな目標も立てることにします。
    わかりやすい目標としては、金額とDL数があります。
    私の目標がアプリで稼ぐことなので、小さい金額を目標に設定するのが良いと思います。

    1.合計千円を得る。
    2.月に千円を得る。
    3.合計一万円を得る。
    4.月に一万円を得る。
    ということ達成していきたいと思います。

      このエントリーをはてなブックマークに追加 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で統計がとれるはずです。

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

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

    【追記】
    解決しました。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Google Analyticsを登録してみました。

    まずはブログの統計でも取ってみようかと、
    javascriptのコードを追加してGoogle Analytics管理画面を見ていました。

    プロパティ->トラッキング情報->トラッキングコードという項目に入ると、
    一番上に状態が表示されています。
    ブログにトラッキングコードをコピーしても、しばらくは反映されないみたいです。
    1日くらい放っておいたら、「ステータス: データを受信しています」となりました。
    たぶん正しく設定できていたのでしょう。

    レポートのリアルタイムというところで確認しても良いようです。
    自分で設置したサイトにアクセスして自分のアクセス情報と比べてみれば、
    正しい挙動をしているか確認できると思います。

    計測を開始したら、自分のアクセスを統計に含めたくはありません。
    特定のアクセスを調べないようにするには、いくつか方法があるようです。

    Google Analytics オプトアウト アドオン
    というのを使うのが簡単そうなので、私はこれを使うことにしました。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unityにはリッチテキストという機能があります。
    文字列にHTML風のタグを入れるとそれを解釈して、表示してくれる機能のとこです。

    たとえば、
    <color=red>赤色になる</color>
    というようにすると、
    赤色になるというように赤色になって表示されます。

    <size=50>大きさを指定した</size>
    というようにすると、
    50ピクセルで表示されるようになります。

    この指定はUIの要素のプロパティで指定した値よりも優先されます。
    UI.Textコンポーネントのフォントサイズを80にして、
    <size=100>で他の部分より大きくすると初めの文字だけ大きくする表現ができます。

    私が失敗したのは、Canvas Scalerの設定で画面の大きさ次第でスケールがかかるようにしていた時のことです。
    スマホの解像度はかなり差があるので、画面ごとに合うように縮小・拡大が自動でされるように指定しています。
    そのため、画面の解像度が高くなったときにピクセル数の指定が意図どおりにならないことがあるのです。
    100ピクセルの大きさで指定しても、解像度がいくつの端末で見るかによってかなり異なります。
    1920x1080と960x540の端末で見比べれば、2倍の差があることになります。

    基準となる解像度で何ピクセルになるべきかを決め、
    現在の解像度に合わせてピクセルを変更すれば良いことになります。

    ここでは縦幅を基準にして、横幅の変化は考えないことにします。
    1920x1080で100ピクセル分の大きさにしたいのであれば、
    "<size=" + (100 * Screen.height / 1920) + ">"
    という文字列を作り、
    スクリプトから設定するということをすれば、どのような解像度の端末でも同じような見た目になります。

    計算で求めて対処できますが、
    素直に新しいTextコンポーネントを用意し、そのフォントサイズを変更する方が楽で良いと思います。 【文字の大きさを変えるときの注意点】の続きを読む

      このエントリーをはてなブックマークに追加 Clip to Evernote
    UnityのUIは4.6から今の形になりました。
    この仕組みは正式名称でUnity UIと言います。リリース前はuGUIと呼ばれていたのでuGUIで説明されている場合や新GUIと呼ばれる場合もありますが、いずれも古い呼び方になります。

    それまではスクリプトから呼び出す、関数の呼び出しでUIを作るか、
    GUITextureといったコンポーネントをつけて作ることになっていました。
    ただUnityのエディタ上で直感的に作り、処理も軽いということができていませんでした。

    NGUIという有料のアセットが最も使いやすく有名でしたが、
    95$という値段がしました。
    また、細かい制御をするには結構マニュアルを読まないといけなくて、大変でした。
    処理はモバイルでも動くくらい軽量で、スマホにリリースするにはNGUIしかないというくらいでした。

    Unity4.6でUIが強化されたことにより、
    Unityでアプリを作っていくことができると思いました。
    UIをなくすというのは、ほぼ考えられないので、UIを作ることが楽であることは重要です。
    これからもっと使いやすくなることを願っています。

    今のところマニュアルが英語のものしかないので、日本語のものがほしいです。
    ここに公式ページでのチュートリアルビデオがあるので、これを見て学ぶのが良さそうです。
    英語ですが、頑張って聴けばなんとかなる……はず。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    2/13にアプリとして「時を感じろ!」をリリースしました。
    TimeKeeper.gif

    体感で時間を測り、それがどれほど正確かを測るゲームです。
    ストップウォッチを使って同じようなことで遊んだことがあるかと思います。
    このアプリはそれが遊べます。

    時を感じろ!説明1    時を感じろ!説明2

    思いついてからリリースまで、3日くらいで終わりました。
    UIと処理だけです。

    広告に種類があると知って、
    CPC型の広告を始めて導入しました。
    CPI型は、はじめのアプリのときに導入していたのですが、それをCPC型の広告だと勘違いしていました。
    インストールさせるのは大変だと思います。
    まだ数の少ない私のアプリでは、CPC型のものが良いと思っています。
    実際にお金が稼げていると、やる気も出るでしょうし……

    良かったら、遊んでみてください。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    2/6に最初のアプリとして「Bounce」をリリースしました。
    Bounce.gif

    ボールが常に弾んでいて、それをタッチで操作してゴールを目指すゲームです。
    画面の左右をタッチすることでボールが左右に動くという単純なものです。
    上記にリンクがありますので、インストールして遊んでもらえるとうれしいです。

    Bounce説明1    Bounce説明2


    暇つぶし用として作ったのですが、はじめのアプリということもあって作るのは大変でした。
    1月の初めくらいから作り始めて約1カ月くらいかかっています。
    平日は3時間くらい、休日は10時間程度かかっているので、
    3*20 + 10*8 = 140
    140時間くらいはかかっていることになります。
    かかりすぎな気がしていますが、2作目以降はもっと短い時間でリリースできるかと思います。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    無料アプリでお金を稼ぐには広告が良い方法だと思います
    調べてみると、いくつかの方法があることが分かります。

    CPM:広告を1000回表示したときのコスト
    CPC:広告を1回クリックしたときのコスト
    CPI:広告をクリックし、飛ばされたリンク先でアプリダウンロードし、それをインストールさせたときの1回のコスト

    どれもコストとなっているため、広告を出す側の費用として考えているようです。
    広告を載せる側は逆にコスト分だけ報酬を受け取ることになります。

    上から順に見ていくと、下に行くほど条件を満たすのが難しくなります。
    当然、難しい方がコストは大きいです。

    CPM型の広告は新聞やテレビなどが代表的なものです。アプリとかサイトに掲載する広告はCPC型かCPI型がほとんどだと思います。
    CPC型とCPI型の組み合わせがアプリだとちょうど良いのではないかと思います。どちらも入れてみてパフォーマンスを測り、どちらに力を入れるべきか決めていくことができるからです。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    UnityでAndroidにアプリを作っています。
    作っているときはPC上で実行できるので、そこで確認をしています。
    ある程度作ってからは、Android端末用にAPKファイルを作成し実機で動かして確認をします。

    Androidは端末の種類が豊富なため、確認ができない機種あります。
    広く普及しているものや一般的なものを使って、確認するのが現実的な所だと思います。(コスト――この場合は時間とお金――を掛けれるなら話は別です。)
    私の場合はNexus 7 (2013)を使って確認をしています。

    ただ、操作の感覚は大きさによってかなり違うものなので、
    複雑な操作を要求する場合はいくつかの端末で確認しないといけないと感じています。

    携帯だと結構な値段がする割にすぐ新しいものが出たりして困ります。
    タブレットは長く使えて安くて良いですが、使っている人は少数だと思われます。

    ドラッグやフリックを使う場合は、確認が必要という認識です。
    逆にいえば、それらを使わないほど簡略化できるように作れば良いわけです。
    現時点ではドラッグやフリックは作る予定がないのです。

    このページのトップヘ