ใช้การตรวจสอบสิทธิ์บริการเกมของ Google Play เพื่อเพิ่มประสิทธิภาพประสบการณ์การตรวจสอบสิทธิ์แพลตฟอร์มของผู้ใช้สำหรับเกมของคุณ เริ่มต้น SDK ของบริการ Google Play Games เพื่อทริกเกอร์ การตรวจสอบสิทธิ์ ซึ่งจะช่วยลดความจำเป็นในการใช้ขั้นตอนการตรวจสอบสิทธิ์ของแพลตฟอร์มแยกต่างหาก
ลิงก์บัญชีผู้ใช้เพื่อเปิดใช้ความต่อเนื่องและการเล่นข้ามอุปกรณ์
ผู้เล่นมีส่วนร่วมกับเกมโปรดในอุปกรณ์และแพลตฟอร์มต่างๆ รวมถึงอุปกรณ์เคลื่อนที่ แท็บเล็ต และ PC ความคาดหวังหลักของผู้เล่นเหล่านี้คือความสามารถในการเล่นเกมต่อได้อย่างราบรื่นจากจุดที่หยุดเล่นไว้ ไม่ว่าผู้เล่นจะเลือกใช้อุปกรณ์ใดก็ตาม
อุปสรรคสำคัญที่มักทำให้ผู้ใช้เลิกใช้งานคือ การกำหนดให้ลงชื่อเข้าใช้แยกกันในอุปกรณ์ใหม่แต่ละเครื่อง ผู้ใช้ต้องการดื่มด่ำกับประสบการณ์การเล่นเกมทันทีโดยไม่มีการขัดจังหวะที่ไม่จำเป็น
คุณต้องใช้ฟีเจอร์สำคัญ 2 อย่างต่อไปนี้เพื่อให้เล่นได้อย่างต่อเนื่องและเล่นข้ามอุปกรณ์ได้อย่างราบรื่น
- การลิงก์บัญชี
- บันทึกไว้ในระบบคลาวด์
กระบวนการตรวจสอบสิทธิ์บริการเกมของ Play มีตัวเลือกที่ยืดหยุ่น สำหรับตัวระบุผู้เล่น ตัวเลือกเหล่านี้ช่วยให้คุณผสานรวม บริการเกมของ Play เข้ากับโซลูชันการระบุตัวตนที่มีอยู่ของคุณเองได้
การผสานรวมบริการเกมของ Play ใหม่
สำหรับเกมที่ไม่มีการผสานรวมบริการเกมของ Play อยู่แล้ว Recall API จะช่วยลดความซับซ้อนในการตั้งค่าแบ็กเอนด์ด้วยการจัดการการเชื่อมโยงบัญชีและจัดเก็บ การเชื่อมต่อระหว่างบัญชีเกมของผู้ใช้กับบัญชี บริการเกมของ Play
การลิงก์บัญชีโดยใช้ Recall API
Recall API เป็นโซลูชันที่แนะนำสำหรับการลิงก์บัญชีผู้ใช้ ในเกมข้ามแพลตฟอร์ม API นี้มีประโยชน์อย่างยิ่งสำหรับเกมที่ไม่มีการผสานรวมบริการเกมของ Play หรือเกมที่ใช้โซลูชันการตรวจสอบสิทธิ์แพลตฟอร์มเพิ่มเติมนอกเหนือจากบริการเกมของ Play
Recall API ช่วยให้การตั้งค่าแบ็กเอนด์ของเกมง่ายขึ้นด้วยการจัดการการเชื่อมโยงบัญชี
- แบ็กเอนด์ที่เรียบง่าย: API จะเพิ่มประสิทธิภาพการตั้งค่าแบ็กเอนด์ของเกมสำหรับการ ลิงก์บัญชี
- การเชื่อมโยงที่ Play จัดการ: Play จะจัดเก็บการเชื่อมโยงระหว่างบัญชีเกมของผู้ใช้ (รวมถึงบัญชีของบุคคลที่สาม) กับบัญชีบริการเกมของ Play
- การกู้คืนความคืบหน้า: นักพัฒนาแอปสร้างและส่งโทเค็น Recall ไปยัง Play ซึ่งจะสามารถดึงข้อมูลเพื่อกู้คืนความคืบหน้าของเกมของผู้ใช้ได้
เมื่อใช้ Recall API นักพัฒนาแอปต้องยืนยันว่าโทเค็นการเรียกคืนเป็นสตริงทึบแสง โทเค็นเหล่านี้ต้องไม่มีข้อมูลที่ละเอียดอ่อนหรือข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ (เช่น ชื่อ อีเมล หรือข้อมูลประชากร) เกี่ยวกับเกมเมอร์
เกมต้องใช้อัลกอริทึมการเข้ารหัสที่แข็งแกร่งเมื่อสร้างโทเค็นการเรียกคืนเพื่อปกป้องข้อมูลผู้ใช้และรักษาความปลอดภัย
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของฟีเจอร์เรียกคืนได้ที่ Recall API
หากต้องการใช้ฟีเจอร์ Recall API โปรดดูผสานรวม Recall API ของบริการเกมของ Play ภายในเกม
จัดการหลายบัญชีด้วย Recall API
เมื่อจัดการหลายบัญชีสำหรับผู้ใช้รายเดียวกัน คุณสามารถถือว่าแต่ละบัญชีเป็น ตัวตนที่แตกต่างกันได้ แนวทางนี้ช่วยให้มอบประสบการณ์ที่ปรับแต่งตามบริบทเฉพาะของผู้ใช้ได้
หากต้องการใช้วิธีนี้ ให้ทำตามขั้นตอนต่อไปนี้
- สร้างโทเค็นที่ไม่ซ้ำกันสำหรับแต่ละเพอร์โซนา ดูการตั้งค่าไคลเอ็นต์เกม
- ลิงก์โทเค็นเหล่านี้กับบัญชีบริการเกมของ Play โดยใช้ Recall API ดูโทเค็นร้านค้า
- กำหนดนโยบายการแก้ไขสำหรับสถานการณ์ที่บัญชีบริการเกมของ Google Play ลิงก์กับตัวตนหลายตัว ดูโทเค็นการเรียกคืนล่าสุดในเกมทั้งหมดที่บัญชีนักพัฒนาซอฟต์แวร์เป็นเจ้าของ
แม้ว่าจะมีตัวเลือกนโยบายต่างๆ (เช่น การกู้คืนบัญชีล่าสุดโดยอัตโนมัติ) แต่เราขอแนะนำให้แสดง ข้อความแจ้งต่อผู้ใช้ ข้อความนี้ควรขอให้ผู้ใช้เลือกบัญชีที่ต้องการกู้คืน เพื่อมอบประสบการณ์ที่ชัดเจนและเป็นมิตรต่อผู้ใช้
การผสานรวมบริการเกมของ Play ที่มีอยู่
ส่วนนี้อธิบายวิธีผสานรวมเกมกับบริการเกมของ Play โดยการ เชื่อมโยงบัญชีผู้เล่น ดูวิธีใช้รหัสผู้เล่นเพื่อระบุผู้เล่นที่ผ่านการตรวจสอบสิทธิ์ และจัดการบัญชีเกมหลายบัญชีสำหรับผู้ใช้บริการเกมของ Play รายเดียว
ผูกกับ Player_id
รหัสผู้เล่นคือตัวระบุสำหรับบัญชีผู้เล่นของบริการเกมของ Google Play เกมของคุณสามารถดึงข้อมูลรหัสผู้เล่นสำหรับผู้เล่นที่ได้รับการตรวจสอบสิทธิ์ในเกม โดยใช้บริการเกมของ Play
เกมที่มีการตั้งค่าแบ็กเอนด์ด้วยบริการเกมของ Play Player_Id หรือ
เกมที่ต้องรองรับผู้ใช้ที่เป็นเด็กควรใช้ Player_Id และเชื่อมโยง
บัญชีเกมและบัญชีบุคคลที่สามกับ Player_Id
ทำความเข้าใจลักษณะการทำงานของรหัสผู้เล่น
- สอดคล้องกันภายในเกม: รหัสผู้เล่นจะยังคงสอดคล้องกันสำหรับผู้ใช้ ในอุปกรณ์หลายเครื่องเมื่อเล่นเกมเดียวกัน
- ไม่สอดคล้องกันระหว่างเกม: รหัสผู้เล่นอาจไม่สอดคล้องกันเสมอเมื่อผู้ใช้เล่นเกมต่างๆ
ดูข้อมูลเพิ่มเติมได้ที่รหัสผู้เล่นรุ่นใหม่
จัดการหลายบัญชีต่อผู้ใช้ 1 รายด้วยการเชื่อมโยง
หากต้องการลิงก์บัญชีผู้ใช้หลายบัญชีกับบัญชีบริการเกม Play บัญชีเดียว ให้สร้างการแมปแบบหนึ่งต่อหลายรายการในตาราง
ข้อมูลประจำตัวของ Google แบบข้ามแพลตฟอร์มโดยใช้ฟีเจอร์ลงชื่อเข้าใช้ด้วย Google
ลงชื่อเข้าใช้ด้วย Google (SiwG) คือโซลูชันด้านข้อมูลประจำตัวหลักของ Google ที่ช่วยให้นักพัฒนาเกมรับข้อมูลโปรไฟล์ของผู้เล่นได้อย่างปลอดภัย ซึ่งได้แก่ ชื่อ อีเมล และรูปโปรไฟล์
ข้อดีที่สำคัญของการลงชื่อเข้าใช้ด้วย Google คือความพร้อมใช้งานในแพลตฟอร์มต่างๆ อย่างกว้างขวาง ซึ่งรวมถึงเว็บ, Android และ iOS โดยมอบประสบการณ์การลงชื่อเข้าใช้ที่รวดเร็ว ปลอดภัย และคุ้นเคย ซึ่งผู้เล่นรู้จักและไว้วางใจอยู่แล้ว
เชื่อมโยงกับฟิลด์ sub ของโทเค็นรหัส Google
หากต้องการสร้างประสบการณ์การใช้งานข้ามแพลตฟอร์มที่ราบรื่น คุณสามารถใช้ กลยุทธ์การตรวจสอบสิทธิ์ที่ลิงก์ระบบบัญชีของเกมกับตัวระบุบัญชี Google ที่ไม่ซ้ำกัน แนวทางนี้ใช้ประโยชน์จากการตรวจสอบสิทธิ์บริการเกมของ Play ที่มีประสิทธิภาพใน Android ขณะที่ใช้ SDK การลงชื่อเข้าใช้ด้วย Google มาตรฐานในแพลตฟอร์มอื่นๆ เช่น iOS และเว็บ
หัวใจสำคัญของกลยุทธ์นี้คือฟิลด์ sub จากโทเค็นรหัสของ Google ฟิลด์
sub (หรือ "เรื่อง") คือตัวระบุที่ไม่ซ้ำกันและถาวรสำหรับบัญชีของผู้ใช้ Google
คุณจะใช้รหัสนี้เป็น "สะพาน" เพื่อลิงก์เซสชันทั้งหมดของผู้เล่น
กับบัญชีเกมเดียวในแบ็กเอนด์
ขั้นตอนการทำงานระดับสูงมีดังนี้
- ใน Android: เกมจะเริ่มต้น SDK ของบริการเกม Play
เพื่อทริกเกอร์การตรวจสอบสิทธิ์โดยอัตโนมัติในอุปกรณ์ Android คุณ
กำหนดค่าการผสานรวมบริการเกม Play เวอร์ชัน 2 เพื่อขอ
ขอบเขตการลงชื่อเข้าใช้ 3 รายการ ได้แก่
email,profileและopenidซึ่งเป็นขอบเขตเดียวกันกับที่ SDK มาตรฐานสำหรับการลงชื่อเข้าใช้ด้วย Google ร้องขอ ซึ่งจะช่วยให้คุณ เรียกโทเค็นรหัสที่มีฟิลด์subของผู้เล่นได้ - ในเว็บและ iOS: เกมของคุณใช้ SDK มาตรฐาน
ลงชื่อเข้าใช้ด้วย Google สำหรับเว็บ การลงชื่อเข้าใช้ด้วย Google สำหรับ iOS และ macOS
เมื่อผู้ใช้ลงชื่อเข้าใช้ SiwG SDK จะให้โทเค็นรหัสที่มีฟิลด์
subของผู้ใช้ด้วย - การเชื่อมโยงบัญชี: เนื่องจากผู้ใช้ลงชื่อเข้าใช้ด้วยบัญชี Google เดียวกันในทั้ง 2 แพลตฟอร์ม ฟิลด์
subที่คุณได้รับจึงจะเหมือนกัน จากนั้นคุณจะเชื่อมโยงค่าsubนี้กับรหัสผู้ใช้ภายในในโซลูชันข้อมูลประจำตัวได้อย่างมั่นใจ ซึ่งจะช่วยสร้างประสบการณ์ของผู้ใช้ที่เป็นหนึ่งเดียว
การผสานรวมใน Android
ใน Android คุณจะใช้ SDK บริการเกมของ Google Play เป็นจุดผสานรวมหลัก
สิ่งสำคัญคือการกำหนดค่าไคลเอ็นต์การลงชื่อเข้าใช้บริการเกมของ Google Play เพื่อขอ
ขอบเขตการลงชื่อเข้าใช้เพิ่มเติม ซึ่งจะช่วยให้คุณดึงข้อมูลรหัสการให้สิทธิ์ฝั่งเซิร์ฟเวอร์ได้ ซึ่งแบ็กเอนด์สามารถแลกเปลี่ยนเป็นโทเค็นรหัสที่มีข้อมูลผู้ใช้ รวมถึงฟิลด์ sub ที่ไม่ซ้ำกันได้
การติดตั้งใช้งานในระดับสูงเกี่ยวข้องกับสิ่งต่อไปนี้
ตั้งค่ารหัสไคลเอ็นต์ในโปรเจ็กต์แบบรวม: ก่อนที่จะผสานรวม คุณต้องตั้งค่าบริการเกมของ Play ใน Google Play Console เพื่อรับรหัสไคลเอ็นต์ OAuth 2.0
กำหนดค่าบริการเกมของ Play: ก่อนที่จะเริ่ม คุณจะต้องเพิ่มเกมใน Google Play Console และผสานรวมการตรวจสอบสิทธิ์แพลตฟอร์มบริการเกมของ Play กับเกมของคุณก่อน
เพิ่มปุ่มลงชื่อเข้าใช้ด้วย Google: เพิ่มปุ่ม "ลงชื่อเข้าใช้ด้วย Google" ในหน้าลงชื่อเข้าใช้หรือหน้าจอการตั้งค่าผู้ใช้ของเกม ปุ่มนี้จะทําให้ขั้นตอนการลงชื่อเข้าใช้หรือลงชื่อสมัครใช้เริ่มต้นขึ้น เมื่อสร้างปุ่มนี้ เราขอแนะนําให้คุณปฏิบัติตามหลักเกณฑ์การสร้างแบรนด์ของฟีเจอร์ลงชื่อเข้าใช้ด้วย Google ปุ่มควรแสดง "Google" หรือ "ลงชื่อเข้าใช้ด้วย Google" อย่างชัดเจนเป็นอย่างน้อย นอกจากนี้ หลักเกณฑ์ ลิงก์ยังมีชิ้นงาน UX ที่ดาวน์โหลดได้ซึ่งเป็นไปตามข้อกำหนดและสามารถ ใช้ในเกมของคุณได้
ขอรหัสการให้สิทธิ์เซิร์ฟเวอร์ที่มีขอบเขตการลงชื่อเข้าใช้: เมื่อผู้เล่นคลิกปุ่ม เกมจะขอรหัสการให้สิทธิ์เซิร์ฟเวอร์แบบครั้งเดียว ขั้นตอนที่สำคัญที่สุดคือการกำหนดค่าคำขอนี้ให้มีขอบเขตการลงชื่อเข้าใช้ต่อไปนี้
EMAIL,PROFILEและOPEN_IDวิธีกำหนดค่านี้ขึ้นอยู่กับสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ของคุณ ดังนี้
สำหรับ Java/Kotlin: ดูคำแนะนำในการรับรหัสการตรวจสอบสิทธิ์ของเซิร์ฟเวอร์ โดยใช้
requestServerSideAccessสำหรับ Unity: ดูคำแนะนำในการดึงรหัสการให้สิทธิ์ใน Unity
แลกรหัสการให้สิทธิ์และยืนยันโทเค็นรหัสในแบ็กเอนด์: ส่งรหัสการให้สิทธิ์ จากขั้นตอนก่อนหน้าไปยังเซิร์ฟเวอร์แบ็กเอนด์ ในเซิร์ฟเวอร์ ให้ทำตามคำแนะนำขั้นตอนการแลกรหัส OAuth 2.0 มาตรฐานเพื่อแลกรหัสเป็นโทเค็น รหัส โทเค็นเพื่อการเข้าถึง และโทเค็นการรีเฟรช ตามที่อธิบายไว้ในคำแนะนำ คุณต้องยืนยันโทเค็นรหัสในเซิร์ฟเวอร์
เชื่อมโยงฟิลด์
sub: เมื่อยืนยันโทเค็นรหัสสำเร็จแล้ว ให้ดึงฟิลด์subจากเพย์โหลด ใช้ค่าsubนี้เป็น คีย์ที่ไม่ซ้ำสำหรับข้อมูลประจำตัวของ Google ในโซลูชันการระบุตัวตนหากค่า
subนี้มีอยู่แล้วในฐานข้อมูล แสดงว่าผู้ใช้ได้ ลิงก์ไว้ก่อนหน้านี้แล้ว ลงชื่อเข้าใช้บัญชีเกมที่เกี่ยวข้องหากไม่มีค่า
subนี้ คุณจะสร้างบัญชีผู้ใช้ใหม่ในระบบบัญชีของเกมที่เชื่อมโยงกับsubนี้ หรือลิงก์กับบัญชีผู้ใช้ที่มีอยู่แล้วในระบบบัญชีโดยการจับคู่ข้อมูลผู้ใช้ (เช่น อีเมล) ที่ระบุไว้ในโทเค็นรหัสก็ได้
การผสานรวมบน iOS, เว็บ และแพลตฟอร์มอื่นๆ
ในแพลตฟอร์มอื่นๆ นอกเหนือจาก Android, iOS, เว็บ หรือ PC คุณจะต้องใช้
SDK มาตรฐานสำหรับการลงชื่อเข้าใช้ด้วย Google เป้าหมายจะเหมือนกับขั้นตอนของ Android คือการรับโทเค็นรหัส Google อย่างปลอดภัย ส่งไปยังแบ็กเอนด์ และใช้ฟิลด์ sub
เพื่อลิงก์บัญชี
การติดตั้งใช้งานในระดับสูงเกี่ยวข้องกับสิ่งต่อไปนี้
การผสานรวมฝั่งไคลเอ็นต์: ทำตามเอกสารประกอบอย่างเป็นทางการเพื่อผสานรวม SDK การลงชื่อเข้าใช้ด้วย Google สำหรับแพลตฟอร์มของคุณ คำแนะนำเหล่านี้ครอบคลุม ขั้นตอนฝั่งไคลเอ็นต์ทั้งหมด ตั้งแต่การแสดงปุ่มลงชื่อเข้าใช้ด้วย Google ไปจนถึง การเรียกโทเค็นรหัส
สำหรับเว็บ: ลงชื่อเข้าใช้ด้วย Google สำหรับเว็บ
สำหรับ iOS: Google Sign-In สำหรับ iOS และ macOS
สำหรับแพลตฟอร์มที่ไม่มี SDK เฉพาะ (เช่น เกมเอนจินที่กำหนดเองหรือ การสร้าง PC) คุณสามารถใช้ขั้นตอนเว็บเซิร์ฟเวอร์ OAuth 2.0 เพื่อรับโทเค็นที่จำเป็นได้ด้วยตนเอง
ตรรกะแบ็กเอนด์: ส่งโทเค็นรหัส (หรือรหัสการตรวจสอบสิทธิ์) ไปยังแบ็กเอนด์ จากนั้นเซิร์ฟเวอร์จะทำการยืนยันและตรรกะการเชื่อมโยงฟิลด์
subเดียวกันกับที่อธิบายไว้ในขั้นตอนที่ 4 และ 5 ของส่วน "การผสานรวมใน Android"
เนื่องจากฟิลด์ sub จากขั้นตอนการลงชื่อเข้าใช้ด้วย Google ทั้งหมดนี้เหมือนกับฟิลด์ที่ดึงมาจากขั้นตอนบริการเกมของ Google Play ใน Android (สำหรับบัญชี Google เดียวกัน) กระบวนการนี้จึงลิงก์บัญชีของผู้ใช้ในทุกแพลตฟอร์มได้สำเร็จ