Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事にトラックバックする(FC2ブログユーザー)
http://garlicg.blog92.fc2.com/tb.php/62-5858ab00

トラックバック

流星ブラウザ

久しぶりに新規アプリを公開しました。
ウェブページのリンクで成り立ってるようなアプリ見てて、逆に 『ウェブページのリンクを集めてアプリっぽく使える』 方が汎用性あっていいかなーと思ったのがきっかけです。
とりあえずももクロちゃんブログとか、パズドラ攻略情報とかかき集めてWebViewで表示したらそれっぽくなったんで開発を進めました。

流星ブラウザ
Google playリンク

結果できあがったものはなんとも独特なブラウザアプリです。
ちなみに2.X系はもう絶滅した方がいい頃なので対応してません。ICSは諸事情でいまのとこ未対応です。
叱ってくれる上司もいないのでここで反省・報告会します。




仕様変更しすぎた

リリースするまで4週間くらいを予定してたんですが、11週間かかってしまいました。
時間がかかった一番の原因は仕様の変更、特にUI周りです。実機で動かしてからこれ違う感漂うことが多かったので、ワイヤーフレームとか最初にきちっと作れるようになった方がいいのかもしれない。



リソースとか

最近は画像素材を用意せずに、ズルいデザインテクニックを参考にしてshapeとかlayerをxmlに書いてます。今回はUI周りの仕様変更に合わせて修正やら作り直しやらしてたので経験値上がった気がする。1dpにこだわりたい年頃。

一時的に作ったアプリアイコンもこの経験値のおかげで思いのほか良い感じにできたからこのままリリース。
ryusei72

ちなみに昔の作品達。
kusashirube72 garlic72

父さん母さん、僕は成長しました。

アプリ内のアイコンはIconicDroidを使っているのでかなり楽してます。正直これないともう生きていけない。



広告とか

広告うざい感は出したくないなーと思ってたので、うざくなさそうなところにバナー広告を設置。うざいを決めるのはあなたなので広告オフ設定も準備。広告はAdmobと、Admobメディエーションに公式対応してるi-mobileとNendを導入。

あとappCのマンガ広告が面白そうなので導入してみました。このマンガ広告表示用の画像を自作したのですが、存在感ありすぎる。

manga_screenshot.png

昔からこうゆう絵柄は全然変わらないんですよね。
父さん母さん、僕はあの頃から何も変わっていません。



プライバシーポリシーとか

利用規約・プライバシーポリシー・著作権情報・更新履歴はGoogleDriveでウェブページ公開してアプリ内のDialogで表示してます。GoogleDrive便利れす。
プライバシーポリシーの書き方はアンドロイドスマートフォンプライバシーガイドライン by タオを参考にしてます。ありがたや~

ちなみに広告事業者のプライバシーポリシーを見るとざっくりですが、UUIDのようなものを生成して使っていることと、それのオプトアウト方法に関する記述があります。個人製作でプライバシーポリシー用意してるアプリは少ないと思いますが、当然のことながら広告SDKを組み込んでいる場合それもアプリの一部になるので、プライバシーポリシーは用意するべきかなーと思います。



JavaScriptとか

WebViewはまともに触ったことがなくて、何やらYABAIってことを小鳥の噂で聞いていたのでかなりビビりながらこそこそと開発を始めました。主にこの資料に書いてあるようなことです。Androidセキュリティ勉強会 ~WebViewの脆弱性編~ (pdf)
ここはひとりでは心許ないので、まずは自分なりに勉強して、ある程度DL数があるアプリになったらセキュリティ会社さんに診断頼もうかなーと思ってます。ともあれいま出来上がってるものは「WebView怖いですー」の気持ちが現れた仕様になってます。

副産物として発見があったのは、JavaScript無効にするとページ読み込むのすごく早いこと。ものすごく早い。現状、ちょっとしたリンクをインテントでブラウザに飛ばす時にJavaScriptオフでサクサク見るセカンドブラウザとしては良いアプリだと思います。



WebViewのタイトルバー的なやつ

WebView関連はバージョン毎にけっこう変更のあるクラスのようで、タイトルバーとしてビュー突っ込むメソッドがJBでなくなってたりします。
色々試行錯誤しましたが、Android 4.1(JellyBean)でWebViewにタイトルバーを追加する方法とかいろいろの方法をベースに実装しました。

ちなみにlayout.xmlで定義するWebViewタグに、View入れるとタイトルバーになるっていう謎の魔法をStackOverFlowで発見したのですが、WebViewのLayerTypeがSoftwareじゃないと動作しない状況でした。(Softwareだとウェブページによってはすごくもさもさする)



AppCache的なやつ

WebView.setAppCacheEnabledな感じのメソッドのAppCacheってHTML5のApplication cacheのことらしい。
AppCache用にパスを指定するとAppCache用のDBを2つ(名前忘れた)、WebView周りの誰かが作成してくれるのですが、このファイルは一回削除すると再生成してくれないです。(名前のノリでCacheディレクトリにパス指定するとあかんパターン)
誰がどのタイミングでどんな条件で生成してるの? -> わからない。
AppCacheをクリアするメソッドとかあるかな? -> 見当たらない。

「HTML5データの削除」的な感じで消せるようにしたいんですが、これはDB解析してSQL叩いて中身削除すればいいの?そもそもここら辺てウェブページ側の処理で、他からは関与させない方がいいのかな?よくわかってない&後回し中なので、とりあえずhtml5はざっくりと未対応です。



CursorAdapter

はじめてCursorAdapterを使ったんですが、setNotificationUriされてるCursor使ってるからDBに変更があった場合に表示されるアイテムまで内容が変わるんだよーって便利さはわかった(って顔をしてみる)。
ただ、アイテムのソートを実装しようとしたところDBからViewまでくっついてる感がどうもうまく扱えず。結局ContentProvider -> CursorLoader -> おれおれAdapter extends BaseAdapterになった。



Google Suggest API

Google Suggest API叩いて予測検索できるビューを作ってすげーって自分で感動しつつ、この頃ちょうどVolleyの情報が出てきて置き換えたらコード短くなって感動したり。
ただGoogle Suggest APIって公式の情報が見つからないのでやっていいのかわかんない。



技術面ではわからなかったり不安なところ中心の記事になってしまいました。
今後ですが、色々とアップデートしたいところありつつも時間かかりすぎて残念なので、気晴らしにさくっと違うアプリ作りたい。お盆だし。
この記事にトラックバックする(FC2ブログユーザー)
http://garlicg.blog92.fc2.com/tb.php/62-5858ab00

トラックバック

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。