2016年12月28日

Androidで18万DLされた自作アプリをWindowsストアに移植した結果

Androidで18万回以上ダウンロードされた自作アプリをWindowsストアに移植して約2ヶ月経ちました。

移植作業にはなんだかんだ言って1ヶ月近くの工数がかかってしまったのですが、その結果をまとめてみました。

ダウンロード数: 339回
広告表示回数: 1,745回
Fill Rate:    約20%
広告クリック数:  6回
広告収益:   48セント (約50円)


なんなんでしょう、この結果は。。。


あまりの少なさにがく然としています。(笑)

Windows 10のタブレットや2 in 1も増えて来たので、そろそろ行けるかな〜と期待していたのですが、Windowsストアからアプリをダウンロードして使うという使い方はまだまだそんなに広まっていないのかも知れませんね。


ちなみに広告はUWPアプリではAdMobが使えなかったので標準の「Microsoft advertising ad」というものを使ってバナー広告を表示しています。これですがFill Rateが20%って、AdMobと較べて低すぎですよね。


もちろん、宣伝の仕方やアプリのカテゴリなどによって結果は大きく変わると思います。


ただ個人的には次のアプリからはしばらくWindowsストアはパスという事に決定です。


とりあえず試してみて大体の感触が分かったのでまあ良しとして、次に行きます。^^)





 

cocos2d-xで作ったアプリをWindows 10 UWP対応にした時のメモ

結構苦労したので将来の自分のためにメモしておきます。

● Cocos2d-xを最新版に更新


1. cocos new コマンドで新しいCocosプロジェクトを作成。
2. 必要なソースコードや画像・音声などのファイルを古いプロジェクトからコピー。

共通のもの
 Classes ディレクトリ
 Resources ディレクトリ

iOS固有のもの
 Images.xcassets ディレクトリ
 ios/AppController.*
 ios/RootViewController.*

- Android固有のもの
 app/src/org/cocos2dx/cpp/AppAcitvity.java
 app/res ディレクトリ
 app/jni/Android.mk
 app/jni/Application.mk
 AndroidManifest.xml
 ProGuard設定ファイル

- Windows固有のもの
 App/Assets ディレクトリ



● ソースコードの文字コードを「UTF-8 BOM付」に変換


Windows版をビルドするために使うVisual StudioはUTF-8でかつBOM付きのファイルしか正しく扱えないので、nkfコマンドを使って全てのソース・ファイルをUTF-8 BOM付きに変換します。

カレントディレクトリ直下のファイルのみを対象にする場合
  nkf -W -w8 --overwrite *.cpp *.h

カレントディレクトリ以下の全てのディレクトリで再帰的に実行する場合
  find . -type f -name "*.cpp" -exec nkf -W -w8 --overwrite {} \; 
  find . -type f -name "*.h" -exec nkf -W -w8 --overwrite {} \; 

ちなみにこの処理をWindows上で実行する場合は、下のソフトウェアが便利です。
文字コード変換ツール「KanjiTranslator」(フリーソフト)


● 各種エラーを修正


Windows上で実行した時にLabelの文字列などが文字化けする場合は、.cppファイルの先頭に下記の#pragmaを付けると良いかも知れません。(これで直ったのか他の事で直ったのか、記憶が定かではないのですが。)
#pragma execution_character_set("utf-8")

● 日本語フォントファイルをアプリに含める


Resources/fonts ディレクトリに使用したいフォントファイル(例えば「YuGothic.ttf」など)をコピーしておきます。
ソースコードではフォント名を指定する部分で "fonts/[フォントファイル名]" を使う様にします。


● Windows版で不要な機能をコメントアウト


今回はWindows版ではアプリ内購入で広告を消す機能は省略したので、アプリ内購入に関する処理を全てコメントアウトしました。






2016年12月3日

iOS Meetupで関数型言語を勧められたのでメモ

Elixir


[翻訳] なぜ私はElixirに賭けたか - メンテナンスプログラマになりたくなければ君もそうしろ - Qiita

Rails, Node.js の次はこれだそうです。ミリ秒ではなくマイクロ秒の単位でレスポンスを返す事が出来て、さらに200万の同時(?)接続を1台のサーバーでさばけると。来るべきIoT時代には必須の言語かも知れません。

大規模なオンラインゲームとかLINE並みのチャットサーバーとかには向いてそうだけど、現時点ではちょっと自分には必要ないかなあ、とも思うのですが上の記事を読むと確かに面白そうなので一応かじっておきたいなという気はします。

そういえば「プログラミングElixir」という本がちょっと前から気になっていてAmazonのカートに入ったままになっているので、こんどこそ買おうかな。




Clojure/ClojureScript


Clojure の Web アプリケーション開発について 1 から 10 くらいまで - Qiita

Webアプリのサーバーサイドが関数型言語で作れるとの事。


今思い出せば、私が初めて関数型言語というものの面白さに少しだけ触れたのはこのClojureについてのKindle本を通じてでした。



この本はオススメです。(たったの100円!)



FacebookのReactをいい感じに使えるReagent

ClojureScriptを使えばクライアントサイドも同じ言語で書けて、さらにビューはReactで生成出来ると。


そしてさらにClojureScriptはJavaScriptに変換されるのだから、React Native を使えばモバイル用のネイティブアプリも作ることが出来ると。

ClojureScriptとReact NativeによるiOSアプリ開発 - Qiita 

re-natal: Bootstrap ClojureScript React Native apps 


なるほど。これはぜひ試してみたいけど、まずはClojure勉強しないと。



Elm


Elmというミニマムでフレームワークにもなる関数型altJS言語を触ってみよう!!! - Qiita

関数型リアクティブプログラミング言語Elmに学ぶ フロントエンド開発の新しい形 【前編】 (1/5):CodeZine

ちょっと見た感じではこちらの方がClojureScriptよりもとっつき易そうな感じでしょうか。

ちょうどいつもお世話になっているEggHeadという動画学習サイトに最近Elmのコースが追加されたのでブックマークしていたところでした。

Start Using Elm to Build Web Applications * - Course by @splodingsocks @eggheadio