4月になってドメイン取得できるようになったんで、Google Playのデベロッパー登録してアプリ配信やってみた。
https://play.google.com/store/apps/details?id=net.sawsoft.memo
とりあえずシンプルなメモ帳アプリ。
競合多いから埋もれちゃうと思うが、メモ帳がHello World的なもんな気がする。
先月中旬に作ってあったが、Google Playでのアプリ配信には、
- デベロッパー登録(要$25)
- デフォルト言語を設定してアプリ名や紹介文などを記入。
- スクリーンショットが最低2枚を登録
- Google Play用の512x512アイコンを登録
- 宣伝用画像1024x500を登録
- その他指示に従って項目を埋める
って感じだった。
画像が最低4枚必要になる。
あと、今までは
ant debug
でデバッグ用apkを作成していたが、
ant release
で正式なapkを作成しなきゃだが、署名が必要。
keytool -genkey -v -keystore 出力ファイル名 -alias キーの名前 -validity 期限までの日数 -keyalg RSA
で署名のファイルが作成できる。
コマンドを実行すると質問が出てくるので、姓名や所在地、パスワードを入力する。
期限までの日数は25年以上を推薦とのことで、10000にした。
ファイルが出力されるので、ant.propertiesに、
key.store=ファイル名(keytoolコマンドの-keystore)
key.alias=キーの名前(keytoolコマンドの-alias)
と記載する。
登録するとGoogle Play Developer Consoleの方で最初は「公開待ち」になりそのうち「公開中」になるが、
「公開中」になるとGoogle Playの方で確認できたが、しばらくはインストールできない状態だった。
他に近日公開予定でブログエディター作ってるが、そっちの方は広告つけるつもりなんでAdMobに登録して試してみた。
AdMobの登録はAdSenseとAdWordsの両方のアカウントが必要な様で無いと面倒そうだが、Webで使ってて両方あるから、ボタン押すだけで簡単に登録できた。
収益化目的だけならAdSenseアカウントのみで登録できればいいのにね。
AdMobをアプリに組み込むのにちょっと苦戦したが、
Android SDKでGoogle Play ServicesをインストールするとSDKのディレクトリ以下に、
extras/google/google_play_services/libproject/google-play-services_lib
がインストールされるが、
ググるとEclipseでインポートする方法はたくさん出てくるんだが、antでコマンドラインの場合は、project.propertiesに、
android.library.reference.1=../../../../../opt/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib
の様に書けばいいようなんだが、相対パスで書かないとダメらしい。
で、相対パスで書けば平気そうなんだが、
AndroidManifest.xmlに記載する
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
の@integer/google_play_services_versionが無いようでビルド失敗した。
これは、google-play-services_lib/res/values/version.xml
で設定されているんで、このファイルをプロジェクトのres/valuesに入れたり、変数じゃなくて定数で書いちゃえば突破できるぽい。
@integer/google_play_services_versionの方でハマってたようなんだが、インポートがうまく行ってないと思って、
インポートせずに、google-play-services_lib/libs/google-play-services.jarをプロジェクトのlibsにコピーしたんだが、
project.propertiesに長い相対パス書くよりもjarファイルをプロジェクトのlibsにコピーしちゃった方が自然な感じするんで、そうした。
ブログエディター以外にもう一個途中まで作ってたんだが、そっちの方はお蔵入りな感じ。