คำแนะนำนี้จะอธิบายวิธีย้ายข้อมูลเกมไปใช้เวอร์ชันล่าสุด SDK อินพุต SDK 1.0.0 รุ่นเบต้ามีการปรับปรุงที่สำคัญมากกว่า ตัวอย่าง 0.0.4 ก่อนหน้า คุณควรย้ายข้อมูลจากการแสดงตัวอย่างก่อนหน้านี้โดยเร็วที่สุด เท่าที่จะเป็นไปได้ SDK 0.0.4 จะยังทำงานต่อไปจนถึงเดือนมีนาคม 2023
อัปเดตทรัพยากร Dependency
ลบไลบรารี 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'
ใช้งานอินเทอร์เฟซ InputMappingProvider ใหม่
คลาสนามธรรมเดิม InputMappingProvider
ได้เปลี่ยนเป็นอินเทอร์เฟซใน
เวอร์ชัน 1.0.0-beta
เมธอด onProvideInputMap()
ยังคงเป็นส่วนหนึ่งของ
ของ Google
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
}
}
ใช้ InputClient ใหม่
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();
}