API การเรียกคืน

Recall API ช่วยให้เกมใช้บริการเกมของ Play (PGS) ร่วมกับกลไกการลงชื่อเข้าใช้ที่มีอยู่ได้ เช่น Google Sign-In และซิงค์ข้อมูลการลงชื่อเข้าใช้ของผู้เล่นในอุปกรณ์ต่างๆ ได้อย่างราบรื่นเพื่อลดการเริ่มเลิกใช้งานและคงผู้ใช้ไว้ในช่วง D1 API จะจัดการการลิงก์ระหว่างบัญชีบริการเกมของ Play (PGS) ของผู้ใช้กับบัญชีในเกมของผู้ใช้โดยการจัดเก็บโทเค็นการเรียกคืนไว้กับเซิร์ฟเวอร์ของ Google ต่อไปนี้เป็นสถานการณ์ตัวอย่างว่าอาจมีการใช้ Recall API อย่างไร

  1. ผู้ใช้กำลังเล่นเกมที่นักพัฒนาซอฟต์แวร์มีระบบข้อมูลประจำตัวเพื่อติดตามความคืบหน้าของผู้ใช้ และใช้ PGS ควบคู่ไปกับวิธีการตรวจสอบสิทธิ์อื่นๆ เพื่อล็อกผู้ใช้เข้าสู่เกม ในตัวอย่างนี้ ผู้ใช้เข้าสู่ระบบบัญชี PGS อย่าง Laura และสร้างบัญชีในเกมโดยใช้ระบบข้อมูลประจำตัวของนักพัฒนาแอปชื่อ Racer94 เมื่อผู้ใช้เล่นเกม เซิร์ฟเวอร์เกมของนักพัฒนาซอฟต์แวร์จะซิงค์ความคืบหน้าของพวกเขา

    ผู้ใช้เข้าสู่ระบบด้วย PGS และบัญชีในเกม

  2. นักพัฒนาซอฟต์แวร์จะบันทึกโทเค็น Recall ไว้กับ Google แยกต่างหาก ซึ่งจะสอดคล้องกับบัญชีในเกมของผู้ใช้ Google จะจัดเก็บโทเค็นที่เรียกคืนไปยังโปรไฟล์ PGS ของผู้ใช้โดยอัตโนมัติ

    เซิร์ฟเวอร์เกมจัดเก็บโทเค็น Recall ด้วย
เซิร์ฟเวอร์ Google

  3. ตอนนี้ผู้ใช้ตัดสินใจเล่นเกมใน Google Play Games บน PC เป็นครั้งแรก ผู้ใช้ลงชื่อเข้าใช้ด้วยบัญชี PGS โดยอัตโนมัติ และไคลเอ็นต์เกมจะตรวจสอบเพื่อดูว่ามีความคืบหน้าสำหรับผู้ใช้ PGS รายนี้หรือไม่ จากนั้นเซิร์ฟเวอร์เกมจะสอบถาม Google เพื่อดูว่ามีโทเค็นสำหรับบัญชี PGS นี้หรือไม่ ในกรณีนี้ Google จะส่งโทเค็นการเรียกคืนกลับมา และเซิร์ฟเวอร์เกมจะใช้โทเค็นนั้นเพื่อค้นหาบัญชีที่เกี่ยวข้องกับผู้ใช้ Racer94 และกู้คืนความคืบหน้าของผู้ใช้ เนื่องจากการลงชื่อเข้าใช้ด้วย PGS เป็นประสบการณ์ที่ราบรื่น แอปจึงกู้คืนความคืบหน้าของผู้ใช้โดยที่ผู้ใช้ไม่ต้องป้อนชื่อผู้ใช้หรือรหัสผ่าน นอกจากนี้ นักพัฒนาซอฟต์แวร์จะใช้การลงชื่อเข้าใช้ PGS ด้วยระบบข้อมูลประจำตัวที่มีอยู่และใช้ Google ในการจัดเก็บลิงก์ระหว่างความคืบหน้าของผู้เล่นกับบัญชี PGS ได้

    เซิร์ฟเวอร์เกมจะคืนค่าความคืบหน้า
ด้วยโทเค็นเรียกคืน

จากตัวอย่างข้างต้น มีการดำเนินการหลักๆ ที่ Recall API อยู่ 2 รายการ ได้แก่

  • การจัดเก็บโทเค็นกับ Google เมื่อผู้ใช้เข้าสู่ระบบด้วยบัญชีในเกม
  • การดึงข้อมูลโทเค็นสำหรับผู้ใช้เพื่อกู้คืนบัญชีในเกม

นอกเหนือจากโทเค็น Recall แล้ว Recall API ยังต้องใช้ตัวระบุแบบคงที่ที่สอดคล้องกับบัญชีในเกมหรือที่เรียกว่า persona เพื่อบังคับใช้ข้อจํากัดด้าน Cardinality คุณอาจมองว่าลักษณะตัวตนเป็นป้ายกำกับที่แสดงถึงบัญชีในเกมของผู้ใช้ในระบบตัวตนของนักพัฒนาซอฟต์แวร์ และโทเค็น Recall เป็นคีย์ที่ใช้ในการกู้คืนบัญชีในเกมของผู้ใช้ไปยังเกม ต้องไม่นำค่าลักษณะตัวตนและโทเค็นมาใช้ซ้ำในโปรเจ็กต์ PGS ที่แตกต่างกัน นอกจากนี้ แม้ว่าโทเค็น Recall อาจเปลี่ยนแปลงเมื่อเวลาผ่านไป แต่ลักษณะตัวตนควรคงที่ตามบัญชีในเกมของผู้ใช้

กฎ Cardinality

Recall API บังคับใช้ความสัมพันธ์แบบ 1:1 ระหว่างโปรไฟล์ PGS กับบัญชีในเกม (หรือที่เรียกว่ากฎ Cardinality) ซึ่งจะลิงก์กับโปรไฟล์ PGS ได้ 1 โปรไฟล์เท่านั้น และโปรไฟล์ PGS 1 รายการจะลิงก์กับตัวตนได้เพียง 1 โปรไฟล์เท่านั้น ระบบจะใช้ลักษณะตัวตนเป็นตัวระบุแบบคงที่สำหรับบัญชีในเกม เนื่องจากโทเค็น Recall อาจเปลี่ยนแปลงเมื่อเวลาผ่านไป

ลักษณะตัวตนที่ลิงก์กับโปรไฟล์ PGS อาจเปลี่ยนแปลงได้ด้วยเมื่อเวลาผ่านไป (เนื่องจากบัญชีอื่นๆ ในเกมลิงก์กับโปรไฟล์ PGS)

ขั้นตอนทางเทคนิคโดยละเอียดสำหรับการจัดเก็บและเรียกโทเค็น Recall

ส่วนนี้ครอบคลุมขั้นตอนทางเทคนิคระหว่างไคลเอ็นต์เกม เซิร์ฟเวอร์เกม และเซิร์ฟเวอร์ของ Google เมื่อจัดเก็บและเรียกโทเค็น Recall

ขั้นตอนที่ 1: ลงชื่อเข้าใช้ผู้ใช้ PGS และดึงรหัสเซสชัน

เกมจะเริ่มต้น PGS SDK และพยายามลงชื่อเข้าใช้ให้ผู้ใช้ด้วย PGS

ผู้ใช้ลงชื่อเข้าใช้ด้วย PGS

สมมติว่าผู้ใช้ลงชื่อเข้าใช้แล้ว ให้ขอรหัสเซสชันจาก Games SDK ในไคลเอ็นต์เกม แล้วขอโทเค็น OAuth 2.0 จากแบ็กเอนด์ OAuth ของ Google รหัสเซสชันและโทเค็น OAuth 2.0 จะใช้ในการสื่อสารกับแบ็กเอนด์ของ Google Games

นักพัฒนาซอฟต์แวร์ขอรหัสเซสชัน

ขั้นตอนที่ 2: ดึงข้อมูลโทเค็น Recall ที่ใช้ได้

ขอโทเค็น Recall ที่เชื่อมโยงกับบัญชีผู้ใช้ PGS หากมีโทเค็น ให้ดำเนินการต่อในขั้นตอนที่ 3ก และกู้คืนความคืบหน้า หากผู้ใช้เป็นผู้ใช้ใหม่และไม่มีโทเค็นอยู่ ให้ดำเนินการต่อในขั้นตอนที่ 3ข และจัดเก็บโทเค็นใหม่

นักพัฒนาซอฟต์แวร์ได้
โทเค็น Recall

ขั้นตอนที่ 3ก: หากมีโทเค็น ให้กู้คืนความคืบหน้า

หากมีโทเค็น ให้เรียกและถอดรหัสโทเค็น ตลอดจนกู้คืนข้อมูลผู้ใช้

นักพัฒนาซอฟต์แวร์จะคืนค่าข้อมูล
จากโทเค็น Recall

ขั้นตอนที่ 3ข: หากไม่มีโทเค็น ให้จัดเก็บโทเค็น

เนื่องจากไม่มีโทเค็น ระบบจึงกู้คืนความคืบหน้าไม่ได้ ผู้ใช้จะลงชื่อเข้าใช้ด้วยระบบข้อมูลประจำตัวของนักพัฒนาซอฟต์แวร์ หรือสร้างบัญชีใหม่หากยังไม่มี

ผู้ใช้ลงชื่อเข้าใช้ด้วยบัญชีในเกม

สร้างโทเค็น Recall ที่เข้ารหัสซึ่งจะเข้ารหัสบัญชีในเกมของผู้ใช้ แล้วส่งไปยัง Google พร้อมรหัสเซสชันและโทเค็น OAuth 2.0 ณ จุดนี้ Google จะสร้างการเชื่อมโยงระหว่างโทเค็น Recall ที่ส่งไปแล้วและบัญชี PGS ของผู้เล่น

โทเค็น Recall ของนักพัฒนาแอป Store

ขั้นตอนถัดไป

หากต้องการผสานรวม Recall API กับไคลเอ็นต์และเซิร์ฟเวอร์เกม ให้ทำตามคู่มือการใช้งานนี้