ใช้รายการตรวจสอบนี้เพื่อให้แน่ใจว่าเกมของคุณเป็นไปตามข้อกำหนดและแนวทางปฏิบัติแนะนำทั้งหมดก่อนที่จะส่งเกมเข้ารับการตรวจสอบใน Google Play Games บน PC
ตั้งค่าและกำหนดค่าโปรเจ็กต์
- ดาวน์โหลดและนำเข้า SDK: ผสานรวม Play Games PC SDK เวอร์ชันล่าสุดสำหรับสภาพแวดล้อมของคุณ ดูข้อมูลเพิ่มเติมได้ในคู่มือ Unity หรือคู่มือ C++
- สร้างไฟล์ Manifest ของแอปพลิเคชัน: สร้างไฟล์
manifest.xmlที่แมป<PackageName>กับแพ็กเกจ Play Console ที่คุณอ้างสิทธิ์ ดูข้อมูลเพิ่มเติมได้ในคู่มือ Manifest - ลงชื่อดิจิทัลในไฟล์ที่เรียกใช้งานได้: ลงชื่อในเกมโดยใช้ลายเซ็นดิจิทัล Authenticode และเก็บรักษาใบรับรองไว้สำหรับการอัปเดตทั้งหมดในอนาคต แม้ว่าคุณจะข้ามขั้นตอนนี้ระหว่างการพัฒนาในเครื่องได้โดยการเปิดใช้โหมดนักพัฒนาแอป แต่คุณต้องลงชื่อในไบนารีสุดท้ายด้วยใบรับรองการใช้งานจริงจากผู้ออกใบรับรองที่เชื่อถือได้ ดูข้อมูลเพิ่มเติมได้ที่ ลงชื่อดิจิทัลในเกม
- จัดรูปแบบและส่งใบรับรอง: ส่งข้อมูลใบรับรอง ไปยังตัวแทนของ Google ไฟล์ใบรับรองควรมีข้อมูลที่เกี่ยวข้องกับใบรับรองเท่านั้น โปรดตรวจสอบว่าได้นำบล็อกที่ไม่ใช่ใบรับรองออกทั้งหมดแล้ว คุณสามารถใช้ OpenSSL เพื่อแปลงไฟล์ DER/CER เป็นรูปแบบ PEM ที่จำเป็นได้
ผสานรวม API และฟีเจอร์
- เริ่มต้น SDK: ใช้ตรรกะการเริ่มต้น SDK เช่น
InitializeAsyncระหว่างการเริ่มต้นระบบก่อนที่จะใช้ฟีเจอร์อื่นๆ ดูข้อมูลเพิ่มเติมได้ในคู่มือการเริ่มต้น - ใช้การลงชื่อเข้าใช้ที่ราบรื่น: ตรวจสอบสิทธิ์ผู้เล่นโดยอัตโนมัติโดยใช้บัญชี Google Play Games Client ผ่าน Recall API ดูข้อมูลเพิ่มเติมได้ใน คู่มือการลงชื่อเข้าใช้ที่ราบรื่น
- ผสานรวม Play Integrity: ใช้
IntegrityClientเพื่อขอโทเค็นและยืนยันความถูกต้องของเซสชันเกมในแบ็กเอนด์ ดูข้อมูลเพิ่มเติมได้ใน คู่มือ Play Integrity - เพิ่มตัวแนะนำการติดตั้งของ Google Play: ผสานรวม Install Referrer API หากต้องการติดตามแหล่งที่มาของการได้ผู้ใช้ใหม่สำหรับ PC ดูข้อมูลเพิ่มเติมได้ใน คู่มือตัวแนะนำการติดตั้ง
- จัดการข้อผิดพลาดในการเริ่มต้น: หากต้องการใช้ SDK ให้เรียก
GooglePlayInitialize(C++) หรือGooglePlayInitialization.InitializeAsync(C#) เพื่อเริ่มต้น API คุณต้องเรียกใช้ฟังก์ชันนี้และตรวจสอบว่าการเรียกกลับการดำเนินการต่อเสร็จสมบูรณ์โดยInitializeResult::ok()(C++) หรือResult.IsOk(C#) แสดงผลเป็นtrueก่อนที่จะใช้ API อื่นๆ - จัดการการปิดระบบที่บังคับ: จัดการ
kActionRequiredShutdownClientProcessโดยการปิดกระบวนการไคลเอ็นต์โดยเร็วที่สุด - จัดการข้อกำหนดในการติดตั้ง Google Play Games: จัดการ
kSdkRuntimeUnavailableโดยแจ้งให้ผู้ใช้ทราบว่าต้องติดตั้ง Google Play Games และรันไทม์ของ SDK เพื่อดำเนินการต่อ - จัดการการอัปเดต Google Play Games: จัดการ
kSdkRuntimeUpdateRequiredโดยแจ้งให้ผู้ใช้ทราบว่าต้องมีการอัปเดต Google Play Games Runtime
ใช้ Play Billing
- ตรวจสอบประเภทการซื้อ: ยืนยันว่าเกมของคุณใช้การซื้อในแอปเท่านั้น เนื่องจากระบบไม่รองรับการชำระเงินแบบเรียกเก็บเงินเป็นงวดและการสมัครใช้บริการ ดูข้อมูลเพิ่มเติมได้ใน คำถามที่พบบ่อยเกี่ยวกับการเรียกเก็บเงิน
- ค้นหารายละเอียดสินค้า: ใช้
QueryProductDetailsเพื่อดึงข้อมูลร้านค้าที่แปลเป็นภาษาท้องถิ่น หากมีผลิตภัณฑ์มากกว่า 50 รายการ ให้แยกคำขอออกเป็นการเรียกใช้หลายครั้ง ดูข้อมูลเพิ่มเติมได้ในคู่มือการค้นหาผลิตภัณฑ์ - เปิดตัวขั้นตอนการซื้อ: ใช้
LaunchPurchaseFlowเพื่อประมวลผลธุรกรรมโดยตรง ข้อผิดพลาดการหมดเวลา 5 นาทีจะเกิดขึ้นหากคุณปิดเบราว์เซอร์การชำระเงินโดยไม่ชำระเงิน ดูข้อมูลเพิ่มเติมได้ในคู่มือขั้นตอนการซื้อ - กู้คืนการซื้อที่มีอยู่: เรียก
QueryPurchasesเมื่อเริ่มต้นและเมื่อแอปกลับมาอยู่เบื้องหน้าเพื่อตรวจหาการซื้อข้ามอุปกรณ์ที่ยังไม่ได้รับการรับทราบ ดูข้อมูลเพิ่มเติมได้ใน คู่มือกู้คืนการซื้อ - การประมวลผลแบ็กเอนด์ที่ปลอดภัย: ตรวจสอบ
purchaseTokenในแบ็กเอนด์ก่อนที่จะให้สิทธิ์และดำเนินการให้เสร็จสมบูรณ์ด้วยAcknowledgePurchaseหรือConsumePurchaseดูข้อมูลเพิ่มเติมได้ใน คู่มือการประมวลผลที่ปลอดภัย
ทดสอบในโหมดนักพัฒนาแอปและทำการรับประกันคุณภาพก่อนการเปิดตัว
- ทดสอบในโหมดนักพัฒนาซอฟต์แวร์: เพิ่ม
<IsDeveloperMode>true</IsDeveloperMode>ลงใน ไฟล์ Manifest และกำหนดค่า GUID ของพาร์ทเนอร์ที่ทดลองใช้ก่อนเปิดตัวสำหรับการทดสอบ สภาพแวดล้อมในการพัฒนาซอฟต์แวร์แบบผสานรวม (IDE) ในเครื่อง หากไม่มี GUID ของพาร์ทเนอร์ที่เข้าถึงก่อนใคร ให้กรอกแบบฟอร์มแสดงความสนใจ - จัดการการซื้อในโหมดนักพัฒนาแอป: เมื่อทดสอบการซื้อในโหมดนักพัฒนาแอป ให้ใช้การซื้อภายใน 3 นาทีเพื่อป้องกันการคืนเงินอัตโนมัติ ดูข้อมูลเพิ่มเติมได้ในคำถามที่พบบ่อยเกี่ยวกับการทดสอบ
- นำโหมดนักพัฒนาแอปออก: คุณต้องนำแท็ก
<IsDeveloperMode>ออก ก่อนที่จะสร้างแพ็กเกจบิลด์รุ่นที่เผยแพร่โดยเร็วที่สุด ดูข้อมูลเพิ่มเติมได้ใน คู่มือโหมดนักพัฒนาแอป - ส่งต่ออาร์กิวเมนต์โดยใช้ตัวเรียกใช้งานของบุคคลที่สาม: ส่งอาร์กิวเมนต์บรรทัดคำสั่งที่ไม่รู้จักทั้งหมดที่ตัวเรียกใช้งานได้รับจาก Google Play Games Client ไปยังกระบวนการเกมที่สร้างขึ้นโดยตรง ดูข้อมูลเพิ่มเติมได้ใน คู่มือกระบวนการหลายรายการ
- ทดสอบด้วย VPN: หากทดสอบจากภูมิภาคที่ไม่รองรับ ให้ใช้ VPN (VPN) ที่เปิดใช้โหมด TUN เพื่อรับที่อยู่ IP ที่รองรับ ดูข้อมูลเพิ่มเติมได้ในคำถามที่พบบ่อยเกี่ยวกับการทดสอบ VPN
- รองรับทางลัดบนเดสก์ท็อป: หากต้องการการรองรับทางลัดที่ราบรื่น โปรดดู คำถามที่พบบ่อยเกี่ยวกับทางลัดสำหรับการดำเนินการทางลัด การเปิดเกมหรือตัวเรียกใช้งานของบุคคลที่สามโดยตรงโดยใช้ทางลัดอาจทำให้เกิดข้อผิดพลาดในการเริ่มต้น
แพ็กเกจ ทดสอบ และเผยแพร่เกม
- แพ็กเกจ WAB: ใช้เครื่องมือการเผยแพร่ของ Google Play เพื่อแพ็กเกจเกมเป็น App Bundle ของ Windows (WAB) ไฟล์ WAB ต้องมีขนาดไม่เกิน 10 GB ดูข้อมูลเพิ่มเติมได้ในคู่มือการแพ็กเกจ
- ยืนยันว่าต้องมีการยกระดับสิทธิ์หรือไม่: หากโปรแกรมติดตั้ง ตัวเรียกใช้งาน หรือ
โปรแกรมถอนการติดตั้งต้องทำงานในฐานะผู้ดูแลระบบทุกครั้งที่เปิดใช้
โปรดตรวจสอบว่าคุณได้ตั้งค่า
INSTALLER_REQUIRES_ELEVATION,LAUNCHER_REQUIRES_ELEVATIONหรือUNINSTALLER_REQUIRES_ELEVATIONเป็นtrueแล้ว มิฉะนั้น โปรแกรมดังกล่าวจะไม่ทำงานด้วยสิทธิ์ของผู้ดูแลระบบ ซึ่งจะทำให้การเริ่มต้นระบบล้มเหลว ดูรายละเอียดเพิ่มเติมได้ที่ รูปแบบไฟล์การกำหนดค่า WAB
- ยืนยันว่าต้องมีการยกระดับสิทธิ์หรือไม่: หากโปรแกรมติดตั้ง ตัวเรียกใช้งาน หรือ
โปรแกรมถอนการติดตั้งต้องทำงานในฐานะผู้ดูแลระบบทุกครั้งที่เปิดใช้
โปรดตรวจสอบว่าคุณได้ตั้งค่า
- ส่งโปรแกรมติดตั้งตัวเรียกใช้งานของบุคคลที่สาม: หากใช้ตัวเรียกใช้งานของบุคคลที่สาม ให้ส่งโปรแกรมติดตั้งภายใน WAB ดูข้อมูลเพิ่มเติมได้ใน คู่มือการเผยแพร่โปรแกรมติดตั้ง
- อัปเดตเกมและตัวเรียกใช้งานหรือโปรแกรมติดตั้ง: เนื้อหาแพ็กเกจของคุณ ซึ่งรวมถึงโปรแกรมติดตั้งตัวเรียกใช้งาน ต้องอัปเดตได้ด้วยตัวเอง จัดการทรัพยากรทั้งหมดที่เกมต้องการ รวมถึงการอัปเดตตัวเรียกใช้งานด้วยตัวเอง
- แชร์ข้อมูลการเปิดตัวกับ Google: ติดต่อพาร์ทเนอร์ของ Google Play และแชร์ชื่อแพ็กเกจ ประเทศที่เปิดตัว (ใช้รหัส 2 ตัวอักษรตามมาตรฐาน ISO เช่น US, CA, MX) รวมถึงวันที่และเวลาที่เปิดตัวในเวลาสากลเชิงพิกัด (UTC)
- ตั้งค่าการเข้าถึงสำหรับการทดสอบ: ระบุ Google Group ภายนอกเพื่อเพิ่มลงในรายการที่อนุญาตสำหรับการทดสอบ เอกสารประกอบ และการเข้าถึง Google ไดรฟ์ แชร์รายชื่ออีเมลของบัญชีทดสอบกับพาร์ทเนอร์ของ Google Play เนื่องจากระบบไม่รองรับแทร็กการทดสอบของ Play Console สำหรับ PC
- เพิ่มรูปแบบของอุปกรณ์ PC: เพิ่มรูปแบบของอุปกรณ์ "Google Play Games บน PC" ลงในแอปของคุณใน Google Play Console อย่างชัดเจน หากเข้าถึงแท็บนี้ไม่ได้ โปรดติดต่อพาร์ทเนอร์ของ Google Play เพื่อเพิ่มบัญชีของคุณลงในรายการที่อนุญาต
- กำหนดค่าข้อกำหนดของ PC: ป้อนข้อกำหนดของฮาร์ดแวร์ (RAM, GPU, พื้นที่เก็บข้อมูล) สำหรับ Windows PC ดูข้อมูลเพิ่มเติมได้ในคู่มือข้อกำหนดของ PC
- อัปโหลดเนื้อหาในร้านค้า: อัปโหลดไฟล์ WAB ที่แพ็กเกจแล้วไปยังแทร็กเวอร์ชันที่ใช้งานจริง และกำหนดค่าเนื้อหาภาพ ดูข้อมูลเพิ่มเติมได้ใน คู่มือการอัปโหลดเนื้อหา
- เผยแพร่สำหรับการทดสอบสภาพแวดล้อมของผู้ใช้: เลือกเผยแพร่ ใน Google Play Console การเลือกเผยแพร่ ใน WAB จะไม่ทริกเกอร์การเผยแพร่ต่อสาธารณะ ซึ่งแตกต่างจากเวอร์ชัน Android แต่จะทำให้บัญชีทดสอบที่แชร์สามารถค้นหาแอปเพื่อทำการทดสอบในสภาพแวดล้อมของผู้ใช้ได้หลังจากกระบวนการตรวจสอบของ Google
- เปิดตัวอย่างเป็นทางการ: Google จะควบคุมการเปิดตัวตามวันที่เปิดตัวอย่างเป็นทางการที่คุณแชร์กับพาร์ทเนอร์ของ Google Play
- ทดสอบระหว่างการลงทะเบียนล่วงหน้า: ในระยะการลงทะเบียนล่วงหน้า คุณต้องทำการทดสอบภายในในประเทศที่ไม่ได้รวมอยู่ในภูมิภาคการลงทะเบียนล่วงหน้าที่คุณเลือก
เปลี่ยนจาก API เป็น SDK
การเปลี่ยนจาก API เป็น SDK เป็นขั้นตอนที่ไม่บังคับ หากเลือกที่จะเปลี่ยน ให้ทำตามคำแนะนำต่อไปนี้
- นำ REST API แบบเดิมออก: แมปการเรียกใช้ Play Developer API แบบเดิม (เช่น
purchases.products.get) กับฟังก์ชัน Native SDK ฝั่งไคลเอ็นต์ ดูข้อมูลเพิ่มเติมได้ในคู่มือการย้ายข้อมูล - ตรวจสอบอาร์กิวเมนต์บรรทัดคำสั่ง: อาร์กิวเมนต์บรรทัดคำสั่งในสภาพแวดล้อม SDK อาจแตกต่างจากอาร์กิวเมนต์ในสภาพแวดล้อม API ตรวจสอบว่าแพ็กเกจจัดการและส่งอาร์กิวเมนต์ทั้งหมดอย่างถูกต้อง ดูข้อมูลเพิ่มเติมได้ที่ ดู ยืนยัน
- ตรวจสอบเส้นทางรีจิสทรี: การกำหนดค่ารีจิสทรีต้องสอดคล้องกับเวอร์ชันก่อนหน้าเพื่อให้การย้ายข้อมูลไปยัง Native SDK เป็นไปอย่างราบรื่น ดูข้อมูลเพิ่มเติมได้ในคู่มือไฟล์ WAB