Version: 2020.2
言語: 日本語
Java や Kotlin のソースファイルをプラグインとして使用
Android 開発でのトラブルシューティング

Android モバイルスクリプティング

注意: クロスプラットフォームのプロジェクトでは、UNITY_ANDROID #define ディレクティブを使用して Android 特有の C# コードを条件付きでコンパイルします。プラットフォーム依存のコンパイル を参照してください。

デバイス固有の機能とプロパティへのアクセス

アプリケーションは Input クラスと Handheld クラスを通して Android デバイスのほとんどの機能にアクセスできます。詳細は、以下を参照してください。

バイブレーションサポート

バイブレーションを行うには Handheld.Vibrate を呼び出します。バイブレーションの機能がないデバイスでは、この呼び出しは無視されることに注意してください。

アクティビティインジケーター

モバイル OS には、動作が遅いときに使用できるビルトインのアクティビティインジケーターがあります。詳細は、Handheld.StartActivityIndicator を参照してください。

デバイス固有のプロパティにアクセスするには、以下のスクリプトを使用します。

スクリプト デバイスプロパティ
SystemInfo.deviceUniqueIdentifier 常に ANDROID_ID の md5 を返します。詳細については、Android デベロッパードキュメントの ANDROID_ID を参照してください。
SystemInfo.deviceName デバイス名を返します。Android デバイスの場合、Unity は安全なシステム設定から device_namebluetooth_name を読み取ろうとします。これらの文字列に値がない場合、Unity は <unknown> を返します。
SystemInfo.deviceModel デバイスモデルを返します。多くの場合、これには製造社名とモデル番号が含まれます (例えば、“LGE Nexus 5 や ”SAMSUNG-SM-G900A" など)。
SystemInfo.operatingSystem オペレーティングシステムの名前とバージョンを返します。

海賊版チェック

ユーザーに関するライセンス情報を取得し海賊版を防止するために、Google は Google Play Application Licensing と呼ばれるサービスを提供しています。この機能を Unity アプリケーションに統合する方法の例は、Asset Store の Google Play Application License Verification プラグインのサンプルを参照してください。また、プラグインのソースコードはGitHub リポジトリ からダウンロードすることができます。

画面の向き

iOS と Android デバイス両方で、自由にアプリケーションの画面の向きを制御することができます。ユーザーが持っているデバイスの向きに応じてゲーム画面も変更させたり、特定の向きに固定することは、ユーザーがデバイスを持つ向きに合わせてゲームの動作を調整するために有用です。

デバイスの向きは Screen.orientation を使って取得できます。向きには以下のようなものがあります。

向き 動作
Portrait 縦向きのモードです。デバイスを直立させると、ホームボタンは下になります。
PortraitUpsideDown 縦向きのモードです。ただし、デバイスを直立させると、ホームボタンが上になります。
LandscapeLeft 縦向きのモードです。デバイスを直立させると、ホームボタンが右側になります。
LandscapeRight 縦向きのモードです。デバイスを直立させると、ホームボタンが左側になります。

Screen.orientation に上の画面の向きの 1 つを設定するか、ScreenOrientation.AutoRotation を使って画面の向きを制御します。画面を自動で回転させる場合も、状況に応じていくつかの向きを無効にすることが可能です。

自動回転をコントロールするには、以下のスクリプトを使用します。

Java や Kotlin のソースファイルをプラグインとして使用
Android 開発でのトラブルシューティング