সর্বশেষ ইনপুট SDK ব্যবহার করার জন্য কীভাবে আপনার গেম স্থানান্তর করবেন তা এই নির্দেশিকা বর্ণনা করে৷ 1.0.0-বিটা SDK-এর আগের 0.0.4 পূর্বরূপের তুলনায় যথেষ্ট উন্নতি হয়েছে। যত তাড়াতাড়ি সম্ভব আপনার আগের পূর্বরূপগুলি থেকে স্থানান্তর করা উচিত৷ 0.0.4 SDK মার্চ 2023 পর্যন্ত কাজ চালিয়ে যাবে।
নির্ভরতা আপডেট করুন
আপনার libs
ডিরেক্টরি থেকে 0.0.4 লাইব্রেরি মুছুন যেহেতু লাইব্রেরি এখন maven এ উপলব্ধ। তারপর আপনার মডিউল-স্তরের 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()
এখনও ইন্টারফেসের অংশ।
কোটলিন
শ্রেণী সংজ্ঞা থেকে ()
সরান যেহেতু InputMappingProvider
এ আহ্বান করার জন্য কোন কনস্ট্রাক্টর নেই।
আপনার InputMappingProvider
বাস্তবায়ন সনাক্ত করুন:
class MyInputMapProvider : InputMappingProvider() {
override fun onProvideInputMap(): InputMap {
TODO("Not yet implemented")
}
}
এবং এটিতে এটি আপডেট করুন:
class MyInputMapProvider : InputMappingProvider {
override fun onProvideInputMap(): InputMap {
TODO("Not yet implemented")
}
}
জাভা
আপনি একটি ক্লাস প্রসারিত করার পরিবর্তে একটি ইন্টারফেস বাস্তবায়ন করছেন তা নির্দেশ করার জন্য implements
সাথে extends
প্রতিস্থাপন করুন।
যেখানে আপনি 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
আর কোন যুক্তি নেয় না তাই আপনাকে আর আপনার প্রদানকারীর রেফারেন্স রাখতে হবে না যাতে পরে এটি নিবন্ধনমুক্ত করা যায়।
কোটলিন
আপনার ইনপুট মানচিত্র প্রদানকারীকে নিবন্ধন করতে,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()
}
জাভা
আপনার ইনপুট মানচিত্র প্রদানকারীকে নিবন্ধন করতে, 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();
}