FreelyApps

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


    ブログを
    https://freelyapps.net/
    に移転する予定です。
    リンク切れがある記事はこちらに移動した可能性もあります。

    カテゴリ: Android

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unity 5.6.1f1を使用して作ったアプリをAndroid8.0で起動すると、最初に白い画面が表示されます。しばらく止まった後(初期化などしているはず)、ゲームが開始されます。
    Android8.0では、白い画面になったまま進行しなくなりました。これはAndroid8.0だけで起こるバグらしく、Android8.0以前の端末で同じアプリをインストールしてみると問題ありませんでした。

    対応するにはパッチを当てればよいそうです。Unityのパッチリリースのところにバグを直したと書いてあります。
    01

    この問題は権限の許可に関係するバグであり、それが許可されていないために止ってしまっているようでした。実機のログを見てみると、「Unable to query for permission: Fragment null must be a public static class to be  properly recreated from instance state.」というログが残っていました。

    ゲームが起動できないというバグなため、致命傷になるでしょう。使用しているUnityのバージョンが古ければ発生しませんが、新しいバージョンだと必ず発生します。公式の修正履歴にはUnity5.6以降で再現するようにあります。

    何度か試してみてわかったのですが権限をアプリ外で渡せば起動できました。Androidの設定からアプリの権限で対象のアプリに権限を付与してやると起動できるようになります。
    ユーザーはそんなことしてまで遊んでくれないでしょうけど。

    致命傷だと書きましたが、Android8.0はあまり普及してないのかもしれません。特に日本ではPixelが販売されてないため、Androidの最新バージョンはそんなに手元にないでしょう。そんなわけでAndroid8.0ユーザーが多いアプリだったら対応すれば良いかもくらいに思いました。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    ネイティブ クラッシュ(/system/lib/libhoudini.so.4.0.5.44806)というクラッシュが報告されていました。これまでに4回発生していたようです。発生頻度は高くないようですが、特定の端末達(ASUS MeMO Pad)で発生していたので気になりました。
    の4種類で発生しました。いずれも/system/lib/libhoudini.soでクラッシュしていました。これだけ見てもよくわからないので、これらの端末の共通点がないかを調べてみました。 
    端末のホームページにあるスペックを見ると、CPUは次の通りでした。
    •  インテル® Atom™ Z3745 クアッドコア
    • Intel® Atom™ Z2520 Dual-Core, 1.2 GHz
    • インテル® Atom™ Z3580 クアッドコア, 2.3 GHz
    • インテル® Atom™ Z3745 クアッドコア
    インテルのAtomが並んでいます。アプリに「CPUの相性があるのかな?」と思いつつ、原因はこれ以外には思いつかないというものがありました。
    ずいぶん前に「Unityでビルドしたapkのサイズ」 という記事を書いたとき、アプリの容量がx86系端末のためのライブラリが含まれて大きくなるということを知りました。このx86系の端末とは、インテルのCPUを使ったAndroidのことです。x86用のライブラリを含むとアプリサイズが大きくなるので、これを除外することができます。
    予想ですがx86用のライブラリがないとクラッシュするx86系の端末があるのではないかと思います。

    Android4.0以上向けにAPKを出せば100MBのAPKでも良いので、次回からはDevice FilterをFATの設定で出してみようと思います。
    とりあえず現時点ではMemo Padをダウンロードの対象外とすることで対処しました。(どれがインテルのCPUを使っているか調べるのが面倒だったので、MeMO Padという名前のものをすべて選択しました。)
    memopad


    『トランプ・スピード』以外のアプリでは発生報告がありません。おそらくは5000以上DLされていて、クラッシュが発生する端末で遊んでいる人がいるということだと思います。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Androidのアプリしか出していないので、そのランキングについてのみの話です。アプリのダウンロード数に最も影響があるのはランキングの順位であるということです。
    当たり前のことのように言われることなのですが、これが内容に関係しないのであまりよくない仕組みになっているのです。 質の良いアプリがダウンロードされているというのが理想的ですが、そうはなりません。そんなものを探す労力をかけるよりはとりあえずランキング上位のものを試してみる方が簡単だからです。多くダウンロードされているということはレビューもそれなりに増えます。そのためレビューがあまりに悪くないなら、ランキング上位のものを使ってみるのが無難です。

    2つのものを比べればどちらが良いかわかるでしょう。それならばより良いものが残っていくのだろうと一見思います。2つが比べられるというのはどちらの存在も知らなければなりません。アプリのランキングでは圧倒的に有名な少しのものが他のものの存在をかき消すようなものです。知名度に差がありすぎて比べられることがないのです。

    ダウンロードを増やすには宣伝をしてユーザーに知らせるということが必要です。しかし、これにはお金がかかり継続的に続けるというようなことは難しいことです。お金を持つ企業が大量の宣伝をして、ランキングの上位に来るというのは当たり前になっています。質の勝負ではなく、お金の勝負になっているのがよくわかるカテゴリがあります。カジュアルやRPGが特に酷いと思います。

    ランキングに入らなければ勝負にもならないというのが現在のAndroidアプリの状況ではないかと思います。新しく出したアプリは1カ月間だけ新着のリストに載ります。この間になんとか上位に来ることが重要です。 

    ランキングは毎日更新されているようで前日のダウンロード数が最も影響しているように思います。もちろん過去のダウンロード数や評価も関係しているみたいです。

    このページのトップヘ