يوضّح هذا الدليل طريقة نقل بيانات لعبتك لاستخدام أحدث إصدار. إدخال حزمة تطوير البرامج (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'
تنفيذ واجهة enterMappingProvider الجديدة
تحوّلت الفئة التجريدية السابقة InputMappingProvider
إلى واجهة في
الإصدار 1.0.0-beta
. ولا تزال الطريقة onProvideInputMap()
جزءًا من
من واجهة pyplot.
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();
}