इस गाइड में, अपने गेम के नए वर्शन को माइग्रेट करने का तरीका बताया गया है इनपुट SDK टूल. 1.0.0-बीटा SDK टूल का इस्तेमाल करने से, पिछले 0.0.4 वर्शन की झलक. आपको जितनी जल्दी हो सके पुरानी झलक से माइग्रेट करना चाहिए किया जा सकता है. 0.0.4 SDK टूल, मार्च 2023 तक काम करता रहेगा.
डिपेंडेंसी अपडेट करना
अपनी 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 इंटरफ़ेस लागू करें
पुरानी ऐब्स्ट्रैक्ट क्लास 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
}
}
नए InputClient का इस्तेमाल करें
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();
}