2011年11月26日土曜日

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

このネタももう3回めになりましたが、今回はちょっとしたTips的なアレを書いておこうと思います。

リクエストパラメータはURLエンコードをしておこう

フォームURLに「&entry_1=111&entry_2=222~」て付加すると自動入力できて便利と書きました。
いわゆるGET送信時のリクエストパラメータです。

AndroidのOSバージョンやらモデル名、アプリバージョンでは発生しないかもしれませんが、文字列中に「&」が挿入されるとそこでパラメータ指定が途切れて意図した結果になりません。
たとえば私のアプリでは自動入力させたい番組名に「&」が入っていたりするため、これをパラメータ設定すると簡単に発生します。

リクエストパラメータの構成に詳しくないですが、基本的には半角英数字しか利用できず、それ以外はURLエンコードしておけということみたいです。

以下やり方というかソースを貼り付け。

  1: public class UserFormUtil {
  2: 
  3:   /**
  4:    * Googleドキュメントアンケートフォーム(ご意見・ご要望)のURL生成
  5:    * 
  6:    * @param _context
  7:    * @return
  8:    */
  9:   public static String getRequestUserFormURL(Context _context) {
 10: 
 11:     StringBuffer sbURL = new StringBuffer();
 12:     sbURL.append(ApConst.USER_FORM_URL_REQUEST);
 13:     // アプリのバージョン
 14:     sbURL.append("&entry_1=").append(makeURLEncodeParam(PackageUtil.getVersionName(_context)));
 15:     // ユーザーに表示するバージョン番号
 16:     sbURL.append("&entry_2=").append(makeURLEncodeParam(Build.VERSION.RELEASE));
 17:     // 最終的にユーザへ表示するモデル名
 18:     sbURL.append("&entry_3=").append(makeURLEncodeParam(Build.MODEL));
 19: 
 20:     return sbURL.toString();
 21:   }
 22: 
 23:   /**
 24:    * 指定文字列をURLエンコードして返す
 25:    * 
 26:    * @param _context
 27:    * @return
 28:    */
 29:   public static String makeURLEncodeParam(String _param) {
 30: 
 31:     String result = "";
 32:     try {
 33:       result = URLEncoder.encode(_param, "UTF-8");
 34:     } catch (UnsupportedEncodingException ex) {
 35:       throw new RuntimeException(ex);
 36:     }
 37: 
 38:     return result;
 39:   }
 40: }

 


テスト投稿した情報の消し方


ドキュメント作成してアンケートフォームまで作成してテストが完了したスプレッドシートを見るとテスト投稿だらけでひどいことになってたりします。


こんな感じで。
image


上の画像で「フォーム(6)」とありますが、これは現在管理されている投稿件数です。
背景が灰色の部分が「投稿」として認識されているフィールドなので数はあってますね。


この情報を削除しようとして、セルをけしても件数には影響ありません。


こうなります。
image


消したのに、件数は6のままですね。


じゃぁどうするかというと、行ごと削除します。


行を範囲選択、右クリックしてメニューから行xx-xxを削除を選択
image


削除結果です。
image


件数が減ってますね。
これでフォームを作り直したりする必要がなくなります。



ユーザからのフォーム投稿通知を受け取る


フォームを設置したものの、定期的に更新されているか確認するのは大変です。
でもGoogleドキュメントには通知機能があるので安心です。


メニューのツール→通知ルールを選択して
image


 


通知ルールを設定します。 image


ユーザーのフォーム投稿を毎回受け取ると大変なので、1日1回で設定します。


通知結果はこんな風に届きますので、メールをキックに確認作業をするといいのではないでしょうか。
image


 


以上、簡易Tipsでした。

0 件のコメント:

コメントを投稿