2012年11月24日土曜日

つくったAndroidアプリを宣伝しよう

せっかく作った渾身のAndroidアプリがなかなか広まらず、
ブログのタイトル通り、もう絶望しかないです。

 実は過去に、「なにするダーツ」というアプリを作っていて、
これが30000インストールくらいまで行っています。
https://play.google.com/store/apps/details?id=air.actionondarts

 次に作ったちょっと自信のある「Tracks of Life」は、現在20インストールと、
何度も言いますがもう絶望しかない。
https://play.google.com/store/apps/details?id=net.vertexes.tracksoflife

 と言うわけで、今までに試した宣伝方法を、ブログに載せていきたいと思います。

全て地道な方法ですが、どこでどう起爆するかわからないので、
作ったアプリに自信がある方は、一通りやった方がいいと思います。

レビュー依頼

ご存知、Androiderさんや、アプリコさん、オクトバさんにレビュー依頼を出します。
これは、一番初めにやっておいた方がいいです。

1~2週間前にレビュー依頼を出しましたが、未だレビューはされずです。
とりあえずレビュー依頼を投げてみましょう。
面白いアプリだったら、そのうちレビューされると思います。

参考

プロモーション画像の準備

これに至っては、正直効果はありませんでした。
Wall in Easyで試してみたのですが、どこで役に立つのかわかりません。
ある程度人気になったら必要になるのかもしれません。
(Google Playのホームに、どーんと載るかもしれませんし。。)

ホームページを作る

かなり手間がかかりますが、販促用のページを準備するといい、とどこかで書いていました。
それはちょっと手間過ぎるので、私はブログを始めました。このブログです。
ですが、こんな記事書いてるくらいなので、これと言って効果なしです。。
ビュー数が増えてくると、効果があるのかもしれません。

プロモーション動画を作る

丸一日かけて作りました。


さっき載せたばかりなので、効果があるかどうかはわかりませんが、
Google Playにも載せられるので、作れる方は作った方がいいです。

Android用のキャプチャーソフトが貧弱だったため、MacのWEBカメラで直接録画しました。
動画は、けっこう見られるようです。
今後、伸びたらまたブログにしたいと思います。

Twitter/Facebook/mixi等で宣伝する

これも、あまり効果なしでした。。
いや、人によっては効果あるのですが、「ステマかよ」の視線が痛いです。
日ごろの行いがものをいいますね。

イベント等で宣伝する

実は、「なにするダーツ」の方は、この方法でぐんとダウンロード数を伸ばしました。
最初はじわじわだったのですが、数日で100、200と増えました。
イベントですが、ABCで宣伝しました。
私は、「よちよちAndroidサンデープログラミングの会」という名前は怪しげなコミュニティに属していたので、ABCの時のそこのブースの一部を借り、ビラを配りまくりました。

そしたら後程ですが、テレビに紹介されました。
多分、ABCにそういったテレビ番組の企画してる方がいたのではないでしょうか。
それで、この「なにするダーツ」は、一気にユーザーを獲得しました。
深夜番組だったのですが、5000人くらいが一晩にインストールしたようです。


今までやった宣伝の方法は、これくらいです。

「なにするダーツ」の話ですが、一度軌道に乗ると、
けっこうユーザーが口コミで広めてくれるようで、思い悩む必要もなくなるようです。

イベント等で布教するのが、今のところ私の最善の手です。


もう少ししたら、AdMobで広告を出してみようと思っています。
一日1000円くらいで出せるそうです。

2012年11月23日金曜日

OpenGLで任意のサイズのテクスチャを扱う

OpenGLを2Dで扱おうといろいろ探してみたんですが、
どうやら2のべき乗サイズ以外のテクスチャが扱えないらしいですね。

つまり512×256とか、64×64と言ったサイズの画像以外はお断りというわけですね。

いや、お断りじゃないだろ、困るんだけど、これ。どうすんの。


と言うわけで、疑似的にですが、扱えるようなBitmapを生成してくれるクラスを作ってみました。
タイトル詐欺ですね。すみません。

GLBitmap

  • コンストラクタで受け取ったBitmapを、2のべき乗のサイズの画像にする。
    • 48×100の画像は、64×128の画像へ。左上寄り。

import android.graphics.Bitmap;
import android.graphics.Canvas;

public class GLBitmap {

 private int _width = 0;
 private int _height = 0;
 private Bitmap _poweredSizeBitmap = null;
 
 public GLBitmap(Bitmap bitmap)
 {
  _width = bitmap.getWidth();
  _height = bitmap.getHeight();
  _poweredSizeBitmap = Bitmap.createBitmap(
    getPoweredSize(bitmap.getWidth()),
    getPoweredSize(bitmap.getHeight()),
    Bitmap.Config.ARGB_8888);
  Canvas bitmapCanvas = new Canvas(_poweredSizeBitmap);
  bitmapCanvas.drawBitmap(bitmap, 0, 0, null);
 }
 
 public final int getWidth()
 {
  return _width;
 }
 
 public final int getHeight()
 {
  return _height;
 }
 
 public final Bitmap getPowerdSizeBitmap()
 {
  return _poweredSizeBitmap;
 }
 
 private final int getPoweredSize(int value)
 {
  int poweredValue = 1;
  while(poweredValue < value)
  {
   poweredValue = poweredValue << 1;
  }
  
  return poweredValue;
 }
}

メソッド

  • getWidth()
    • 渡された画像の幅を返す
  • getHeight()
    • 渡された画像の高さを返す
  • getPowerdSizeBitmap
    • 余白のある、OpenGLで扱えるサイズの画像を返す
Bitmap bitmap = {任意のBitmap};
GLBitmap glBitmap = new GLBitmap(bitmap);

つまり、100×200のBitmapを渡すと、128×256のBitmapが取得できる。
その場合、getWidth()で100を、getHeight()で200を返す。

本当はBitmap継承してgetWidthとgetHeightをOverrideだ!とか意気込んでいたんですが、
孤高なBitmapクラスにはしっかりとfinalと定義されていて絶望しました。

とりあえずブログが1日坊主だったので、ネタ薄いですが書いておきました。。

2012年11月19日月曜日

アプリ紹介 - Wall in Easy

作ったアプリ、Wall in Easyを紹介します。

このWall in Easyは、トリミング(写真の切り抜き作業)なしに、壁紙を設定できるアプリです。

設定は非常に簡単です。


【 1. ダウンロード 】
まずは、Wall in Easyをダウンロードしましょう!

https://play.google.com/store/apps/details?id=net.vertexes.wallineasy




【 2. 起動 】
起動すると、Wall in Easyを設定するように促されるので、設定します。
「Wall in Easy」を選択して、「壁紙に設定」を選択しましょう。





【 3. 画像の設定 】
設定を押したら、戻るキーを押して、このメニューまで戻りましょう。
「画像をえらぶ」から、好きな写真を設定します。







【 4. ホームへ戻る 】

お気に入りの壁紙が設定されていることを確認しましょう!




スワイプしてみると端から端まで、余すところなくきちんと表示されるのがわかると思います。





これで今日から、どんな写真でも切抜きせずに、壁紙に設定することが可能です!


BloggerでSyntax Highlighterが動かない

さっそくAndroid以外のことで詰まりました。

ソースコードとかきれいに表示してくれるSyntax Highlighterというものがあると聞き、
導入してみたのですが、Bloggerのプレビューで全く動いてくれませんでした。

参考:
http://wada811.blogspot.com/2012/02/bloggersyntaxhighlighter.html
http://p-toyama-wan.blogspot.jp/2011/11/bloggersyntaxhighlighter.html


さっそくChromeのデバッガ(Shift + Ctrl + I)で見てみると、次のエラー。

Uncaught ReferenceError: SyntaxHighlighter is not defined html-preview:807

最初の二行の時点ですでにおかしい。
shCore.cssとかshCore.jsとか読込めてないっぽい。っていうかエラー多いな。
もしかしてプレビューで動かないの?って思って投稿。

投稿後のコンソール調べてみる。



あ、よくわかんないけどエラー変わってる。shCore.cssとかshCore.jsとかロードできてるっぽい。
ってか違うエラー増えた。
とりあえずソースコードのハイライトが動くのか、投稿して確認してみる。

System.out("どや");

できた。いや、できてた。
ちなみにプレビュー画面はこんな感じ。


プレビューでJavascript無効化されちゃうのかな。

とりあえず動いてたようでよかった。

【追記】
何回か記事書き直してたらプレビューで動くようになってた。
いや、この挙動おかしすぎる。
あと上のソースはSystem.out.printの間違い

テスト投稿

こんにちは。

このブログは、Androidアプリ開発中に事故に遭ったことを、
解決方法と共にお届けするものです。
そのほかにも、技術的なことを書いていくつもりで居ます。

ソースもたまに公開するので、ツッコミとか罵倒とかあると喜びます。

あと、作ったアプリの紹介とかもして行こうと思ってます。

よろしくお願いします。