ภาพรวมการย้ายข้อมูล

SDK v1 ของบริการเกมของ Google Play และเกมอาศัย Google Sign-In สำหรับ Android ซึ่งเลิกใช้งานแล้วและจะถูกนำออกจาก SDK การตรวจสอบสิทธิ์ของบริการ Google Play (com.google.android.gms:play-services-auth) ในปี 2025 แอปเกมใหม่จะใช้ SDK v1 ของเกมได้จนถึงปี 2025 การนำ Google Sign-In ออกจะทำให้เกิดปัญหาเกี่ยวกับทรัพยากร Dependency สำหรับแอปเกมที่มีอยู่ การย้ายข้อมูลแอปเกมที่มีอยู่จาก SDK v1 ของเกมไปยัง SDK v2 ของเกมจะช่วยแก้ปัญหาเกี่ยวกับทรัพยากร Dependency ที่เกิดจากการนำ Google Sign-In ออก

การย้ายข้อมูลจากบริการเกมของ Google Play เวอร์ชัน 1 ไปยังเวอร์ชัน 2 เป็นการอัปเดตที่สำคัญซึ่งจะช่วยลดความซับซ้อนในการพัฒนาและรองรับการเล่นเกมข้ามแพลตฟอร์ม บริการเกมของ Google Play v2 จะแยก ข้อมูลระบุตัวตนของแพลตฟอร์มและในเกม โดยทำหน้าที่เป็นระบบข้อมูลระบุตัวตนระดับแพลตฟอร์มที่ ตรวจสอบสิทธิ์ผู้เล่นโดยอัตโนมัติเมื่อเปิดตัว ตอนนี้ข้อมูลประจำตัวของแพลตฟอร์มแยกจากระบบบัญชีหลักในเกมแล้ว ซึ่งคุณต้องจัดการแยกกันโดยใช้เครื่องมือต่างๆ เช่น ลงชื่อเข้าใช้ด้วย Google หรือแบ็กเอนด์ที่เป็นกรรมสิทธิ์ การผสานรวม SDK บริการเกมของ Play v2 ใช้รหัสผู้เล่นสำหรับ ฟีเจอร์แพลตฟอร์ม เช่น ความสำเร็จและลีดเดอร์บอร์ด โดยไม่เปลี่ยนแปลงขั้นตอนการเริ่มต้นใช้งานหรือการเข้าสู่ระบบที่มีอยู่

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

การโต้ตอบของ SDK

แผนภาพแสดงการโต้ตอบระหว่างแอปพลิเคชันเกมใน Android, บริการของ Google Mobile Services (GMS) Core, บริการเกมของ Play และเซิร์ฟเวอร์เกมของบุคคลที่สาม (3P) โดยจะเน้นวิธีที่แอปพลิเคชันใช้บริการของ Google สำหรับการตรวจสอบสิทธิ์และฟีเจอร์เกม ขณะเดียวกันก็โต้ตอบกับระบบของบุคคลที่สามที่แยกต่างหากด้วย

เกม v2 (ปัจจุบัน)

การโต้ตอบระหว่างแอปพลิเคชันเกมใน
    Android, GMS Core, บริการเกมของ Play
    และเซิร์ฟเวอร์เกมของบุคคลที่สาม (3P)
การโต้ตอบระหว่างแอปพลิเคชันเกมใน Android, GMS Core, บริการเกมของ Play และเซิร์ฟเวอร์เกมของบุคคลที่สาม (3P) (คลิกเพื่อขยาย)

games v1 (เดิม)

การโต้ตอบระหว่างแอปพลิเคชันเกมใน
    Android, GMS Core, บริการเกมของ Play
    และเซิร์ฟเวอร์เกมของบุคคลที่สาม (3P)
การโต้ตอบระหว่างแอปพลิเคชันเกมใน Android, GMS Core, บริการเกมของ Play และเซิร์ฟเวอร์เกมของบุคคลที่สาม (3P) (คลิกเพื่อขยาย)

ภาพรวมคร่าวๆ ของคอมโพเนนต์และ SDK มีดังนี้

  • แอปพลิเคชันเกม
    • ซึ่งแสดงถึงแอปพลิเคชันเกมของผู้ใช้ที่ทำงานบนอุปกรณ์ที่ใช้ Android
    • ซึ่งประกอบด้วยองค์ประกอบหลัก 2 อย่าง ได้แก่
      • SDK ของเกม v1 หรือเกม v2 SDK ฝั่งไคลเอ็นต์ ที่รับผิดชอบในการโต้ตอบกับบริการเกมของ Play
      • SDK การตรวจสอบสิทธิ์ SDK การตรวจสอบสิทธิ์ของบริการ Google Play มีหน้าที่จัดการ ขั้นตอนการตรวจสอบสิทธิ์และการให้สิทธิ์ของผู้ใช้ในเกม v1
    • ทั้ง 2 SDK สื่อสารกันโดยใช้ AIDL (Android Interface Definition Language) ซึ่งบ่งบอกรูปแบบการสื่อสารระหว่างกระบวนการหรือบริการต่างๆ
  • GMS Core เรียกอีกอย่างว่าบริการ Google Play
    • นี่คือเลเยอร์ที่เป็นกรรมสิทธิ์ของ Google ใน Android
    • แอปพลิเคชันเกมใช้โมดูล GMS Core 2 โมดูล ได้แก่
      • โมดูลเกมมีฟีเจอร์เฉพาะเกม เช่น ลีดเดอร์บอร์ด รางวัลพิเศษ และการจัดการสถานะเกม
      • Auth Module จัดการการตรวจสอบสิทธิ์ผู้ใช้และ การดำเนินการให้สิทธิ์
    • SDK เกมและ SDK การตรวจสอบสิทธิ์ในแอปพลิเคชันเกมจะสื่อสารกับโมดูลที่เกี่ยวข้องโดยใช้ AIDL อินเทอร์เฟซ ซึ่งบ่งบอกถึงการสื่อสารระหว่างกระบวนการ (IPC)

  • เกตเวย์บริการเกมของ Play
    • เกตเวย์เชิงตรรกะที่ทำหน้าที่เป็นตัวกลางในการสื่อสารระหว่าง GMS Core กับ เซิร์ฟเวอร์บริการเกมของ Play
    • จัดการคำขอ API, การแปลงข้อมูล และการตรวจสอบสิทธิ์สำหรับการสื่อสารกับเซิร์ฟเวอร์
  • เซิร์ฟเวอร์บริการเกมของ Play
    • แสดงถึงบริการแบ็กเอนด์ของบริการเกมของ Play ที่รับผิดชอบในการจัดเก็บข้อมูลเกม การจัดการบัญชีผู้ใช้ และการอำนวยความสะดวกในการใช้ฟีเจอร์ผู้เล่นหลายคน
  • เกตเวย์เกมของบุคคลที่สาม
    • หากแอปพลิเคชันเกมของคุณมีคุณสมบัติเป็นแอปพลิเคชันของบุคคลที่สาม (3P) ไลบรารีของไคลเอ็นต์จะสื่อสารกับเซิร์ฟเวอร์บริการเกมของ Play ผ่านเซิร์ฟเวอร์เกมของบุคคลที่สาม
    • หมายความว่าแอปพลิเคชันยังสามารถตรวจสอบสิทธิ์กับผู้ให้บริการรายอื่นได้ด้วย
  • เซิร์ฟเวอร์เกมของบุคคลที่สาม
    • แสดงเซิร์ฟเวอร์ภายนอกที่ไม่บังคับซึ่งแอปพลิเคชันเกมสามารถโต้ตอบด้วย ซึ่งมักใช้สำหรับฟีเจอร์ที่กำหนดเองหรือการจัดการข้อมูล
    • การสื่อสารกับแอปพลิเคชันจะเกิดขึ้นผ่านเกตเวย์เกมของบุคคลที่สาม

เหตุผลที่ควรย้ายข้อมูลเกมไปยังบริการเกมของ Play เวอร์ชัน 2

การเปลี่ยนจากบริการเกมของ Play เวอร์ชัน 1 เป็นเวอร์ชัน 2 เป็นการปรับปรุงสถาปัตยกรรมครั้งใหญ่ ที่ช่วยลดความซับซ้อนในการพัฒนาและรองรับการเล่นเกมข้ามแพลตฟอร์ม

บริการเกมของ Play เวอร์ชัน 2 จะแยกข้อมูลระบุตัวตนในแพลตฟอร์มและในเกมออกจากกัน ซึ่งต่างจากเวอร์ชัน 1 ที่ทำหน้าที่เป็นระบบข้อมูลระบุตัวตนในเกมหลัก โดยจะทำหน้าที่เป็นระบบข้อมูลระบุตัวตน ระดับแพลตฟอร์มที่ตรวจสอบสิทธิ์ผู้เล่นโดยอัตโนมัติเมื่อเปิดเกมเพื่อจัดการฟีเจอร์ต่างๆ เช่น รางวัลพิเศษและลีดเดอร์บอร์ด

ตอนนี้คุณต้องจัดการระบบบัญชีหลักในเกมของเกมด้วยตนเอง โดยใช้เครื่องมือต่างๆ เช่น ลงชื่อเข้าใช้ด้วย Google หรือแบ็กเอนด์ที่เป็นกรรมสิทธิ์ SDK บริการเกมของ Play v2 ช่วยให้เกมใช้ รหัสผู้เล่นบริการเกมของ Play เพื่อเข้าถึงฟีเจอร์ของแพลตฟอร์มได้โดยไม่ต้องเปลี่ยน ขั้นตอนการเริ่มต้นใช้งานหรือขั้นตอนการเข้าสู่ระบบที่มีอยู่ เอกสารนี้จะแนะนำคุณตลอดการย้ายข้อมูล โดยครอบคลุมหลักการด้านสถาปัตยกรรม เส้นทาง และกลยุทธ์การสื่อสารกับผู้เล่น การปฏิบัติตามข้อกำหนดเป็นสิ่งสำคัญอย่างยิ่งต่อการรักษาผู้เล่นไว้ เนื่องจากไทม์ไลน์การเลิกใช้งานอย่างเป็นทางการ

เปรียบเทียบการตรวจสอบสิทธิ์ของแพลตฟอร์มกับการตรวจสอบสิทธิ์ในเกม

ในบริการเกมของ Play เวอร์ชัน 2 แนวคิดเรื่อง "การเข้าสู่ระบบ" จะแยกออกเป็น 2 เลเยอร์ที่แตกต่างกัน ดังนี้

  • ข้อมูลระบุตัวตนของแพลตฟอร์ม SDK จัดการการตรวจสอบสิทธิ์แพลตฟอร์ม
  • ข้อมูลระบุตัวตนในเกม

การตรวจสอบสิทธิ์แพลตฟอร์ม

บริการเกมของ Play ทำหน้าที่เป็นเลเยอร์การมีส่วนร่วมของแพลตฟอร์มเท่านั้น โดยจะจัดการความสัมพันธ์ของผู้เล่นกับระบบนิเวศของ Google Play Games (รางวัลพิเศษ ลีดเดอร์บอร์ด และกิจกรรม) แทนที่จะเป็นการตรวจสอบสิทธิ์เข้าสู่บัญชีหรือสินค้าคงคลังของเกมที่เฉพาะเจาะจง

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

การตรวจสอบสิทธิ์ในเกม

นักพัฒนาแอปมีหน้าที่รับผิดชอบในการจัดการ "บัญชีในเกม" (IGA) ซึ่งเป็น ระบบข้อมูลประจำตัวที่เชื่อมโยงความคืบหน้า สินค้าคงคลัง และสกุลเงินของผู้เล่นภายใน เกมของคุณ

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

ข้อกำหนดในการย้ายข้อมูล: ผูกบัญชีในเกมกับ Google Open ID แทนรหัสผู้เล่นของบริการเกมของ Play

ในบริการเกมของ Play เวอร์ชัน 1 นักพัฒนาแอปใช้บริการเกมของ Play เป็นผู้ให้บริการข้อมูลประจำตัวหลัก ปุ่ม "Google Play" จะลิงก์บัญชีในเกม (IGA) ของผู้เล่นกับ Player ID โดยตรง

บริการเกมของ Play v2 เปลี่ยนแปลงสิ่งนี้ด้วยการให้การตรวจสอบสิทธิ์ แพลตฟอร์มโดยอัตโนมัติแบบเงียบเมื่อเปิดตัว ตอนนี้ระบบจะใช้ Player ID ที่ได้มาสำหรับฟีเจอร์ของแพลตฟอร์ม เช่น ลีดเดอร์บอร์ดและรางวัลพิเศษ โดยแยกจากการเข้าสู่ระบบบัญชีหลัก

ตอนนี้เกมต้องจัดการข้อมูลประจำตัวหลักด้วยตนเองผ่านหน้าจอ เข้าสู่ระบบเฉพาะที่เสนอวิธีการต่างๆ เช่น "ลงชื่อเข้าใช้ด้วย Google" (SiWG) หรือบัญชีโซเชียลอื่นๆ สิ่งสำคัญคือต้องไม่ใช้บริการเกมของ Play v2 เป็นระบบ ข้อมูลประจำตัวหลัก

การเปลี่ยนแปลงสถาปัตยกรรมนี้ต้องมีการเปลี่ยนแปลงที่สอดคล้องกันในวิธีที่นักพัฒนาแอป จัดโครงสร้างข้อมูลบัญชี บัญชีในเกม (IGA) ต้องยกเลิกการเชื่อมต่อกับ การผูกกับ Player ID เป็นหลัก

แต่ตอนนี้ IGA ต้องเชื่อมโยงกับตัวระบุหลักที่เสถียรซึ่งไม่ขึ้นกับบริการเกมของ Play ตัวระบุที่แนะนำคือ Open ID ที่ได้จากขั้นตอนการลงชื่อเข้าใช้ด้วย Google (SiWG) Open ID นี้ทำหน้าที่เป็นคีย์ที่ไม่ซ้ำกันและคงอยู่สำหรับบัญชีหลักของผู้เล่นภายในระบบของคุณ

อย่างไรก็ตาม คุณยังคงลิงก์ IGA กับ Player ID เป็นการเชื่อมโยงรองได้ ลิงก์รองนี้มีฟังก์ชันสำคัญ 2 อย่าง ได้แก่

  1. ซึ่งจะช่วยให้เกมติดตามและอัปเดตความคืบหน้าสำหรับฟีเจอร์ Play Games (รางวัลพิเศษ ฯลฯ) ที่เชื่อมโยงกับผู้เล่นรายนั้นต่อไปได้
  2. ซึ่งจะเปิดใช้ฟังก์ชัน "การกู้คืนที่ราบรื่น" ทำให้เกมสามารถ บันทึกการเข้าสู่ระบบของผู้เล่นไปยัง IGA ที่ใช้ล่าสุดโดยอัตโนมัติในอุปกรณ์ใหม่เท่านั้น หรือหลังจากติดตั้งใหม่

การทำความเข้าใจโมเดลข้อมูลประจำตัวที่แยกออกจากกันนี้เป็นกุญแจสำคัญในการปลดล็อกเส้นทางการย้ายข้อมูลทางเทคนิคที่ถูกต้องสำหรับเกมของคุณ

การเปรียบเทียบฟีเจอร์

ตารางนี้แสดงการเปรียบเทียบฟีเจอร์ระหว่าง SDK ของเกม v1 และเกม v2


ฟีเจอร์

SDK เกม v1

SDK ของเกม v2

การตรวจสอบสิทธิ์

ต้องผสานรวมกับ play-services-auth

เรียบง่ายและมีประสิทธิภาพ ไม่ต้องใช้play-services-auth

การให้สิทธิ์

รหัสเพิ่มเติมสำหรับความสำเร็จ ความล้มเหลว และการลองใหม่

จัดการโดย SDK

โทเค็นเพื่อการเข้าถึงเซิร์ฟเวอร์

ขอ ขอบเขต OAuth 2.0 เพิ่มเติมได้ด้วย GoogleSigninClient

โค้ดเพิ่มเติมสำหรับการจัดการข้อผิดพลาดระหว่างการตรวจสอบสิทธิ์

ขอขอบเขตข้อมูลประจำตัว OAuth 2.0 พื้นฐาน 3 รายการได้ด้วย GamesSignInClient เมื่อ ขอสิทธิ์เข้าถึงฝั่งเซิร์ฟเวอร์ไปยัง Web API ของบริการเกมของ Play

ดูข้อมูลเพิ่มเติมได้ที่ การเข้าถึงบริการเกมของ Play ทางฝั่งเซิร์ฟเวอร์และ ดึงรหัสการตรวจสอบสิทธิ์ของเซิร์ฟเวอร์


ขั้นตอนการลงชื่อเข้าใช้

ใช้ GoogleSigninClient

โค้ดเพิ่มเติมสำหรับการจัดการโค้ด Boilerplate สำหรับการตรวจสอบสิทธิ์อัตโนมัติ และการจัดการข้อผิดพลาด

ใช้ GamesSignInClient

SDK จัดการโค้ด Boilerplate การตรวจสอบสิทธิ์อัตโนมัติ และการจัดการข้อผิดพลาด การ "ลงชื่อเข้าใช้" จะแยกออกเป็น 2 เลเยอร์ที่แตกต่างกัน ดังนี้
  • การตรวจสอบสิทธิ์แพลตฟอร์ม: จัดการโดย SDK บริการเกมของ Play เวอร์ชัน 2
  • การตรวจสอบสิทธิ์ในเกม: จัดการโดยเกม

ป๊อปอัปต้อนรับ

ต้องใช้โค้ดเพิ่มเติม
นักพัฒนาแอปสามารถควบคุมตำแหน่งและเวลาได้

ไม่ต้องใช้โค้ดเพิ่มเติม ส่วนติดต่อผู้ใช้ที่สอดคล้องกันในเกมทั้งหมดที่กำหนดค่าด้วย SDK v2 ของ Games

การขึ้นต่อกัน

ต้องระบุ play-services-auth

โมดูลเกมจะจัดการการให้สิทธิ์และการตรวจสอบสิทธิ์ คุณไม่จำเป็นต้อง เพิ่มการอ้างอิงใดๆ
ออกจากระบบ

ใช้ GoogleSignInClient.signOut

ไม่จำเป็นต้องใช้ API การออกจากระบบเนื่องจากบริการเกมของ Play v2 เป็นข้อมูลระบุตัวตนของแพลตฟอร์มแบบถาวร

บัญชีบริการเกมของ Play หลายบัญชีและการตั้งค่าต่อเกม

คุณจัดการบัญชีได้ภายในเกม

ผู้ใช้สามารถเปลี่ยนโปรไฟล์บริการเกมของ Play ได้ในการตั้งค่าอุปกรณ์เคลื่อนที่ ดูข้อมูลเพิ่มเติมได้ที่ วิธีเปลี่ยนโปรไฟล์ Play Games บนอุปกรณ์เคลื่อนที่