1.0.0-बीटा इनपुट SDK टूल पर माइग्रेट करें

इस गाइड में, अपने गेम के नए वर्शन को माइग्रेट करने का तरीका बताया गया है इनपुट 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();
}