9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Unity】【C#】アプリからGoogleフォームでエラー報告を受けられるようにする

Last updated at Posted at 2018-06-01

きっかけはStarOne:Originsのアプリを遊んでいて、設定の「エラー報告」を押したらGoogleフォームに飛んでそこから不具合報告できる仕様を見て、感動したことでした。

スクリーンショット 2018-06-01 14.16.36.png

iOS
Android

アプリに不具合があると、レビュー欄でエラー報告と低評価がセットで載ることがしばしばあるため、エラー報告の導線を用意するとバグ起因の低評価を減らせる効果が期待できます。

基本的な手順は非常に簡単です。
①Googleフォームでアンケート形式で作成する
②アプリからURLを開く
Application.OpenURL("https://...");

StarOne:Originsのアプリで感動したのは、アプリからGoogleフォームを開くと、自動でOSや機種が入力されていることでした。
デバッグする側から見ればほしい情報ですが、報告時に入力させようとするとそれが面倒で報告されなくなる懸念がありますよね。
でも、初期入力は一体どうやってるんでしょう・・・・?

フォロワーさんから教えてもらった情報によれば、URLのパラメータ指定でできるそうです。これならアプリ側でちょいちょいするだけで済みますね。

なので、自動入力に対応した手順は、

①Googleフォームでアンケート形式で作成する
②初期入力用URLを取得する
※参考:http://blog.nakachon.com/2016/12/22/how-to-add-url-parameter-for-google-form/
③OSや機種情報を取得してURLを作成する
④アプリからURLを開く

となります。

#コード

Settings.cs
//Buttonに登録する
public void OnClick_ErrorReport()
    {
        //初期入力無しURL ※任意のURLに変更して使って下さい
        var URL = "https://docs.google.com/forms/d/e/1FAIpQLSdjLLjO0OEYT44hJlxUBFRm2wz2GTqpatku7sJb-aBv8eOcxg/viewform?usp=sf_link";

        #if UNITY_ANDROID || UNITY_IOS
        //===========================================================
        //OSバージョン
        //===========================================================
        string versionString = SystemInfo.operatingSystem.Replace("iOS ", "");

        //===========================================================
        //機種モデル
        //===========================================================
        string modelString = SystemInfo.deviceModel;

        //===========================================================
        //アプリバージョン
        //===========================================================
        string applicationVersionString = Application.version;

        //===========================================================
        //言語
        //===========================================================
        string systemLanguage = Application.systemLanguage.ToString();

        //初期入力ありURL ※任意のURLに変更して使って下さい
        URL = string.Format("https://docs.google.com/forms/d/e/1FAIpQLSdjLLjO0OEYT44hJlxUBFRm2wz2GTqpatku7sJb-aBv8eOcxg/viewform?usp=pp_url&entry.1543890908={0}&entry.966225331={1}&entry.451690904={2}&entry.465137427={3}",
                            versionString, modelString, applicationVersionString, systemLanguage);
        #endif
        Application.OpenURL(URL);
    }

こんな感じでできます。

参考
http://hiyotama.hatenablog.com/entry/2016/12/16/153620
http://blog.nakachon.com/2016/12/22/how-to-add-url-parameter-for-google-form/

#開発中のゲーム
ビデオが開けなかった場合に表示されるテキスト

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?