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

เอกสารนี้อธิบายวิธีย้ายข้อมูลเกมที่มีอยู่จาก 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

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

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

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

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

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

  4. ใน Unity Hub ให้คลิกFile > Build Settings > Player Settings > Other Settings

  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 เกม v2

  1. ใช้ Play App Signing

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

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

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