Google Play ゲームの開発環境はまだクローズド ベータ版ですが、PC で動作するように更新できないわけではありません。ゲームの要件は次のとおりです。
- Android 環境で動作する
- x86 または x86-64 アーキテクチャ向けにビルドされている
- PC クラスのハードウェアで動作する
- マウスとキーボードを必要とする
- 大画面で動作する
これらはすべて、Android をサポートする Chrome OS デバイスでテストできます。これにより、既存の Android ゲームを PC で正常に動作させるために必要な設計やツールの変更を行えます。
Input SDK などの Google Play ゲーム固有の SDK は Chrome OS では利用できません。開発環境でのビルドとテストを必要とする変更が追加されます。詳しくは、PC との互換性に関するページをご覧ください。
デバイスの種類に基づいてゲームプレイ機能を切り替える必要がある場合は、"org.chromium.arc"
システム機能を確認します。
Kotlin
var isPC = packageManager.hasSystemFeature("org.chromium.arc")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("org.chromium.arc")
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "org.chromium.arc");
Google Play ゲーム環境でリリースする場合は、これを "com.google.android.play.feature.HPE_EXPERIENCE"
に変更する必要がありますが、変更内容は Google Play ゲームと Chrome OS にも効果があるため、両方を確認するようにしてください。
Kotlin
var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");