เอกสารนี้อธิบายวิธีย้ายข้อมูลเกมที่มีอยู่จาก SDK v1 ของ Games ไปยัง SDK v2 ของ Games ปลั๊กอิน Play Games สำหรับ Unity เวอร์ชัน 10 และก่อนหน้าใช้ SDK v1 ของ Games
ก่อนเริ่มต้น
- ตรวจสอบว่าคุณได้ตั้งค่า Play Console และ ติดตั้ง Unity Hub แล้ว
ดาวน์โหลดปลั๊กอิน Google Play Games สำหรับ Unity
หากต้องการใช้ประโยชน์จากฟีเจอร์ล่าสุดในบริการเกม Play ให้ดาวน์โหลดและ ติดตั้งปลั๊กอินเวอร์ชันล่าสุด ดาวน์โหลดได้จากที่เก็บ gitHub
นำปลั๊กอินเก่าออก
ใน Unity Hub ให้นำโฟลเดอร์หรือไฟล์ต่อไปนี้ออก
Assets/GooglePlayGames Assets/GeneratedLocalRepo/GooglePlayGames Assets/Plugins/Android/GooglePlayGamesManifest.androidlib Assets/Plugins/Android

นำเข้าปลั๊กอินใหม่ไปยังโปรเจ็กต์ Unity
หากต้องการนำเข้าปลั๊กอินไปยังโปรเจ็กต์ Unity ให้ทำตามขั้นตอนต่อไปนี้
- เปิดโปรเจ็กต์เกม
- ใน Unity Hub ให้คลิกชิ้นงาน > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง
เพื่อนําเข้าไฟล์
unitypackage
ที่ดาวน์โหลดแล้วไปยังชิ้นงานของโปรเจ็กต์ ตรวจสอบว่าแพลตฟอร์มบิลด์ปัจจุบันตั้งค่าเป็น Android
คลิกไฟล์ > การตั้งค่าการสร้างในเมนูหลัก
เลือก Android แล้วคลิกเปลี่ยนแพลตฟอร์ม
คุณควรเห็นรายการเมนูใหม่ในส่วนหน้าต่าง > Google Play Games หากไม่มี ให้รีเฟรชชิ้นงานโดยคลิกชิ้นงาน > รีเฟรช แล้วลองตั้งค่าแพลตฟอร์มบิลด์อีกครั้ง
ใน Unity Hub ให้คลิกFile > Build Settings > Player Settings > Other Settings
เลือกเวอร์ชันในช่องระดับ 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 เกม v2