เอกสารนี้อธิบายวิธีย้ายข้อมูลเกมที่มีอยู่จาก SDK ของ games v1 ไปยัง SDK ของ games v2 ปลั๊กอิน Play Games สำหรับ Unity เวอร์ชัน 10 และต่ำกว่าใช้ SDK ของ Games เวอร์ชัน 1
ก่อนเริ่มต้น
- ตรวจสอบว่าคุณได้ตั้งค่า Play Console และติดตั้ง Unity Hub แล้ว
ดาวน์โหลดปลั๊กอิน Google Play Games สำหรับ Unity
หากต้องการใช้ประโยชน์จากฟีเจอร์ล่าสุดในบริการ Play Games ให้ดาวน์โหลดและติดตั้งปลั๊กอินเวอร์ชันล่าสุด ดาวน์โหลดได้จากที่เก็บข้อมูล GitHub
นำปลั๊กอินเก่าออก
ใน Unity Hub ให้นำโฟลเดอร์หรือไฟล์ต่อไปนี้ออก
Assets/GooglePlayGames Assets/GeneratedLocalRepo/GooglePlayGames Assets/Plugins/Android/GooglePlayGamesManifest.androidlib Assets/Plugins/Android
![นำโฟลเดอร์ที่ไฮไลต์ในโปรเจ็กต์ Unity ออก](https://developer.android.com/static/images/games/pgs/unityfolders.png?hl=th)
นําเข้าปลั๊กอินใหม่ไปยังโปรเจ็กต์ Unity
หากต้องการนําเข้าปลั๊กอินไปยังโปรเจ็กต์ Unity ให้ทําตามขั้นตอนต่อไปนี้
- เปิดโปรเจ็กต์เกม
- ใน Unity Hub ให้คลิกเนื้อหา > นําเข้าแพ็กเกจ > แพ็กเกจที่กําหนดเองเพื่อนําเข้าไฟล์
unitypackage
ที่ดาวน์โหลดแล้วไปยังเนื้อหาของโปรเจ็กต์ ตรวจสอบว่าได้ตั้งค่าแพลตฟอร์มการสร้างปัจจุบันเป็น Android
ในเมนูหลัก ให้คลิกไฟล์ > การตั้งค่าการสร้าง
เลือก Android แล้วคลิกเปลี่ยนแพลตฟอร์ม
คุณควรเห็นรายการเมนูใหม่ในส่วน Window > Google Play Games หากไม่มี ให้รีเฟรชชิ้นงานโดยคลิกชิ้นงาน > รีเฟรช แล้วลองตั้งค่าแพลตฟอร์มการสร้างอีกครั้ง
ใน Unity Hub ให้คลิกไฟล์ > การตั้งค่าบิลด์ > การตั้งค่าโปรแกรมเล่น > การตั้งค่าอื่นๆ
เลือกเวอร์ชันในช่องระดับ API เป้าหมาย
ป้อน
IL2CPP
ในช่องแบ็กเอนด์สคริปต์เลือกค่าในช่องสถาปัตยกรรมเป้าหมาย
จดชื่อแพ็กเกจ package_name ไว้ คุณจะใช้ข้อมูลนี้ได้ในภายหลัง
การตั้งค่าโปรแกรมเล่นในโปรเจ็กต์ Unity
อัปเดตโค้ดการลงชื่อเข้าใช้โดยอัตโนมัติ
แทนที่คลาสเริ่มต้น PlayGamesClientConfiguration
ด้วยคลาส
PlayGamesPlatform.Instance.Authenticate()
คุณไม่จำเป็นต้องเริ่มต้นและเปิดใช้งาน PlayGamesPlatform
การเรียกใช้ PlayGamesPlatform.Instance.Authenticate()
จะดึงข้อมูลผลการลงชื่อเข้าใช้อัตโนมัติ
C#
ใน Unity Hub ให้ค้นหาไฟล์ที่มีคลาส PlayGamesClientConfiguration
using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;
public void Start() {
PlayGamesClientConfiguration config =
new PlayGamesClientConfiguration.Builder()
// Enables saving game progress
.EnableSavedGames()
// Requests the email address of the player be available
// will bring up a prompt for consent
.RequestEmail()
// Requests a server auth code be generated so it can be passed to an
// associated backend server application and exchanged for an OAuth token
.RequestServerAuthCode(false)
// Requests an ID token be generated. This OAuth token can be used to
// identify the player to other services such as Firebase.
.RequestIdToken()
.Build();
PlayGamesPlatform.InitializeInstance(config);
// recommended for debugging:
PlayGamesPlatform.DebugLogEnabled = true;
// Activate the Google Play Games platform
PlayGamesPlatform.Activate();
}
และอัปเดตเป็นข้อความนี้
using GooglePlayGames;
public void Start() {
PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}
internal void ProcessAuthentication(SignInStatus status) {
if (status == SignInStatus.Success) {
// Continue with Play Games Services
} else {
// Disable your integration with Play Games Services or show a login
// button to ask users to sign-in. Clicking it should call
// PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
}
}
เลือกแพลตฟอร์มโซเชียล
หากต้องการเลือกแพลตฟอร์มโซเชียล โปรดดูหัวข้อเลือกแพลตฟอร์มโซเชียล
เรียกดูรหัสการตรวจสอบสิทธิ์เซิร์ฟเวอร์
หากต้องการรับรหัสการเข้าถึงฝั่งเซิร์ฟเวอร์ ให้ดูเรียกดูรหัสการตรวจสอบสิทธิ์เซิร์ฟเวอร์
นำรหัสการลงชื่อออกออก
นำรหัสสำหรับการออกจากระบบออก บริการเกมของ Play ไม่จำเป็นต้องมีปุ่มออกจากระบบในเกมอีกต่อไป
นำโค้ดที่แสดงในตัวอย่างต่อไปนี้ออก
C#
// sign out
PlayGamesPlatform.Instance.SignOut();
ทดสอบเกม
ตรวจสอบว่าเกมทำงานตามที่ออกแบบไว้ด้วยการทดสอบ การทดสอบที่คุณทำจะขึ้นอยู่กับฟีเจอร์ของเกม
ต่อไปนี้คือรายการการทดสอบทั่วไปที่ควรทํา
ลงชื่อเข้าใช้สำเร็จ
การลงชื่อเข้าใช้โดยอัตโนมัติใช้งานได้ ผู้ใช้ควรลงชื่อเข้าใช้บริการเกมของ Play เมื่อเปิดเกม
ป๊อปอัปต้อนรับจะปรากฏขึ้น
ตัวอย่างป๊อปอัปต้อนรับ (คลิกเพื่อขยาย) ข้อความบันทึกที่ดำเนินการสำเร็จจะปรากฏขึ้น เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
adb logcat | grep com.google.android.
ตัวอย่างข้อความบันทึกที่สำเร็จจะแสดงดังต่อไปนี้
[
$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup. [CONTEXT service_id=1 ]
ตรวจสอบความสอดคล้องของคอมโพเนนต์ UI
ป๊อปอัป ลีดเดอร์บอร์ด และรางวัลพิเศษแสดงอย่างถูกต้องและสอดคล้องกันในขนาดและการวางแนวหน้าจอต่างๆ ในอินเทอร์เฟซผู้ใช้ (UI) ของบริการเกมของ Play
ตัวเลือกการลงชื่อออกไม่ปรากฏใน UI ของบริการเกมของ Play
ตรวจสอบว่าคุณดึงข้อมูลรหัสผู้เล่นได้สําเร็จ และความสามารถฝั่งเซิร์ฟเวอร์ทํางานตามที่คาดไว้ (หากมี)
หากเกมใช้การตรวจสอบสิทธิ์ฝั่งเซิร์ฟเวอร์ ให้ทดสอบขั้นตอนต่างๆ ของ
requestServerSideAccess
อย่างละเอียด ตรวจสอบว่าเซิร์ฟเวอร์ได้รับรหัสการให้สิทธิ์และสามารถแลกรหัสดังกล่าวเป็นโทเค็นการเข้าถึงได้ ทดสอบทั้งสถานการณ์ที่สำเร็จและไม่สำเร็จสำหรับข้อผิดพลาดเกี่ยวกับเครือข่าย สถานการณ์ที่ไม่ถูกต้อง และclient ID
หากเกมของคุณใช้ฟีเจอร์ต่อไปนี้ ให้ทดสอบฟีเจอร์ดังกล่าวเพื่อให้แน่ใจว่าทำงานเหมือนเดิมก่อนการย้ายข้อมูล
- ลีดเดอร์บอร์ด: ส่งคะแนนและดูลีดเดอร์บอร์ด ตรวจสอบการจัดอันดับที่ถูกต้องและการแสดงชื่อและคะแนนของผู้เล่น
- รางวัลพิเศษ: ปลดล็อกรางวัลพิเศษและตรวจสอบว่าบันทึกรางวัลพิเศษอย่างถูกต้องและแสดงใน UI ของ Play Games
- เกมที่บันทึกไว้: หากเกมใช้เกมที่บันทึกไว้ ให้ตรวจสอบว่าการบันทึกและโหลดความคืบหน้าของเกมทำงานได้อย่างราบรื่น ซึ่งสำคัญอย่างยิ่งในการทดสอบในอุปกรณ์หลายเครื่องและหลังการอัปเดตแอป
งานหลังการย้ายข้อมูล
ทําตามขั้นตอนต่อไปนี้หลังจากย้ายข้อมูลไปยัง SDK ของ Games v2