ย้ายข้อมูลไปยังบริการเกมของ Play v2 (Unity)

เอกสารนี้อธิบายวิธีย้ายข้อมูลเกมที่มีอยู่จาก 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 ออก
นำโฟลเดอร์ที่ไฮไลต์ในโปรเจ็กต์ Unity ออก (คลิกเพื่อขยาย)

นําเข้าปลั๊กอินใหม่ไปยังโปรเจ็กต์ Unity

หากต้องการนําเข้าปลั๊กอินไปยังโปรเจ็กต์ Unity ให้ทําตามขั้นตอนต่อไปนี้

  1. เปิดโปรเจ็กต์เกม
  2. ใน Unity Hub ให้คลิกเนื้อหา > นําเข้าแพ็กเกจ > แพ็กเกจที่กําหนดเองเพื่อนําเข้าไฟล์ unitypackage ที่ดาวน์โหลดแล้วไปยังเนื้อหาของโปรเจ็กต์
  3. ตรวจสอบว่าได้ตั้งค่าแพลตฟอร์มการสร้างปัจจุบันเป็น Android

    1. ในเมนูหลัก ให้คลิกไฟล์ > การตั้งค่าการสร้าง

    2. เลือก Android แล้วคลิกเปลี่ยนแพลตฟอร์ม

    3. คุณควรเห็นรายการเมนูใหม่ในส่วน Window > Google Play Games หากไม่มี ให้รีเฟรชชิ้นงานโดยคลิกชิ้นงาน > รีเฟรช แล้วลองตั้งค่าแพลตฟอร์มการสร้างอีกครั้ง

  4. ใน Unity Hub ให้คลิกไฟล์ > การตั้งค่าบิลด์ > การตั้งค่าโปรแกรมเล่น > การตั้งค่าอื่นๆ

  5. เลือกเวอร์ชันในช่องระดับ API เป้าหมาย

  6. ป้อน IL2CPP ในช่องแบ็กเอนด์สคริปต์

  7. เลือกค่าในช่องสถาปัตยกรรมเป้าหมาย

  8. จดชื่อแพ็กเกจ package_name ไว้ คุณจะใช้ข้อมูลนี้ได้ในภายหลัง

    การตั้งค่าโปรแกรมเล่นในโปรเจ็กต์ Unity
    การตั้งค่าโปรแกรมเล่นในโปรเจ็กต์ Unity
  9. คัดลอกทรัพยากร Android จาก Play Console

  10. เพิ่มทรัพยากร Android ลงในโปรเจ็กต์ 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();

ทดสอบเกม

ตรวจสอบว่าเกมทำงานตามที่ออกแบบไว้ด้วยการทดสอบ การทดสอบที่คุณทำจะขึ้นอยู่กับฟีเจอร์ของเกม

ต่อไปนี้คือรายการการทดสอบทั่วไปที่ควรทํา

  1. ลงชื่อเข้าใช้สำเร็จ

    1. การลงชื่อเข้าใช้โดยอัตโนมัติใช้งานได้ ผู้ใช้ควรลงชื่อเข้าใช้บริการเกมของ Play เมื่อเปิดเกม

    2. ป๊อปอัปต้อนรับจะปรากฏขึ้น

      ตัวอย่างป๊อปอัปต้อนรับ
      ตัวอย่างป๊อปอัปต้อนรับ (คลิกเพื่อขยาย)

    3. ข้อความบันทึกที่ดำเนินการสำเร็จจะปรากฏขึ้น เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล

      adb logcat | grep com.google.android.

      ตัวอย่างข้อความบันทึกที่สำเร็จจะแสดงดังต่อไปนี้

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. ตรวจสอบความสอดคล้องของคอมโพเนนต์ UI

    1. ป๊อปอัป ลีดเดอร์บอร์ด และรางวัลพิเศษแสดงอย่างถูกต้องและสอดคล้องกันในขนาดและการวางแนวหน้าจอต่างๆ ในอินเทอร์เฟซผู้ใช้ (UI) ของบริการเกมของ Play

    2. ตัวเลือกการลงชื่อออกไม่ปรากฏใน UI ของบริการเกมของ Play

    3. ตรวจสอบว่าคุณดึงข้อมูลรหัสผู้เล่นได้สําเร็จ และความสามารถฝั่งเซิร์ฟเวอร์ทํางานตามที่คาดไว้ (หากมี)

    4. หากเกมใช้การตรวจสอบสิทธิ์ฝั่งเซิร์ฟเวอร์ ให้ทดสอบขั้นตอนต่างๆ ของrequestServerSideAccessอย่างละเอียด ตรวจสอบว่าเซิร์ฟเวอร์ได้รับรหัสการให้สิทธิ์และสามารถแลกรหัสดังกล่าวเป็นโทเค็นการเข้าถึงได้ ทดสอบทั้งสถานการณ์ที่สำเร็จและไม่สำเร็จสำหรับข้อผิดพลาดเกี่ยวกับเครือข่าย สถานการณ์ที่ไม่ถูกต้อง และclient ID

หากเกมของคุณใช้ฟีเจอร์ต่อไปนี้ ให้ทดสอบฟีเจอร์ดังกล่าวเพื่อให้แน่ใจว่าทำงานเหมือนเดิมก่อนการย้ายข้อมูล

  • ลีดเดอร์บอร์ด: ส่งคะแนนและดูลีดเดอร์บอร์ด ตรวจสอบการจัดอันดับที่ถูกต้องและการแสดงชื่อและคะแนนของผู้เล่น
  • รางวัลพิเศษ: ปลดล็อกรางวัลพิเศษและตรวจสอบว่าบันทึกรางวัลพิเศษอย่างถูกต้องและแสดงใน UI ของ Play Games
  • เกมที่บันทึกไว้: หากเกมใช้เกมที่บันทึกไว้ ให้ตรวจสอบว่าการบันทึกและโหลดความคืบหน้าของเกมทำงานได้อย่างราบรื่น ซึ่งสำคัญอย่างยิ่งในการทดสอบในอุปกรณ์หลายเครื่องและหลังการอัปเดตแอป

งานหลังการย้ายข้อมูล

ทําตามขั้นตอนต่อไปนี้หลังจากย้ายข้อมูลไปยัง SDK ของ Games v2

  1. ใช้ Play App Signing

  2. สร้างไฟล์ AAB

  3. สร้างรุ่นสำหรับการทดสอบภายใน

  4. ยืนยันข้อมูลเข้าสู่ระบบสำหรับการลงนามของแอป