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

Bu kılavuzda, en yeni SDK'yı girin. 1.0.0-beta SDK, önceki 0.0.4 önizlemesi. Hemen önceki önizlemelerden taşıma işlemini gerçekleştirmeniz gerekir yapmasını sağlar. 0.0.4 SDK'sı Mart 2023'e kadar çalışmaya devam edecektir.

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

Kitaplık artık hazır olduğundan 0.0.4 kitaplığını libs dizininizden silin maven'de kullanılabilir. Ardından bu satırı modül düzeyindeki build.grade sayfanızda bulun dosya:

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şleme Sağlayıcısı arayüzünü uygulama

Eski soyut sınıf InputMappingProvider şurada arayüze dönüştürüldü: 1.0.0-beta sürümü onProvideInputMap() yöntemi hâlâ kullanır.

Kotlin

Şurada çağrılacak kurucu olmadığından () öğesini sınıf tanımından kaldırın InputMappingProvider.

InputMappingProvider uygulamanızı bulun:

class MyInputMapProvider : InputMappingProvider() {
    override fun onProvideInputMap(): InputMap {
        TODO("Not yet implemented")
    }
}

Ardından, bunu şu şekilde güncelleyin:

class MyInputMapProvider : InputMappingProvider {
    override fun onProvideInputMap(): InputMap {
        TODO("Not yet implemented")
    }
}

Java

Şunu belirtmek için extends yerine implements kullanın: bir arayüzü kullanmayı tercih edebilirsiniz.

InputMappingProvider uzantısını genişlettiğiniz yeri bulun:

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

Ve InputMappingProvider kodunu uygulamak için bunu 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. Dahası, clearInputMappingProvider artık tartışma kabul etmeyecek. Bu nedenle artık sağlayıcınızın kaydını iptal etmek için sağlayıcınıza referansta tutmanız gerekiyor.

Kotlin

Giriş haritası sağlayıcınızı kaydetmek için şu numaraya yaptığınız çağrıyı bulun: 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)
}

Ve bunu 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()
}

Ve bunu clearInputMappingprovider ile değiştirin:

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

    super.onDestroy()
}

Java

Giriş haritası sağlayıcınızı kaydetmek için şu numaraya yaptığınız çağrıyı bulun: 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);
}

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 şu çağrıyı bulun: unregisterInputMappingProvider:

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

    super.onDestroy();
}

Ve bunu clearInputMappingProvider ile değiştirin:

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

    super.onDestroy();
}