i-school - スマホ実機テスト時のデバッグポイント
 実機ビルドはエディターとは異なる挙動を示すことがあります。
実機でのデバッグとテストを重要視しましょう。USB接続やリモートデバッグを使用して、クラッシュや不具合を特定し、修正します。
さらに、様々なデバイスでの動作確認も行い、幅広い環境に対応するアプリを作成していきましょう。



1.プラットフォームの選択と設定


 スマートフォン向けにビルドするために、正しいプラットフォームを選択しましょう。
主要なプラットフォームとしてはiOSとAndroidがあります。

 選択したプラットフォームに合わせてプロジェクト設定やプラグインの管理を行い、必要なSDKやライセンス情報を統合します。



2.Simulator の活用


 Unity エディターのプラットフォームを Android、あるいは iOS で設定している場合、Game ビューにて Simulator を選択出来ます。





 最初から複数の端末が登録されています。ここにないものも解像度を設定して登録できます。





 実機でのビルド前に Simulator を活用して、ノッチの位置、画面の解像度、Canvas のサイズ、アンカーの位置を確認しておきましょう。


1.解像度と画面の向きの設定


 スマートフォンの画面解像度や向きに適した設定を行うことは重要です。
解像度やアスペクト比を適切に設定し、縦向きや横向きのプレイに対応するUIやコントロールを準備します。
これにより、ユーザーエクスペリエンスが向上し、アプリが違和感なく動作します。


2.Canvas のサイズ、アンカー設定


 UI要素を適切に配置するために、Canvasのサイズとアンカー設定を検討しましょう。
異なる画面サイズに対応するために、UI要素の位置やサイズを適切に調整します。

 特に重要な点としては、アンカー設定を使用して、UI要素が適切な位置に固定されるようにします。


3.タッチ操作とユーザーインタラクション


 スマートフォンではタッチ操作が主要なユーザーインタラクションです。
適切なタッチ制御を実装し、マルチタッチやスワイプなどの動作に対応します。
UI要素もタッチ操作に適したデザインにすることで、ユーザーが快適に操作できる環境を提供します。



 Simulator では、こういった部分を重点的にチェックしていくようにしましょう。


3.ビルド時のサイズと最適化


 Google Play にアップロードできるサイズ(ファイルの容量)は 150 MBです。これよりも大きなサイズは登録できません。

 Resources フォルダの見直し、画像ファイルのアトラス化などを視野に入れて対応するようにしましょう。


4.デバッグビルドの利用


 スマートフォン実機テストでは、デバッグビルドの利用が重要です。
デバッグビルドは最適化されていないため、エラーメッセージやスタックトレースがより詳細に表示され、問題の特定がしやすくなります。

 デバッグビルドの設定とビルド手順について解説します。


1.デバッグビルドの設定


Unityのビルド設定で、デバッグビルドを有効にします。通常、開発者向けのオプションとして提供されます。
スクリプトコンパイラを通常の「Mono」として設定し、最適化を無効にします。


2.ビルドプロセス


 プロジェクトを選択し、ビルド設定を開きます。
ターゲットプラットフォーム(iOS、Androidなど)を選択し、デバッグビルド用の出力フォルダを指定します。
ビルドボタンをクリックしてデバッグビルドを生成します。


3.デバッグビルドの実行


 ビルドされたアプリをスマートフォンにインストールし、実行します。
アプリがクラッシュまたは不正な挙動を示した場合、エラーメッセージやスタックトレースが詳細に表示されます。


5.アプリのログキャプチャ


 スマートフォン実機でのテストでは、アプリのログ情報をキャプチャすることが重要です。
デバッグログを取得し、実行中の動作やエラーメッセージを確認することで、問題の原因特定が行いやすくなります。

 ログキャプチャの方法と解析手法を紹介します。


1.デバッグログの出力


 スクリプト内でDebug.Logを使用してデバッグログを出力します。これにより、特定の操作やイベントに関する情報が記録されます。
最も基本的ですが、最も効果的です。なお、デバッグを終了したら、コメントアウトするなりして、処理を停止させるようにしてください。


2.ログキャプチャの設定:


 Unityの設定で、デバッグログをファイルに出力するように設定します。ファイル名や保存先を指定します。


3.ログの確認


 アプリを実行し、デバッグログをファイルに記録します。
アプリの動作中にログファイルを確認し、エラーや問題のメッセージを探します。


6.リモートデバッグの活用


 リモートデバッグはスマートフォン実機テストでのデバッグ作業を支援する有用なツールです。
リモートデバッグの設定と接続方法を解説し、実機上での挙動をリアルタイムで確認する手法を紹介します。
これにより、問題の特定と修正が効率的に行えます。


1.リモートデバッグの有効化


 Unityの設定でリモートデバッグを有効にします。通常、ポート番号などの設定が必要です。


2.デバッグビルドの作成


 デバッグビルドを生成し、スマートフォンにインストールします。


3.リモートデバッグ接続


 Unityエディタとスマートフォンを同じネットワークに接続します。
Unityエディタ内でリモートデバッグを有効にし、スマートフォンとの接続を確立します。


4.リアルタイムデバッグ


 Unityエディタ内でスクリプトや変数の状態をリアルタイムで監視し、スマートフォン上のアプリの動作をリモートでデバッグします。



7.プレイヤープレファレンス(PlayerPrefs)の管理


 スマートフォン実機テストでは、プレイヤープレファレンスの値を確認し、設定を調整することが重要です。
アプリの設定やセーブデータが適切に動作するかどうかを確認し、必要に応じて修正を行います。プレイヤープレファレンスの確認と管理手法を解説します。


1.プレイヤープレファレンスの設定:


 アプリ内で必要な設定やデータをプレイヤープレファレンスに保存します。例えば、ゲームの設定、ユーザーの進行状況などです。


2.プレイヤープレファレンスの確認


 アプリを実行し、プレイヤープレファレンスに保存されたデータを確認します。
プレイヤープレファレンス内のデータが正しく設定されているかどうかを確認します。


8.クラッシュレポートの分析


 スマートフォン実機テスト中にアプリがクラッシュすることがあります。
クラッシュレポートを収集し、スタックトレースやデバイス情報を分析することで、クラッシュの原因を特定し修正します。

 クラッシュレポートの収集と分析手法について説明します。


1.クラッシュレポートの収集


 クラッシュレポート収集ツールを導入し、アプリがクラッシュした場合にレポートを生成します。
レポートにはスタックトレースやデバイス情報が含まれます。


2.レポートの分析


 クラッシュが発生した場合、レポートを収集し分析します。
スタックトレースを読み、クラッシュの原因を特定します。
レポート内のデバイス情報を確認し、特定のデバイスやバージョンでの問題を特定します。


9.ユーザーアクションの再現とテスト


 特定のシナリオやユーザーアクションが原因で発生する不具合を再現し、テストすることは重要です。
Unity Remoteやスクリプトを用いて、特定のユーザーアクションを模倣してアプリをテストします。
これにより、特定の不具合の再現率を高め、修正の精度を向上させます。


10.ログ出力とコンソールの確認


 最後はビルドに関係なく、常に Unity エディターにおいて気を配るべき点です。

 Unityではデバッグログを出力し、実行中の動作を確認できます。
ログ表示用の UI を作成しておくことでスマートフォン実機ビルドでもデバッグログを出力し、エラーや挙動の異常を検出します。

 デバッグ用のテキストファイルやUnity Remoteを活用して、ログ情報を分析し問題の特定に役立てましょう。



 さまざまなアプローチを活用して問題を特定し、アプリの品質を向上させましょう。