1.0.0-beta Giriş SDK'sına Geçin

Bu kılavuzda, oyununuzu en yeni Giriş SDK'sını kullanacak şekilde nasıl taşıyacağınız açıklanmaktadır. 1.0.0 beta SDK'sı, önceki 0.0.4 önizlemesine kıyasla önemli iyileştirmeler içeriyor. Mümkün olan en kısa sürede önceki önizlemelerden geçiş yapmanız gerekir. 0.0.4 SDK'sı Mart 2023'e kadar çalışmaya devam edecektir.

Bağımlılığı güncelleme

0.0.4 kitaplığı artık maven'de mevcut olduğundan libs dizininizden silin. Ardından modül düzeyindeki build.grade dosyanızda şu satırı bulun:

implementation files('libs/inputmapping-0.0.4.aar')

Aşağıdaki kodla değiştirin:

implementation 'com.google.android.libraries.play.games:inputmapping:1.0.0-beta'

Yeni Giriş Eşleme Sağlayıcısı arayüzünü uygulama

Eski soyut sınıf InputMappingProvider, 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 bir 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 öğesini implements ile değiştirin.

InputMappingProvider uzantısını nerede kullandığınızı bulun:

public class MyInputMapProvider extends InputMappingProvider {
    @NonNull
    @Override
    public InputMap onProvideInputMap() {
        // TODO: return an InputMap
    }
}

Ardından, InputMappingProvider özelliğini uygulamak için şu şekilde değiştirin:

public class MyInputMapProvider implements InputMappingProvider {
    @NonNull
    @Override
    public InputMap onProvideInputMap() {
        // TODO: return an InputMap
    }
}

Yeni GirişClient'ı kullanma

registerInputMappingProvider ve unregisterInputMappingProvider, setInputMappingProvider ve clearInputMappingProvider ile değiştirildi. Ayrıca clearInputMappingProvider artık bağımsız değişken almadığı için daha sonra kaydını iptal etmek üzere sağlayıcınıza referans tutmanıza gerek kalmadı.

Kotlin

Giriş harita sağlayıcınızı kaydetmek için registerInputMappingProvider ile yaptığınız aramayı bulun:

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)
}

Ardından setInputMappingProvider ile değiştirin:

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 aramanızı bulun:

override fun onDestroy() {
    val inputMappingClient = Input.getInputMappingClient(this)
    inputMappingClient.unregisterInputMappingProvider(myInputMapProvider)

    super.onDestroy()
}

Ardından clearInputMappingprovider ile değiştirin:

override fun onDestroy() {
    val inputMappingClient = Input.getInputMappingClient(this)
    inputMappingClient.clearInputMappingProvider()

    super.onDestroy()
}

Java

Giriş harita sağlayıcınızı kaydetmek için registerInputMappingProvider ile yaptığınız aramayı bulun:

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ştirin:

@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şleme sağlayıcınızı temizlemek için unregisterInputMappingProvider çağrınızı bulun:

@Override
protected void onDestroy() {
    InputMappingClient inputMappingClient = Input.getInputMappingClient(this);
    inputMappingClient.unregisterInputMappingProvider(myInputMapProvider);

    super.onDestroy();
}

Ardından clearInputMappingProvider ile değiştirin:

@Override
protected void onDestroy() {
    InputMappingClient inputMappingClient = Input.getInputMappingClient(this);
    inputMappingClient.clearInputMappingProvider();

    super.onDestroy();
}