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 (ปัจจุบัน)
games v1 (เดิม)
ภาพรวมคร่าวๆ ของคอมโพเนนต์และ 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 อย่าง ได้แก่
- ซึ่งจะช่วยให้เกมติดตามและอัปเดตความคืบหน้าสำหรับฟีเจอร์ Play Games (รางวัลพิเศษ ฯลฯ) ที่เชื่อมโยงกับผู้เล่นรายนั้นต่อไปได้
- ซึ่งจะเปิดใช้ฟังก์ชัน "การกู้คืนที่ราบรื่น" ทำให้เกมสามารถ บันทึกการเข้าสู่ระบบของผู้เล่นไปยัง 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 สำหรับการตรวจสอบสิทธิ์อัตโนมัติ และการจัดการข้อผิดพลาด |
ใช้ GamesSignInClientSDK จัดการโค้ด Boilerplate การตรวจสอบสิทธิ์อัตโนมัติ และการจัดการข้อผิดพลาด การ "ลงชื่อเข้าใช้" จะแยกออกเป็น 2 เลเยอร์ที่แตกต่างกัน ดังนี้
|
ป๊อปอัปต้อนรับ |
ต้องใช้โค้ดเพิ่มเติม นักพัฒนาแอปสามารถควบคุมตำแหน่งและเวลาได้ |
ไม่ต้องใช้โค้ดเพิ่มเติม ส่วนติดต่อผู้ใช้ที่สอดคล้องกันในเกมทั้งหมดที่กำหนดค่าด้วย SDK v2 ของ Games |
การขึ้นต่อกัน |
ต้องระบุ play-services-auth |
โมดูลเกมจะจัดการการให้สิทธิ์และการตรวจสอบสิทธิ์ คุณไม่จำเป็นต้อง เพิ่มการอ้างอิงใดๆ |
| ออกจากระบบ |
ใช้ GoogleSignInClient.signOut |
ไม่จำเป็นต้องใช้ API การออกจากระบบเนื่องจากบริการเกมของ Play v2 เป็นข้อมูลระบุตัวตนของแพลตฟอร์มแบบถาวร |
บัญชีบริการเกมของ Play หลายบัญชีและการตั้งค่าต่อเกม |
คุณจัดการบัญชีได้ภายในเกม |
ผู้ใช้สามารถเปลี่ยนโปรไฟล์บริการเกมของ Play ได้ในการตั้งค่าอุปกรณ์เคลื่อนที่ ดูข้อมูลเพิ่มเติมได้ที่ วิธีเปลี่ยนโปรไฟล์ Play Games บนอุปกรณ์เคลื่อนที่ |