คำถามที่พบบ่อย

เอกสารนี้จะตอบคำถามที่พบบ่อยเกี่ยวกับ SDK และการเผยแพร่สำหรับ Google Play Games บน PC

วิธีเพิ่ม VPN

สำหรับนักพัฒนาแอปที่ต้องการทดสอบเกมในภูมิภาค ที่ Google Play Games บน PC ไม่รองรับ เราขอแนะนำให้คุณใช้ VPN เพื่อรับที่อยู่ IP จากภูมิภาคที่รองรับ

ตรวจสอบว่าคุณได้เปิดใช้โหมด TUN ใน VPN ดูคำแนะนำเกี่ยวกับการเปิดใช้โหมด TUN และการกำหนดค่าไฟร์วอลล์ได้ใน คู่มือการใช้งานของผู้ให้บริการ VPN

หลังจากเปิดใช้โหมด TUN แล้ว ให้ติดตั้ง Google Play Games บน PC และโปรแกรมจำลองเพื่อวัตถุประสงค์ในการทดสอบ

คุณใช้ขั้นตอนการซื้อโดยไม่มีเซิร์ฟเวอร์แบ็กเอนด์ได้ไหม

โดยทั่วไปแล้วไม่แนะนำให้ประมวลผลโดยไม่มีเซิร์ฟเวอร์แบ็กเอนด์ในมุมมองด้านความปลอดภัย

ดูข้อมูลเพิ่มเติมได้ที่หัวข้อประมวลผลโดยไม่มีเซิร์ฟเวอร์แบ็กเอนด์

วิธีเริ่มพัฒนาสำหรับ Google Play Games บน PC ใน Unity หรือ UE Editor

เมื่อคุณเริ่มเกมโดยใช้แอป Google Play Games ระบบจะซิงค์รายละเอียดบัญชี Google ของคุณไหม

หลังจากเปิดตัวเกมผ่านไคลเอ็นต์ Google Play Games แล้ว ระบบจะซิงค์บัญชีโดยอัตโนมัติ และคุณไม่จำเป็นต้องเข้าสู่ระบบผ่านกระบวนการเข้าสู่ระบบของ Google อีก

เมื่อส่ง App Bundle ของ Windows (WAB) โดยใช้โปรแกรมเรียกใช้ของบุคคลที่สาม จำเป็นต้องส่งแพ็กเกจเกมเพื่อรับการตรวจสอบไหม

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

หากผู้เล่นใช้ Launcher ของบุคคลที่สามแทนไคลเอ็นต์ Google Play บัญชีบริการเกมของ Play จะซิงค์โดยอัตโนมัติไหม

หากต้องการให้ฟังก์ชัน SDK ทำงานได้ เกมต้องเปิดตัวโดยตรง ผ่านไคลเอ็นต์ Google Play Games หากกระบวนการอื่น เช่น แอปพลิเคชันตัวติดตั้งหรือตัวเรียกใช้ เริ่มเกม กระบวนการนั้น จะต้องเปิดจากไคลเอ็นต์ Google Play Games เกมต้อง ส่งพารามิเตอร์ทั้งหมดที่ได้รับจากไคลเอ็นต์ไปยังกระบวนการของไคลเอ็นต์

SDK จัดการการลงชื่อเข้าใช้บัญชี Google สำหรับหลายอินสแตนซ์หรือบัญชีอย่างไร

การเปิดเกมแต่ละครั้งใน Google Play Games จะถือเป็น "เซสชันเกม" และ "เซสชันเกม" แต่ละเซสชันอาจมีบัญชีที่เชื่อมโยงอยู่ โดยอาจแตกต่างกันได้ ดังนั้นหากคุณเปิดเกมด้วยบัญชี A แล้วเปลี่ยนไปใช้บัญชี B และ เปิดเกมทั้ง 2 บัญชีอีกครั้ง เกมทั้ง 2 บัญชีจะทำงานพร้อมกันได้

มีข้อจำกัดด้านขนาดไฟล์ WAB (App Bundle ของ Windows) ไหม

คุณอัปโหลดไฟล์ WAB ได้สูงสุด 10 GB

ระบบการชำระเงินที่มีอยู่ซึ่งอิงตาม API จะยังคงได้รับอนุญาตหลังจากผสานรวม SDK ของ Google Play Games บน PC แล้วหรือไม่

การชำระเงินทั้งหมดต้องได้รับการจัดการโดย SDK ของ Google Play Games บน PC โดยใช้ Google Play Billing คุณไม่สามารถใช้วิธีการชำระเงินที่อิงตาม API ที่มีอยู่ ในเกมเดียวกันได้

มีสภาพแวดล้อมการทดสอบแบบเปิดหรือการทดสอบแบบปิดที่คล้ายกับอุปกรณ์เคลื่อนที่ไหม

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

เราใช้การซื้อที่เริ่มต้นในโหมดนักพัฒนาซอฟต์แวร์อย่างถูกต้องไม่ได้ใช่ไหม

การใช้การซื้อในโหมดนักพัฒนาแอปต้องดำเนินการภายใน 3 นาที ไม่เช่นนั้นระบบอาจคืนเงินสำหรับการซื้อ

API (เดิม) กับ Google Play Games บน PC SDK แตกต่างกันไหม

  • Legacy มุ่งเน้นเฉพาะการเรียกเก็บเงิน
  • SDK จะรองรับบริการ Google Desktop (GDS) และฟีเจอร์ทั้งหมดของ PC
  • อินเทอร์เฟซ SDK ที่ใช้งานง่ายสำหรับนักพัฒนาแอป
  • ไม่จำเป็นต้องลงชื่อเข้าใช้ Google บนเบราว์เซอร์

มีวิธีอื่นในการเริ่มต้นใช้งาน SDK โดยการเปิดเกมโดยตรงโดยใช้ตัวเรียกใช้เกมโดยไม่ต้องผ่าน Google Play Games บน PC ไหม

ต้องเปิดเกมผ่านไคลเอ็นต์ Google Play Games บน PC ดูรายละเอียดเพิ่มเติมได้ที่เอกสารสำหรับนักพัฒนาซอฟต์แวร์

ระบบไม่รองรับการชำระเงินตามรอบหรือการสมัครใช้บริการ มีแผนที่จะใช้ฟีเจอร์นี้ไหม

เราไม่มีแผนที่จะเพิ่มตัวเลือกการซื้อเหล่านั้นนอกเหนือจากการซื้อในแอป และยินดีรับฟังความคิดเห็นของคุณพร้อมกรณีการใช้งานที่เฉพาะเจาะจง

billingerror เกิดจากการเริ่มขั้นตอนการซื้อหรือจากผลการชำระเงิน

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

มีวิธีสร้างทางลัดเพื่อเปิดเกมโดยตรงไหม

คุณใช้ URI ต่อไปนี้เพื่อเปิดเกมได้โดยตรง

googleplaygames://launch/?pid=2&id=com.company.gamename

URI รองรับการตรวจหาว่าไคลเอ็นต์ Google Play Games บน PC เปิดอยู่หรือไม่ หากไคลเอ็นต์ไม่ได้เปิดอยู่ ไคลเอ็นต์ Google Play Games จะเปิดขึ้นก่อนที่เกม/ตัวเรียกใช้จะทำงาน คุณต้องจัดการเกม/ตัวเรียกใช้เพื่อป้องกันไม่ให้อินสแตนซ์หลายรายการทำงาน

QueryProductDetails ขีดจำกัดคำขอ API

จำนวนผลิตภัณฑ์สูงสุดที่ค้นหาได้ในการเรียกใช้ API ของ QueryProductDetails ครั้งเดียวคือ 50 รายการ หากเกินขีดจำกัดนี้ คุณต้องแบ่งคำขอออกเป็นหลายการเรียก

เหตุใดเกมของฉันจึงไม่ติดตั้งหรือปรากฏขึ้นหลังจากที่ฉันอัปโหลด App Bundle ของ Windows (WAB) แรก

หากเกมของคุณได้รับการเริ่มต้นใช้งานโดยไม่มีเวอร์ชัน PC ที่มีอยู่ก่อนแล้ว ("WAB ครั้งแรก") ระบบอาจวางเกมของคุณไว้ในสถานะการถือครองการเผยแพร่ที่จัดการแล้วโดยอัตโนมัติ ซึ่งเกิดขึ้นเนื่องจากไม่มีค่าพื้นฐานที่มีอยู่ให้อัปเดต หากต้องการเผยแพร่ WAB อย่างเต็มรูปแบบและเปิดให้ติดตั้งเกม คุณต้องไปที่ Google Play Console และดำเนินการการเผยแพร่ที่จำเป็นด้วยตนเอง (เช่น คลิก "เผยแพร่การเปลี่ยนแปลง")

คุณจะจัดการการเริ่มต้นอย่างไรหาก Google Play Games เปิดใช้โปรแกรมเรียกใช้เกมของบุคคลที่สาม

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

หากผู้ใช้ปิดเบราว์เซอร์โดยไม่ได้ชำระเงินในระหว่างขั้นตอนการซื้อ ระบบตั้งใจให้เกิดข้อผิดพลาดหมดเวลาใช่ไหม

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

Native PC SDK รองรับอักขระแบบหลายไบต์ในไฟล์ใบรับรอง (PEM) ไหม

ได้ SDK รองรับอักขระแบบหลายไบต์สำหรับการรับรอง

ต้องระบุพารามิเตอร์ใดเมื่อเรียกใช้ BillingClient::QueryPurchases หรือ BillingClient::LaunchPurchaseFlow

ฟังก์ชันนี้ยอมรับ QueryPurchasesContinuation ซึ่งเป็นฟังก์ชัน Callback ที่มีลายเซ็น std::function<void(QueryPurchasesResult)> โดยการเรียกกลับ จะส่งผลลัพธ์ให้คุณพร้อมกับ ProductPurchaseDetails ทั้งหมด ข้อมูลนี้ อยู่ในไฟล์ส่วนหัวของ SDK ในไฟล์ includes/billing/models.h

launch_purchase_flow_result ที่ได้จะมีฟังก์ชัน ok() และ code() ok() ฟังก์ชันจะแสดงผลว่าโฟลว์สำเร็จหรือไม่ ฟังก์ชัน code() จะแสดงผล BillingError enum (includes/billing/enums.h) ซึ่งมีกรณีข้อผิดพลาดที่เป็นไปได้ 10 กรณี เช่น ผู้ใช้ยกเลิกหรือเกิดข้อผิดพลาดเกี่ยวกับเครือข่าย

การโทรไปยัง BillingClient::LaunchPurchaseFlow() รองรับการส่งหมายเลขคำสั่งซื้อที่กำหนดเองไหม

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

ฟิลด์ offer_token เป็นฟิลด์ที่ต้องระบุและจะระบุข้อเสนอการซื้อที่ผู้ใช้พยายามซื้อในขั้นตอนการชำระเงิน ปัจจุบัน SKU แต่ละรายการใน Google Play มีข้อเสนอเพียง 1 รายการ (เช่น ซื้อไอเทม 1 รายการในราคา $10) ในอนาคต ทีมการเรียกเก็บเงินของ Play จะให้การสนับสนุนข้อเสนอหลายรายการ

หากต้องการให้มั่นใจว่าระบบจะเชื่อมโยงข้อมูลเมตาในกรณีที่ขั้นตอนการซื้อหยุดชะงัก ให้จัดเก็บข้อมูลเมตาไว้ในเซิร์ฟเวอร์แบ็กเอนด์ก่อนที่จะเปิดกล่องโต้ตอบการซื้อ และเชื่อมโยงข้อมูลเมตากับรหัสบัญชีของผู้ใช้, SKU ที่ซื้อ และการประทับเวลาปัจจุบัน ดูข้อมูลเพิ่มเติมได้ที่เชื่อมโยงการซื้อกับข้อมูลภายใน

การผสานรวม Play Install Referrer ทำงานหรือไม่

SDK เวอร์ชันล่าสุด (25.5.409.0 ขึ้นไป) รองรับ Play Install Referrer API ดูข้อมูลเพิ่มเติมได้ที่ Play Install Referrer API

ผู้ใช้ต้องลงชื่อเข้าใช้แยกกันสำหรับแต่ละเกมเพื่อทำการซื้อไหม

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

ข้อกำหนดเบื้องต้นสำหรับการเปลี่ยนจากการเรียกเก็บเงินของ Google ด้วย OAuth ไปเป็นการเรียกเก็บเงินของ Google แบบเนทีฟด้วย DLL มีอะไรบ้าง

เกมจะใช้การลงชื่อเข้าใช้ด้วย Google ผ่าน OAuth เพื่อจัดการบัญชีที่ลงชื่อเข้าใช้ได้ต่อไป แต่ Google ขอแนะนำให้คุณหยุดใช้ REST API การเรียกเก็บเงินเดิม การเปลี่ยนจาก REST Billing API (ที่มีการลงชื่อเข้าใช้ OAuth2) ไปยังขั้นตอน SDK อาจ เป็นการดำเนินการที่ต้องใช้ฟีเจอร์แฟล็ก ดังนั้นทั้ง 2 อย่างจึงสามารถอยู่ร่วมกันได้ในช่วงระยะเวลาหนึ่งขณะที่ เกมเปลี่ยนไปใช้ SDK

มีการประมวลผล Payment Request API (LaunchPurchaseFlow) ผ่านเว็บเบราว์เซอร์หรือไม่

ได้ ตอนนี้ระบบจะประมวลผลผ่านเบราว์เซอร์ Google วางแผนที่จะดำเนินการ ทั้งโฟลว์โดยไม่ต้องออกจากเกมผ่าน SDK

เป็นไปได้ไหมที่จะใช้พารามิเตอร์การเริ่มต้นซ้ำหลายครั้ง

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

คุณใช้รีจิสทรีคีย์ภายใต้ HKEY_CURRENT_USER แทน HKEY_LOCAL_MACHINE ได้ไหม

คุณควรสร้างคีย์รีจิสทรีตาม Hive รูท คุณสามารถตั้งค่าโหนดรูท เป็น HKEY_LOCAL_MACHINE หรือ HKEY_CURRENT_USER ก็ได้ ทั้งนี้ขึ้นอยู่กับ วัตถุประสงค์และลักษณะของข้อมูล HKEY_LOCAL_MACHINE Hive ใช้เป็นตัวอย่างในหลักเกณฑ์

เกมรองรับทั้ง SDK ดั้งเดิมและระบบการชำระเงินเดิมพร้อมกันได้ไหม

ระบบการชำระเงินจะทำงานภายใต้โมเดลแบบ 2 ทางโดยขึ้นอยู่กับเวอร์ชันไบนารีของเกม ผู้ใช้ที่ใช้บิลด์เวอร์ชันเดิมจะยังคงใช้โฟลว์ที่มีอยู่ต่อไป ส่วนผู้ใช้ที่ใช้บิลด์ใหม่จะเปลี่ยนไปใช้การชำระเงินที่อิงตาม SDK ผู้ใช้ในขั้นตอนการชำระเงินทั้ง 2 แบบ จะใช้งานร่วมกันได้ในช่วงระยะเวลาการเปลี่ยนผ่าน

คุณจะอัปโหลด WAB สำหรับการทดสอบภายในได้อย่างไร

แชร์บัญชีในรายการที่อนุญาตกับ Google เพื่อให้ Google เปิดใช้บัญชีเหล่านั้นสำหรับการทดสอบภายในได้ หลังจากได้รับรายชื่อแล้ว Google จะตรวจสอบว่ารายชื่อดังกล่าวรวมอยู่ใน กระบวนการเริ่มต้นใช้งาน

คุณจะเพิ่มผู้ทดสอบใหม่ได้ที่ใด

ผู้ติดต่อของ Google จะสร้างกลุ่มอีเมลสำหรับแต่ละโปรเจ็กต์ PC ซึ่งต้องเพิ่มบัญชี Google ของผู้ทดสอบ เฉพาะสมาชิกของกลุ่มอีเมลนี้เท่านั้นที่ได้รับอนุญาตให้ดาวน์โหลดแพ็กเกจทดสอบภายใน Google Play Games

ควรจะอัปโหลดแพ็กเกจ PC อย่างเป็นทางการที่ใดก่อนการเปิดตัวอย่างเป็นทางการ

คุณอัปโหลดแพ็กเกจ WAB ได้ที่ตำแหน่งที่ระบุไว้ในคำถามแรก แต่คุณจะเผยแพร่ด้วยตนเองไม่ได้ คุณต้องระบุเวลา UTC ที่แน่นอน (ถึงระดับชั่วโมง) ให้แก่เจ้าหน้าที่แบ็กเอนด์ของ Google จากนั้น Google จะกำหนดค่ากำหนดการเผยแพร่และตรวจสอบว่ามีการเผยแพร่ตรงเวลา

คุณจัดการกับการอัปเกรดและการบำรุงรักษาหลังจากการเปิดตัวอย่างเป็นทางการอย่างไร

การอัปเกรดและการบำรุงรักษาในภายหลังจะต้องดำเนินการผ่านตัวเรียกใช้งาน ไคลเอ็นต์ Google Play Games ไม่รองรับฟังก์ชันอัปเดต ดังนั้นตัวเรียกใช้ ต้องอัปเดตทั้งเกมและตัวเรียกใช้เองได้

ข้อกำหนดสำหรับการตรวจสอบแพ็กเกจ PC ของ Google มีอะไรบ้าง

แพ็กเกจ PC จะได้รับการสแกนมัลแวร์ จากนั้นผู้ตรวจสอบจะทดสอบเฉพาะกระบวนการติดตั้งเกม การเริ่มต้นที่สำเร็จ และการถอนการติดตั้ง

จำเป็นต้องผสานรวม API ทั้งหมดไหม

คุณไม่จำเป็นต้องใช้ API อื่นๆ แต่ API เหล่านี้มีประโยชน์เพิ่มเติม google::play::billing จำเป็นสำหรับการซื้อในแอปและการขายเนื้อหาดิจิทัล google::play::games::recall จำเป็นสำหรับการติดตามข้อมูลการอ้างอิงเพื่อช่วยให้คุณเข้าใจว่าแหล่งที่มาของการเข้าชมใดที่ส่งผู้ใช้จำนวนมากที่สุดมาดาวน์โหลดแอปของคุณgoogle::play::games::integrity จำเป็นต่อการปกป้องแอปจากผู้ไม่ประสงค์ดีโดยการตรวจหาอุปกรณ์ที่อาจมีความเสี่ยงและโปรแกรมจำลองที่ไม่รู้จัก

เหตุใดกระบวนการของเกมบางอย่างจึงสิ้นสุดลงเมื่อปิดไคลเอ็นต์ Google Play Games แต่บางอย่างไม่สิ้นสุด

Google ไม่ได้ควบคุมกระบวนการย่อยหรือกระบวนการของเกมที่กำลังทำงาน ลักษณะการทำงานจะขึ้นอยู่กับว่าเกมเป็นเกมที่จำลองใน Android หรือเกม PC ดั้งเดิม เกมที่จำลองจะได้รับการติดตั้งภายในสภาพแวดล้อมของตัวเอง ดังนั้นลักษณะการทำงานของเกมจึงขึ้นอยู่กับการเริ่มต้นและการปิดตัวจำลองเป็นส่วนใหญ่

คุณควรใช้ความสามารถในการถอนการติดตั้ง Google Play Games หรือโปรแกรมถอนการติดตั้งที่กำหนดเอง

Google ขอแนะนำให้ใช้ความสามารถในการถอนการติดตั้ง Google Play Games