2011年11月22日火曜日

Androidアプリのご意見・要望機能をGoogleドキュメントで実現する方法

先日、公開中のアプリがようやく100DLを突破しました。ぱちぱち。
それはいいのですが、ユーザからのフィードバックが全然ないのです。まったくです。
唯一のフィードバックがAndroidマーケットの評価1個のみ(★3)
このままだと精神に異常をきたしかねないので、フィードバックをばしばし投稿してもらえるような環境にしなければというのが今回のテーマです。

ユーザからのフィードバックを取得する方法いろいろ

フィードバックを受ける方法といっても今の主流が何かってのはよくわかってないのですが、ざっと考えてみました。

  1. Twitterアカウントでリプライ
  2. デベロッパーメール送信(PC or Android端末から)
  3. デベロッパーメール送信(アプリからメッセージをインテント渡し)
  4. デベロッパーメール送信(アプリからメール送信)
  5. WEBサービス経由の情報送信(アプリ側画面実装で、Web側投稿フォーム無し)
  6. WEBサービス経由の情報送信(Web側の投稿フォームで)
  7. マーケットコメントから判断

こんなところでしょうか。
ユーザ視点でみると、

  1. 入力が簡単なのがいい
  2. 自分のメールやTwitterアカウントは晒したくない
  3. せっかく投稿するのだから、相手に伝わるほうが良い

開発者視点でみると、

  1. 実装が簡易なほうがいい
  2. せっかく投稿してもらった情報は綺麗に管理したい
  3. メールやTwitterで投稿してもらったら全て返さなきゃいけない気がして胸が痛い

といった感じです。
実装は簡単に、情報は綺麗に管理、ユーザの投稿ハードルは低くです。

実装もメンテも簡単なフィードバック機能が欲しい

正直、個人開発でDLされないをこじらせまくってるアプリ開発者としては、
どうせ手をかけるならフィードバック機能より、アプリの内容に手をかけたい。

あと、DLされないをこじらせてるならフィードバック機能なんて活用されなくね?
といった指摘はごもっともなのですが、だからこそコストはかけずに実現したいなと思うわけです。

チャットワークのご意見・ご要望機能がすごく簡単な投稿フォームになってた!

そこで、なんですが。
最近オンラインゲーム仲間とのやりとりにチャットワークを使ってます。

チャットワークについては有名なツールなので説明は不要だと思いますが、

  1. 一定規模(部屋、アカウント数)までは無料
  2. 目的別に部屋が作れる
  3. ログを残せて後で確認できる
  4. 部屋ごとに簡単なユーザ単位のタスク管理機能がある
  5. Skypeみたいに今ONかOFFか管理されてないので楽な気持ちで利用できる

詳細は以下とかnanapi参照

中の人に聞く、新しいコミニュケーションツール「チャットワーク」の中身とは? : ライフハッカー[日本版] <http://www.lifehacker.jp/2011/03/post_1687.html>

チャットツールとしては軽快かつ必要十分な機能でとてもいい感じです。
本当はオンラインゲーム用ならSkypeでボイスチャットでしょうけど、
いつログインしたかが見えちゃうのは疲れちゃいますので、
そのあたりチャットワークはゆるくていいです。

と、本題からだいぶずれました。
そんなチャットワークを使っていて気が付いたのですが、よく見たら以下のようなリンクがあったのです。
image

この「ご意見・ご要望」部分をクリックするとこんなページが開きます。
image

で、URLをよく見ると、、、!!
image

そうです。Googleドキュメントのアンケートフォーム機能で実装されてました。
Googleドキュメントがアンケートフォーム機能も実装してあることは何かでみかけた記憶がありますが、ご意見・要望欄に使えるとは考えてませんでした。

あれっとおもったので、チャットワークのAndroidアプリ版(こっちはいまいち使い勝手が悪い)も見てみます。

ふむふむ、、、
image 

おお!いまいちいけてない!じゃない、表示された!
image

思ったとおりAndroidアプリ版もアンケートフォーム機能でした。これはいい!
横幅どうにかなんないの?とは思いますが、なにしろこれなら簡単そうな気がする!

ちなみに、全体はこんな感じです。
image image

あれ、バージョン情報が自動で入ってる?
もしかしてとURLも確認。image

どうやらentry_x=~の形式で自動入力までしてくれるみたいです。
こりゃ便利すぐるっ。ではではこれをパク、、参考に早速実装してみましょう。

Googleドキュメントでアンケートフォーム作成

https://docs.google.com/」へアクセスしてドキュメントの作成を行います。
(ユーザアカウントはある前提です。)

※ちなみに以下のサイト参考にしました。

Googleドキュメントでアンケートフォームを作る | コンテンツつくるひと
<http://content-lab.com/googledocs1321/>

[N] Googleスプレッドシートをアンケートや応募で便利に使う方法
<http://netafull.net/lifehack/027879.html>

ではまずは作成→フォームを選んで
image 

こんな編集画面が初期表示されます。
image

テーマが100個ぐらいの中から選べます。
チャットワークで利用されているテーマもあるのでさすがに別なテーマにしてみました。
image

こんなの
image

次に、各フィールドの設定をしていきます。 image

プレビューしてみましょう。
image

けっこう良い感じですね!

この表示URLに自動入力したい情報を設定してみます。
「&entry_1=111&entry_2=222&entry_3=333&entry_4=444」と後ろにつけてアクセスすると、、、
image

こんな感じになりました。あれっ、順番がおかしいですね。
image 

これ、実は編集時に失敗してしまいました。
失敗というかGoogleドキュメントがいけてない気がするのですが、フィールドを追加した順番に勝手にentryIDが裏で採番されているらしくて、入れ替えたり消したりしてると順番がぐちゃぐちゃになるみたいです。
もう直せません。多分。

なので、仕切りなおしてアクセスして問題のないことを確認してから再度編集しなおしました。(--;image

こんどは良い感じですね。
entryは0始まりみたいです。
image

ついでに、投稿完了メッセージも編集します。
右上にある「確認を編集」からダイアログを表示して
image

メッセージを入力します。
image

これでフォーム作成が完了です!

Web画面から投稿テスト

では出来上がったアンケートフォームから投稿してみましょう。
テスト、、と入力して送信をぽちっとな。
image

image

できました!

そしてGoogleドキュメントの管理画面から、再度スプレッドシートのデータを確認してみます。
image 

ちゃんと保存されてますね!やったー。

ところで、新規でフォームを作成する場合はフォーム修正画面が直接表示されますが、一度作成した以降はいったんスプレッドシートを表示後に以下の「フォームの編集」から操作を行います。

image

なぜかダイアログ画面でポップアップ表示されますが、操作の内容は新規作成時と同じ(はず)です。

と、URLの確認を忘れていました。
フォーム編集画面の一番下にこんなURLがあります。
image

これが実際にアクセスするためのURLとなりますので、先ほどの自動入力欄と組み合わせて考えると

https://docs.google.com/spreadsheet/viewform?formkey=~ID&entry_1=111&entry_2=222&entry_3=333

とすればフィールド自動入力付でアクセスできますね。

Androidから投稿テスト

さて、本題のAndroidの実装です。
ここを読んでる人はAndroid開発者だと思いますので細かい話は抜きにして、実装結果を簡単に貼り付けます。

各種情報の取得方法は以下サイトを参考にしました。

Androidのシステム情報を取得する « Tech Booster
<http://techbooster.jpn.org/andriod/device/1330/>

<実装結果>
  1:   PackageManager pm = getApplicationContext().getPackageManager();
  2:   PackageInfo info = pm.getPackageInfo(getApplicationContext().getPackageName(), 0);
  3:   // ご意見・ご要望
  4:   StringBuffer sbURL = new StringBuffer();
  5:   sbURL.append("https://docs.google.com/spreadsheet/viewform?formkey=~");
  6:   // アプリのバージョン情報
  7:   sbURL.append("&entry_1=").append(info.versionName);
  8:   // ユーザーに表示するバージョン番号
  9:   sbURL.append("&entry_2=").append(Build.VERSION.RELEASE);
 10:   // 最終的にユーザへ表示するモデル名
 11:   sbURL.append("&entry_3=").append(Build.MODEL);
 12: 
 13:   Uri uri = Uri.parse(sbURL.toString());
 14:   Intent i = new Intent(Intent.ACTION_VIEW, uri);
 15:   startActivity(i);
 16: 

 


上記をメニューから呼び出した処理で実行すると、、、


 image image image


おーできた。できた。
しかし、やっぱり横幅がいまいちだ!


あと投稿結果も確認しましょう。

image


いいですね!
これで完成です。


完成!とはいいつつも、、、


チャットワークの表示画面レベルまではいった気がしますが、やっぱりちょっといけてない。
スマートフォンの画面表示範囲内に入らないというのはちょっとなーとか思ってます。
そもそもテーマがスマフォ向けになってればいいのですけど、それが見込めないうちは
今みたいに中央寄せじゃなく左寄せのテーマを選んだ上で、ブラウザ直接じゃなくてWebViewからiFrameタグ呼び出しで、上記サイトアクセスかなーなんて考えてます。考えてました。


というのも、これ書ききる直前ぐらいに以下のサイトを見つけてしまったのです。



Google Docsのフォーム機能をAndroidで使ってみた | ものづくりとは? <http://yandroidon.wordpress.com/2011/10/28/google-docs%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E6%A9%9F%E8%83%BD%E3%82%92android%E3%81%A7%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F/>


実現してるじゃん!(吐血)
いや、今回つくったアンケートフォームをこのiFrame方式でよびだせばいいのか?
この記事は無駄じゃない、無駄じゃないぞ。


と若干不完全燃焼ながら、このエントリを閉じたいと思います。
次回はもうちょっとしらべきってから書きはじめたいなーと反省しつつ。

0 件のコメント:

コメントを投稿