Bu kılavuzda, en son Giriş SDK'sını kullanmak için oyununuzu nasıl taşıyacağınız açıklanmaktadır. 1.0.0 beta SDK'sı, önceki 0.0.4 önizlemesine göre önemli iyileştirmeler içerir. Mümkün olan en kısa sürede önceki önizlemelerden geçiş yapmalısınız. 0.0.4 SDK'sı Mart 2023'e kadar çalışmaya devam edecektir.
Bağımlılığı güncelleme
Kitaplık artık maven'de kullanılabilir olduğundan libs
dizininizden 0.0.4 kitaplığını silin. Daha sonra modül düzeyindeki build.grade
dosyanızda şu satırı bulun:
implementation files('libs/inputmapping-0.0.4.aar')
Bu kodu aşağıdaki kodla değiştirin:
implementation 'com.google.android.libraries.play.games:inputmapping:1.0.0-beta'
Yeni Giriş Eşlemesi Sağlayıcı arayüzünü uygulayın
Eski InputMappingProvider
soyut sınıfı, 1.0.0-beta
sürümünde bir arayüze dönüştürüldü. onProvideInputMap()
yöntemi hâlâ arayüzün bir parçasıdır.
Kotlin
InputMappingProvider
içinde çağrılacak kurucu olmadığından ()
öğesini sınıf tanımından kaldırın.
InputMappingProvider
uygulamanızı bulun:
class MyInputMapProvider : InputMappingProvider() {
override fun onProvideInputMap(): InputMap {
TODO("Not yet implemented")
}
}
Ardından şu şekilde güncelleyin:
class MyInputMapProvider : InputMappingProvider {
override fun onProvideInputMap(): InputMap {
TODO("Not yet implemented")
}
}
Java
Bir sınıfı genişletmek yerine bir arayüz uyguladığınızı belirtmek için extends
değerini implements
ile değiştirin.
InputMappingProvider
uzattığınız yeri bulun:
public class MyInputMapProvider extends InputMappingProvider {
@NonNull
@Override
public InputMap onProvideInputMap() {
// TODO: return an InputMap
}
}
Ve InputMappingProvider
politikasını uygulamak için bunu değiştirin:
public class MyInputMapProvider implements InputMappingProvider {
@NonNull
@Override
public InputMap onProvideInputMap() {
// TODO: return an InputMap
}
}
Yeni InputClient'ı kullan
registerInputMappingProvider
ve unregisterInputMappingProvider
, setInputMappingProvider
ve clearInputMappingProvider
ile değiştirildi.
Ayrıca clearInputMappingProvider
artık bağımsız değişken kabul etmediğinden, daha sonra iptal etmek için sağlayıcınıza referans tutmanız gerekmez.
Kotlin
Giriş haritası sağlayıcınızı kaydetmek içinregisterInputMappingProvider
numaralı telefonu arayın:
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)
}
Ve bunu setInputMappingProvider
ile değiştir:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val inputMappingClient = Input.getInputMappingClient(this)
inputMappingClient.setInputMappingProvider(MyInputMapProvider())
}
Giriş haritanızı temizlemek için unregisterInputMappingProvider
adlı kişiye yaptığınız aramanın yerini bulun:
override fun onDestroy() {
val inputMappingClient = Input.getInputMappingClient(this)
inputMappingClient.unregisterInputMappingProvider(myInputMapProvider)
super.onDestroy()
}
Ve bunu clearInputMappingprovider
ile değiştir:
override fun onDestroy() {
val inputMappingClient = Input.getInputMappingClient(this)
inputMappingClient.clearInputMappingProvider()
super.onDestroy()
}
Java
Giriş haritası sağlayıcınızı kaydetmek için registerInputMappingProvider
numaralı telefonu arayın:
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);
}
Ve bunu setInputMappingProvider
ile değiştir:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
InputMappingClient inputMappingClient = Input.getInputMappingClient(this);
inputMappingClient.setInputMappingProvider(new MyInputMapProvider());
}
Giriş eşleştirme sağlayıcınızı temizlemek için unregisterInputMappingProvider
numaralı telefonu bulun:
@Override
protected void onDestroy() {
InputMappingClient inputMappingClient = Input.getInputMappingClient(this);
inputMappingClient.unregisterInputMappingProvider(myInputMapProvider);
super.onDestroy();
}
Ve bunu clearInputMappingProvider
ile değiştir:
@Override
protected void onDestroy() {
InputMappingClient inputMappingClient = Input.getInputMappingClient(this);
inputMappingClient.clearInputMappingProvider();
super.onDestroy();
}