1.0.0 ベータ版 Input SDK に移行する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このガイドでは、最新の Input SDK を使用するようにゲームを移行する方法について説明します。1.0.0 ベータ版 SDK は、以前の 0.0.4 プレビューから大幅に改善されています。できるだけ早く以前のプレビューから移行してください。0.0.4 SDK は 2023 年 3 月まで引き続き機能します。
依存関係を更新する
Maven で 0.0.4 ライブラリを利用できるようになったので、libs
ディレクトリから 0.0.4 ライブラリを削除してください。その後、モジュール レベルの build.grade
ファイルで次の行を見つけます。
implementation files('libs/inputmapping-0.0.4.aar')
次のコードに置き換えます。
implementation 'com.google.android.libraries.play.games:inputmapping:1.0.0-beta'
以前の抽象クラス InputMappingProvider
は、バージョン 1.0.0-beta
でインターフェースになりました。メソッド onProvideInputMap()
は引き続き、そのインターフェースの一部です。
Kotlin
InputMappingProvider
で呼び出すコンストラクタがないため、クラス定義から ()
を削除します。
InputMappingProvider
の実装を見つけます。
class MyInputMapProvider : InputMappingProvider() {
override fun onProvideInputMap(): InputMap {
TODO("Not yet implemented")
}
}
それを次のように更新します。
class MyInputMapProvider : InputMappingProvider {
override fun onProvideInputMap(): InputMap {
TODO("Not yet implemented")
}
}
Java
extends
を implements
に置き換え、クラスを拡張せずインターフェースを実装することを示します。
InputMappingProvider
を拡張している箇所を探します。
public class MyInputMapProvider extends InputMappingProvider {
@NonNull
@Override
public InputMap onProvideInputMap() {
// TODO: return an InputMap
}
}
InputMappingProvider
を実装するように変更してください。
public class MyInputMapProvider implements InputMappingProvider {
@NonNull
@Override
public InputMap onProvideInputMap() {
// TODO: return an InputMap
}
}
registerInputMappingProvider
と unregisterInputMappingProvider
が setInputMappingProvider
と clearInputMappingProvider
に置き換えられました。さらに、clearInputMappingProvider
が引数を取らなくなったので、後でプロバイダの登録を解除するために使用していたプロバイダへの参照を保持する必要がなくなりました。
Kotlin
入力マップ プロバイダを登録するには、registerInputMappingProvider
を呼び出している箇所を見つけます。
private val myInputMapProvider by lazy {
MyInputMapProvider()
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val inputMappingClient = Input.getInputMappingClient(this)
inputMappingClient.registerInputMappingProvider(myInputMapProvider)
}
それを setInputMappingProvider
に置き換えてください。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val inputMappingClient = Input.getInputMappingClient(this)
inputMappingClient.setInputMappingProvider(MyInputMapProvider())
}
入力マップをクリアするには、unregisterInputMappingProvider
を呼び出している箇所を見つけます。
override fun onDestroy() {
val inputMappingClient = Input.getInputMappingClient(this)
inputMappingClient.unregisterInputMappingProvider(myInputMapProvider)
super.onDestroy()
}
それを clearInputMappingprovider
に置き換えてください。
override fun onDestroy() {
val inputMappingClient = Input.getInputMappingClient(this)
inputMappingClient.clearInputMappingProvider()
super.onDestroy()
}
Java
入力マップ プロバイダを登録するには、registerInputMappingProvider
を呼び出している箇所を見つけます。
private final MyInputMapProvider myInputMapProvider = new MyInputMapProvider();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
InputMappingClient inputMappingClient = Input.getInputMappingClient(this);
inputMappingClient.registerInputMappingProvider(myInputMapProvider);
}
それを setInputMappingProvider
に置き換えてください。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
InputMappingClient inputMappingClient = Input.getInputMappingClient(this);
inputMappingClient.setInputMappingProvider(new MyInputMapProvider());
}
入力マップ プロバイダをクリアするには、unregisterInputMappingProvider
を呼び出している箇所を見つけます。
@Override
protected void onDestroy() {
InputMappingClient inputMappingClient = Input.getInputMappingClient(this);
inputMappingClient.unregisterInputMappingProvider(myInputMapProvider);
super.onDestroy();
}
それを clearInputMappingProvider
に置き換えてください。
@Override
protected void onDestroy() {
InputMappingClient inputMappingClient = Input.getInputMappingClient(this);
inputMappingClient.clearInputMappingProvider();
super.onDestroy();
}
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[null,null,["最終更新日 2025-07-27 UTC。"],[],[],null,["# Migrate to the 1.0.0-beta Input SDK\n\nThis guide describes how to migrate your game to use the latest\nInput SDK. The 1.0.0-beta SDK has substantial improvements over the\nprevious 0.0.4 preview. You should migrate from the earlier previews as soon as\npossible. The 0.0.4 SDK will continue function through March 2023.\n\nUpdate the dependency\n---------------------\n\nDelete the 0.0.4 library from your `libs` directory since the library is now\navailable on maven. Then Find this line in your module-level `build.grade`\nfile: \n\n implementation files('libs/inputmapping-0.0.4.aar')\n\nReplace it with the following code: \n\n implementation 'com.google.android.libraries.play.games:inputmapping:1.0.0-beta'\n\nImplement the new InputMappingProvider interface\n------------------------------------------------\n\nThe former abstract class `InputMappingProvider` turned into an interface in\nversion `1.0.0-beta`. The method `onProvideInputMap()` is still part of the\ninterface.\n\n\u003cbr /\u003e\n\n### Kotlin\n\n\u003cbr /\u003e\n\nRemove `()` from the class definition since there's no constructor to invoke in\n`InputMappingProvider`.\n\nLocate your `InputMappingProvider` implementation: \n\n class MyInputMapProvider : InputMappingProvider() {\n override fun onProvideInputMap(): InputMap {\n TODO(\"Not yet implemented\")\n }\n }\n\nAnd update it to this: \n\n class MyInputMapProvider : InputMappingProvider {\n override fun onProvideInputMap(): InputMap {\n TODO(\"Not yet implemented\")\n }\n }\n\n\u003cbr /\u003e\n\n### Java\n\n\u003cbr /\u003e\n\nReplace `extends` with `implements` to indicate that your implementing an\ninterface rather than extending a class.\n\nLocate where you extend `InputMappingProvider`: \n\n public class MyInputMapProvider extends InputMappingProvider {\n @NonNull\n @Override\n public InputMap onProvideInputMap() {\n // TODO: return an InputMap\n }\n }\n\nAnd change it to implement `InputMappingProvider`: \n\n public class MyInputMapProvider implements InputMappingProvider {\n @NonNull\n @Override\n public InputMap onProvideInputMap() {\n // TODO: return an InputMap\n }\n }\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nUse the new InputClient\n-----------------------\n\n`registerInputMappingProvider` and `unregisterInputMappingProvider` have been\nreplaced with `setInputMappingProvider` and `clearInputMappingProvider`.\nFurther, `clearInputMappingProvider` no longer takes an argument so you no\nlonger need to keep a reference to your provider to unregister it later.\n\n\u003cbr /\u003e\n\n### Kotlin\n\nTo register your input map provider, locate your call to `registerInputMappingProvider`:\n\n\u003cbr /\u003e\n\n private val myInputMapProvider by lazy {\n MyInputMapProvider()\n }\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_main)\n\n val inputMappingClient = Input.getInputMappingClient(this)\n inputMappingClient.registerInputMappingProvider(myInputMapProvider)\n }\n\nAnd replace it with `setInputMappingProvider`: \n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_main)\n\n val inputMappingClient = Input.getInputMappingClient(this)\n inputMappingClient.setInputMappingProvider(MyInputMapProvider())\n }\n\nTo clear your input map, locate your call to `unregisterInputMappingProvider`: \n\n override fun onDestroy() {\n val inputMappingClient = Input.getInputMappingClient(this)\n inputMappingClient.unregisterInputMappingProvider(myInputMapProvider)\n\n super.onDestroy()\n }\n\nAnd replace it with `clearInputMappingprovider`: \n\n override fun onDestroy() {\n val inputMappingClient = Input.getInputMappingClient(this)\n inputMappingClient.clearInputMappingProvider()\n\n super.onDestroy()\n }\n\n\u003cbr /\u003e\n\n### Java\n\n\u003cbr /\u003e\n\nTo register your input map provider, locate your call to\n`registerInputMappingProvider`: \n\n private final MyInputMapProvider myInputMapProvider = new MyInputMapProvider();\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n\n InputMappingClient inputMappingClient = Input.getInputMappingClient(this);\n inputMappingClient.registerInputMappingProvider(myInputMapProvider);\n }\n\nAnd replace it with `setInputMappingProvider`: \n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n\n InputMappingClient inputMappingClient = Input.getInputMappingClient(this);\n inputMappingClient.setInputMappingProvider(new MyInputMapProvider());\n }\n\nTo clear your input mapping provider, locate your call to\n`unregisterInputMappingProvider`: \n\n @Override\n protected void onDestroy() {\n InputMappingClient inputMappingClient = Input.getInputMappingClient(this);\n inputMappingClient.unregisterInputMappingProvider(myInputMapProvider);\n\n super.onDestroy();\n }\n\nAnd replace it with `clearInputMappingProvider`: \n\n @Override\n protected void onDestroy() {\n InputMappingClient inputMappingClient = Input.getInputMappingClient(this);\n inputMappingClient.clearInputMappingProvider();\n\n super.onDestroy();\n }\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e"]]