يوضّح هذا الدليل كيفية نقل بيانات لعبتك لاستخدام أحدث إصدار من IDE SDK. تتضمّن حزمة SDK التجريبية 1.0.0 تحسينات كبيرة مقارنةً بالإصدار السابق 0.0.4 من المعاينة. يجب نقل البيانات من معاينات الإصدارات السابقة في أقرب وقت ممكن. سيستمر عمل حزمة تطوير البرامج (SDK) 0.0.4 حتى آذار (مارس) 2023.
تعديل التبعية
حذف مكتبة 0.0.4 من دليل libs
لأنّ المكتبة متاحة الآن
على 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()
جزءًا من
الواجهة.
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
}
}
استخدام enterClient الجديد
تم
استبدال 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();
}