ใช้รายการตรวจสอบนี้เพื่อให้แน่ใจว่าเกมของคุณเป็นไปตามข้อกำหนดและแนวทางปฏิบัติแนะนำทั้งหมดก่อนส่งเกมเข้ารับการตรวจสอบใน 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ในระหว่างการเริ่มต้นก่อนที่จะใช้ฟีเจอร์อื่นๆ ดูข้อมูลเพิ่มเติมได้ในคู่มือการเริ่มต้น - ใช้การลงชื่อเข้าใช้อย่างราบรื่น: ตรวจสอบสิทธิ์ผู้เล่นโดยอัตโนมัติโดยใช้ บัญชีไคลเอ็นต์ของ Play Games ผ่าน Recall API ดูข้อมูลเพิ่มเติมได้ที่ คู่มือการลงชื่อเข้าใช้อย่างราบรื่น
- ผสานรวม Play Integrity: ใช้
IntegrityClientเพื่อขอโทเค็น และยืนยันความถูกต้องของเซสชันเกมในแบ็กเอนด์ ดูข้อมูลเพิ่มเติมได้ที่คู่มือ Play Integrity - เพิ่มเครื่องมือระบุแหล่งที่มาของการติดตั้งของ Play: ผสานรวม Install Referrer API หากคุณ ต้องการติดตามแหล่งที่มาของการได้ผู้ใช้ใหม่สำหรับ PC โปรดดูข้อมูลเพิ่มเติมใน คู่มือ Install Referrer
- จัดการข้อผิดพลาดในการเริ่มต้น: หากต้องการใช้ 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
ติดตั้งใช้งาน Play Billing
- ตรวจสอบประเภทการซื้อ: ยืนยันว่าเกมของคุณใช้การซื้อในแอปเท่านั้น เนื่องจากระบบไม่รองรับการชำระเงินที่เกิดซ้ำและการสมัครใช้บริการ ดูข้อมูลเพิ่มเติมได้ที่คำถามที่พบบ่อยเกี่ยวกับการเรียกเก็บเงิน
- ค้นหารายละเอียดผลิตภัณฑ์: ใช้
QueryProductDetailsเพื่อดึงข้อมูลร้านค้าที่แปลแล้ว หากมีผลิตภัณฑ์มากกว่า 50 รายการ ให้แบ่งคำขอออกเป็นหลายๆ คำขอ ดูข้อมูลเพิ่มเติมได้ที่คู่มือการค้นหาผลิตภัณฑ์ - เปิดตัวขั้นตอนการซื้อ: ใช้
LaunchPurchaseFlowเพื่อประมวลผล ธุรกรรมโดยตรง ข้อผิดพลาดหมดเวลา 5 นาทีจะเกิดขึ้นหากคุณปิดเบราว์เซอร์การชำระเงินโดยไม่ได้ชำระเงิน ดูข้อมูลเพิ่มเติมได้ที่คู่มือขั้นตอนการซื้อ - กู้คืนการซื้อที่มีอยู่: เรียกใช้
QueryPurchasesเมื่อเริ่มต้นและ เมื่อแอปทำงานในเบื้องหน้าเพื่อตรวจหาการซื้อข้ามอุปกรณ์ที่ยังไม่ได้ยืนยัน ดูข้อมูลเพิ่มเติมได้ที่คู่มือกู้คืนการซื้อ - การประมวลผลแบ็กเอนด์ที่ปลอดภัย: ตรวจสอบ
purchaseTokenในแบ็กเอนด์ ก่อนให้สิทธิ์และสรุปด้วยAcknowledgePurchaseหรือConsumePurchaseดูข้อมูลเพิ่มเติมได้ที่คู่มือการประมวลผลที่ปลอดภัย
ทดสอบในโหมดนักพัฒนาแอปและทำการ QA ก่อนการเปิดตัว
- ทดสอบในโหมดนักพัฒนาซอฟต์แวร์: เพิ่ม
<IsDeveloperMode>true</IsDeveloperMode>ลงใน ไฟล์ Manifest และกำหนดค่า GUID ของพาร์ทเนอร์ที่ให้สิทธิ์เข้าถึงก่อนเปิดตัวสำหรับการทดสอบ สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ (IDE) ในเครื่อง หากคุณไม่มี GUID ของพาร์ทเนอร์ที่ให้สิทธิ์เข้าถึงก่อนเปิดตัว โปรดกรอกแบบฟอร์มแสดงความสนใจ - จัดการการซื้อในโหมดนักพัฒนาแอป: เมื่อทดสอบการซื้อในโหมดนักพัฒนาแอป ให้ใช้การซื้อภายใน 3 นาทีเพื่อป้องกันการคืนเงินอัตโนมัติ ดูข้อมูลเพิ่มเติมได้ที่คำถามที่พบบ่อยเกี่ยวกับการทดสอบ
- นำโหมดนักพัฒนาแอปออก: คุณต้องนำแท็ก
<IsDeveloperMode>ออกก่อนที่จะแพ็กเกจบิลด์รุ่นที่เผยแพร่โดยเร็วที่สุด ดูข้อมูลเพิ่มเติมได้ในคู่มือโหมดนักพัฒนาซอฟต์แวร์ - ส่งต่ออาร์กิวเมนต์โดยใช้ตัวเรียกใช้งานของบุคคลที่สาม: ส่งอาร์กิวเมนต์บรรทัดคำสั่งที่ไม่รู้จักทั้งหมดที่ตัวเรียกใช้งานได้รับจากไคลเอ็นต์ Google Play Games ไปยังกระบวนการเกมที่สร้างขึ้นโดยตรง ดูข้อมูลเพิ่มเติมได้ที่คู่มือแบบหลายกระบวนการ
- ทดสอบด้วย VPN: หากทดสอบจากภูมิภาคที่ไม่รองรับ ให้ใช้ VPN ที่เปิดใช้โหมด TUN เพื่อรับที่อยู่ IP ที่รองรับ ดูข้อมูลเพิ่มเติมได้ที่คำถามที่พบบ่อยเกี่ยวกับการทดสอบ VPN
- รองรับทางลัดบนเดสก์ท็อป: หากต้องการให้การรองรับทางลัดเป็นไปอย่างราบรื่น โปรดดูคำถามที่พบบ่อยเกี่ยวกับทางลัดสำหรับการเรียกใช้ทางลัด การเปิดเกมหรือโปรแกรมเรียกใช้ของบุคคลที่สามโดยตรงโดยใช้ทางลัดอาจทำให้เกิดข้อผิดพลาดในการเริ่มต้น
แพ็กเกจ ทดสอบ และเผยแพร่เกม
- แพ็กเกจ WAB: ใช้เครื่องมือการเผยแพร่ของ Play เพื่อแพ็กเกจเกมเป็น App Bundle ของ Windows (WAB) ไฟล์ WAB ต้องมีขนาดไม่เกิน 10 GB ดูข้อมูลเพิ่มเติมได้ที่คู่มือการแพ็กเกจ
- ยืนยันว่าต้องมีการยกระดับสิทธิ์หรือไม่: หากโปรแกรมติดตั้ง ตัวเรียกใช้ หรือ
โปรแกรมถอนการติดตั้งต้องเรียกใช้ในฐานะผู้ดูแลระบบทุกครั้งที่เปิดใช้
โปรดตรวจสอบว่าคุณได้ตั้งค่า
INSTALLER_REQUIRES_ELEVATION,LAUNCHER_REQUIRES_ELEVATIONหรือUNINSTALLER_REQUIRES_ELEVATIONเป็นtrueหรือไม่ มิฉะนั้นจะเรียกใช้ด้วยสิทธิ์ของผู้ดูแลระบบไม่ได้ ซึ่งจะ ทำให้เริ่มต้นไม่สำเร็จ ดูรายละเอียดเพิ่มเติมได้ที่รูปแบบไฟล์การกำหนดค่า WAB - ส่งโปรแกรมติดตั้ง Launcher ของบุคคลที่สาม: หากใช้ Launcher ของบุคคลที่สาม ให้ส่งโปรแกรมติดตั้งภายใน WAB ดูข้อมูลเพิ่มเติมได้ในคู่มือการเผยแพร่โปรแกรมติดตั้ง
- จัดการโทเค็นของเซสชันเล่นอัตโนมัติ: หากเปิดใช้การเล่นอัตโนมัติโดยการตั้งค่า
acceptsCommandLineArguments="true"ในplay_publishing_config.xmlให้ตรวจสอบ ว่าโปรแกรมติดตั้งของคุณแยกอาร์กิวเมนต์บรรทัดคำสั่ง--g_session_token=<token>และใช้เพื่อเปิดเกม ตรวจสอบว่าโปรแกรมติดตั้งจัดการ กรณีสำรองที่ไม่มีโทเค็น ดูข้อมูลเพิ่มเติมได้ที่คำถามที่พบบ่อยเกี่ยวกับ Launcher - อัปเดตเกมและตัวเรียกใช้หรือโปรแกรมติดตั้ง: เนื้อหาแพ็กเกจ รวมถึงโปรแกรมติดตั้งตัวเรียกใช้ ต้องอัปเดตได้ด้วยตัวเอง จัดการทรัพยากรทั้งหมด ที่เกมต้องการ รวมถึงอัปเดตตัวเรียกใช้ด้วย
- แชร์ข้อมูลการเปิดตัวกับ Google: ติดต่อพาร์ทเนอร์ Play และแชร์ชื่อแพ็กเกจ ประเทศที่เปิดตัว (ใช้รหัส 2 อักขระ ISO เช่น US, CA, MX) รวมถึงวันที่และเวลาเปิดตัวในเวลาสากลเชิงพิกัด (UTC)
- ตั้งค่าสิทธิ์เข้าถึงการทดสอบ: ระบุกลุ่ม Google ภายนอกเพื่อเพิ่มลงใน รายการที่อนุญาตสำหรับการทดสอบ เอกสารประกอบ และสิทธิ์เข้าถึง Google ไดรฟ์ แชร์ รายชื่ออีเมลของบัญชีทดสอบกับพาร์ทเนอร์ Play เนื่องจาก Play Console ไม่รองรับแทร็กทดสอบสำหรับ PC
- เพิ่มรูปแบบของอุปกรณ์ PC: เพิ่มรูปแบบของอุปกรณ์ "Google Play Games บน PC" ลงในแอปของคุณใน Google Play Console อย่างชัดเจน หากเข้าถึงแท็บนี้ไม่ได้ โปรดติดต่อพาร์ทเนอร์ Play เพื่อเพิ่มบัญชีของคุณลงในรายการที่อนุญาต
- กำหนดค่าข้อกำหนดของ PC: ป้อนข้อกำหนดของฮาร์ดแวร์ (RAM, GPU, พื้นที่เก็บข้อมูล) สำหรับ PC ที่ใช้ Windows ดูข้อมูลเพิ่มเติมได้ที่คู่มือข้อกำหนดของ PC
- อัปโหลดชิ้นงานของร้านค้า: อัปโหลดไฟล์ WAB ที่แพ็กแล้วไปยังแทร็กการผลิต และกำหนดค่าชิ้นงานภาพ ดูข้อมูลเพิ่มเติมได้ที่คู่มือการอัปโหลดชิ้นงาน
- เผยแพร่เพื่อทดสอบสภาพแวดล้อมของผู้ใช้: เลือกเผยแพร่ใน Google Play Console การเลือกเผยแพร่ใน WAB จะไม่ทริกเกอร์การเผยแพร่ต่อสาธารณะ ซึ่งแตกต่างจากเวอร์ชัน Android แต่จะทำให้บัญชีทดสอบที่แชร์สามารถค้นหาแอปเพื่อทำการทดสอบในสภาพแวดล้อมของผู้ใช้ได้หลังจากกระบวนการตรวจสอบของ Google
- เปิดตัวอย่างเป็นทางการ: Google จะควบคุมการเปิดตัวตามวันที่เปิดตัวอย่างเป็นทางการที่คุณแชร์กับพาร์ทเนอร์ Play
- ทดสอบระหว่างการลงทะเบียนล่วงหน้า: ในช่วงการลงทะเบียนล่วงหน้า คุณต้องทำการทดสอบภายในในประเทศที่ไม่ได้รวมอยู่ในภูมิภาคการลงทะเบียนล่วงหน้าที่เลือก
- ยืนยันการสิ้นสุดกระบวนการติดตั้ง: ยืนยันว่ากระบวนการติดตั้งหลักยังคงทำงานอยู่จนกว่าจะสร้างและลงทะเบียนคีย์รีจิสทรีที่จำเป็นทั้งหมด หากกระบวนการสิ้นสุดก่อนเวลา การยืนยันการติดตั้งจะไม่สำเร็จ ดูข้อมูลเพิ่มเติมได้ที่ การเผยแพร่โปรแกรมติดตั้ง
ย้ายข้อมูลจาก API ไปยัง SDK
การย้ายข้อมูลจาก API ไปยัง SDK เป็นขั้นตอนที่ไม่บังคับ หากเลือกที่จะย้ายข้อมูล ให้ทำตามคำแนะนำต่อไปนี้
- นำ REST API เดิมออก: แมปการเรียก Play Developer API เดิม (เช่น
purchases.products.get) กับฟังก์ชัน Native SDK ฝั่งไคลเอ็นต์ ดูข้อมูลเพิ่มเติมได้ที่คำแนะนำในการย้ายข้อมูล - ยืนยันอาร์กิวเมนต์บรรทัดคำสั่ง: อาร์กิวเมนต์บรรทัดคำสั่งในสภาพแวดล้อม SDK อาจแตกต่างจากอาร์กิวเมนต์ในสภาพแวดล้อม API ยืนยันว่า แพ็กเกจจัดการและส่งอาร์กิวเมนต์ทั้งหมดอย่างถูกต้อง ดูข้อมูลเพิ่มเติมได้ที่ยืนยัน
- ยืนยันเส้นทางรีจิสทรี: เพื่อให้การย้ายข้อมูลไปยัง Native SDK เป็นไปอย่างราบรื่น การกำหนดค่ารีจิสทรีต้องสอดคล้องกับเวอร์ชันก่อนหน้า ดูข้อมูลเพิ่มเติมได้ที่คู่มือไฟล์ WAB