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

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çin registerInputMappingProvider 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();
}