Play Games PC SDK ช่วยให้คุณเข้าถึงบริการของ Google Play เพื่อสร้างและ สร้างรายได้จากเกมบน PC ได้ ขายเนื้อหาดิจิทัลโดยใช้การเรียกเก็บเงินของ Play, ลงชื่อเข้าใช้โดยใช้ Play Games ได้อย่างราบรื่น และตรวจสอบว่าผู้ใช้มีสิทธิ์ที่ถูกต้องในการเข้าถึงแอปพลิเคชันของคุณด้วย Play Integrity
หากพร้อมที่จะเริ่มแล้ว
สิ่งที่ต้องมีก่อน
สร้างข้อมูลแอปภายใน Play Console และอ้างสิทธิ์ชื่อแพ็กเกจ Play
ดาวน์โหลดและติดตั้ง Google Play Games สำหรับ PC แล้วลงชื่อเข้าใช้ด้วยบัญชี Google
ขั้นตอนที่ 1: เพิ่ม SDK ลงในโปรเจ็กต์
ดาวน์โหลด SDK ของ Play Games PC C++
คัดลอกโฟลเดอร์ส่วนหัวของ API
includes/
ลงในโค้ดเบสของแอปพลิเคชันคัดลอกไฟล์ที่แจกจ่ายต่อได้จาก
imports/
ลงในโปรเจ็กต์ของแอปพลิเคชัน- ลิงก์โปรเจ็กต์กับ
play_pc_sdk.lib
เพื่ออนุญาตให้เข้าถึงเนื้อหาของplay_pc_sdk.dll
- ลิงก์โปรเจ็กต์กับ
ขั้นตอนที่ 2: เพิ่มไฟล์ Manifest
ก่อนที่จะใช้ SDK จากภายในเกมได้ คุณจะต้อง
เชื่อมโยงไฟล์ปฏิบัติการของเกมกับชื่อแพ็กเกจ Play ที่คุณอ้างสิทธิ์
ภายใน Play Console โดยทำได้ด้วยการเพิ่มไฟล์ manifest.xml
ใน
ไดเรกทอรีเดียวกับไฟล์ที่เรียกใช้งานของเกม
ตัวอย่างmanifest.xml
เนื้อหา
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
ตัวอย่างmanifest.xml
ตำแหน่งโฆษณา
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
ขั้นตอนที่ 3: ลงนามดิจิทัลในเกม
ก่อนที่เกมจะใช้ SDK ได้ ไฟล์ปฏิบัติการของเกมต้องได้รับการลงนามแบบดิจิทัล โดยใช้ลายเซ็นดิจิทัล Authenticode ดูวิธีการลงนามในไฟล์ที่เรียกใช้งานได้ที่เอกสารประกอบเกี่ยวกับ SignTool
ขั้นตอนที่ 4: เริ่มต้น SDK
เริ่มต้น SDK ในระหว่างลำดับการเริ่มต้นของเกม ซึ่งควรดำเนินการโดยอัตโนมัติโดยไม่ต้องมีการโต้ตอบจากผู้ใช้ และขอแนะนำให้ ยืนยันการเริ่มต้นที่สำเร็จก่อนแสดงผลหน้าต่างเกม ซึ่งจะมอบประสบการณ์การใช้งานที่ดีที่สุดด้วยการแสดงและแก้ไขข้อผิดพลาดโดยเร็วที่สุด และหลีกเลี่ยงไม่ให้หน้าต่างเกมปรากฏขึ้นในช่วงสั้นๆ ในกรณีที่กระบวนการของเกม จำเป็นต้องออก
เริ่มต้นใช้ SDK โดยการเรียกใช้
GooglePlayInitialize
เพื่อเริ่มต้น API ซึ่งจะตั้งค่าสถานะส่วนกลาง เชื่อมต่อกับรันไทม์ SDK และยืนยันว่าแอปพลิเคชันเริ่มต้นอย่างถูกต้อง คุณต้องเรียกใช้ฟังก์ชันนี้และมี
การเรียกกลับการดำเนินการต่อที่เสร็จสมบูรณ์โดยมี InitializeResult::ok()
เท่ากับ true
ก่อนที่จะใช้ API อื่นๆ
// Initialize the SDK as part of the startup sequence of your application.
auto promise = std::make_shared<std::promise<InitializeResult>>();
GooglePlayInitialize(
[promise](InitializeResult result) {
promise->set_value(std::move(result));
});
auto initialize_result = promise->get_future().get();
if (initialize_result.ok()) {
// The SDK succeeded with initialization. Continue with the startup sequence
// of the game.
// ...
} else if (initialize_result.code() == InitializationError::kActionRequiredShutdownClientProcess) {
// The SDK failed to initialize and has requested that your game process exit
// as soon as possible.
exit(1);
} else {
// The SDK failed to initialize for an alternative reason. It is still
// generally recommended that you exit the game process as soon as possible,
// because it won't be possible to access any APIs in the SDK. Critical
// operations such as verifying the user owns a valid license to your game
// won't be possible.
// ...
}
หากการเริ่มต้นไม่สำเร็จด้วยรหัส kActionRequiredShutdownClientProcess
ออกจากการประมวลผลเกมโดยเร็วที่สุด รันไทม์ของ SDK จะพยายาม
ช่วยเหลือผู้ใช้โดยที่เกมของคุณไม่ต้องดำเนินการใดๆ เพิ่มเติม เช่น หากผู้ใช้ไม่มีใบอนุญาตที่ถูกต้องสำหรับเกม Google Play Games จะแจ้งให้ผู้ใช้ซื้อสำเนา สำหรับข้อผิดพลาดอื่นๆ เรายังคงแนะนำให้
ออกจากกระบวนการของเกมโดยเร็วที่สุด เนื่องจากจะไม่สามารถใช้ SDK เพื่อ
ดำเนินการที่สำคัญ เช่น การยืนยันว่าผู้ใช้มีใบอนุญาตที่ถูกต้อง
สำหรับเกมของคุณ
การตอบกลับที่ไม่สำเร็จอาจบ่งบอกถึงเงื่อนไขอย่างใดอย่างหนึ่งต่อไปนี้
ไม่ได้ติดตั้งรันไทม์ของ SDK, ไม่ได้ทำงานบนอุปกรณ์ หรือเป็น เวอร์ชันเก่าที่ไม่รองรับ SDK ที่ผสานรวมอยู่ในเกม
รันไทม์ของ SDK ยืนยันตัวตนแอปพลิเคชันของ เกมไม่ได้ ปัญหานี้อาจเกิดจาก
manifest.xml
ไม่ถูกต้อง หรือการใช้ SDK โดยไม่ได้เปิดใช้โหมดนักพัฒนาแอป ขณะพัฒนา หากไม่มีการดำเนินการนี้ ระบบจะกำหนดให้ไฟล์ปฏิบัติการของเกมต้อง ลงนามแบบดิจิทัลด้วยใบรับรองดิจิทัลที่ลงทะเบียนไว้กับชื่อแพ็กเกจ Playไม่ได้เปิดใช้ไฟล์ปฏิบัติการของเกมผ่านไคลเอ็นต์ Google Play Games
ผู้ใช้ที่ใช้งานอยู่ใน Google Play Games ไม่มีใบอนุญาตสำหรับแอปพลิเคชัน
ขั้นตอนที่ 5: (ไม่บังคับ) รองรับกระบวนการเกมหลายรายการ
หากเกมของคุณใช้หลายกระบวนการและวางแผนที่จะใช้ Play Games PC SDK จาก กระบวนการที่ Google Play Games บน PC ไม่ได้เปิดใช้โดยตรง คุณจะต้องทำตามขั้นตอนการผสานรวมเพิ่มเติมดังนี้
กระบวนการที่ Google Play Games สำหรับ PC เปิดตัวโดยตรงต้อง ยืนยันการเริ่มต้นใช้งาน Play Games PC SDK ที่สำเร็จ
ซึ่งจะมอบประสบการณ์การใช้งานที่ดีที่สุดให้แก่ผู้ใช้ด้วยการแสดงข้อผิดพลาดโดยเร็วที่สุด โปรดทราบว่ากระบวนการย่อยที่ใช้ SDK ต้องทำการเริ่มต้นด้วย นอกเหนือจากกระบวนการที่เปิดใช้โดยตรง
หากต้องการใช้ Play Games PC SDK ในกระบวนการย่อย ให้ส่งต่อพารามิเตอร์บรรทัดคำสั่งไปยังกระบวนการย่อยที่สร้างขึ้น
ตัวอย่างการส่งต่อพารามิเตอร์บรรทัดคำสั่ง
Processes hierarchy tree: GooglePlayGames.exe └───YourGameLauncher.exe --foo=abc --bar=123 └───YourGame.exe --foo=abc --bar=123
ในตัวอย่างนี้ เราจะเห็นลำดับชั้นของกระบวนการที่ Google Play Games สำหรับ PC (
GooglePlayGames.exe
) เปิดตัวเกม (YourGameLauncher.exe
) พร้อมพารามิเตอร์ตัวอย่างบางส่วน (--foo=abc --bar=123
) จากนั้นเกมจะสร้างกระบวนการย่อย (YourGame.exe
) ซึ่งใช้ Play Games PC SDK หากต้องการอนุญาต กระบวนการของเกมที่ Google Play Games สำหรับ PC เปิดใช้จะส่งต่อพารามิเตอร์บรรทัดคำสั่ง ที่ได้รับไปยังกระบวนการย่อยออกจากการประมวลผลทั้งหมดเมื่อเกมหยุดทำงาน
เมื่อผู้ใช้ปิดเกมหรือเกมออกเนื่องจาก SDK เริ่มต้นทำงานไม่สำเร็จ เช่น
kActionRequiredShutdownClientProcess
ให้ปิดกระบวนการทั้งหมด ที่เกมของคุณสร้างขึ้น ซึ่งจะช่วยให้มั่นใจได้ว่าในครั้งถัดไปที่ไคลเอ็นต์ Google Play Games สำหรับ PC เปิดเกมของคุณ การเปลี่ยนแปลงใหม่ๆ เช่น การเปลี่ยนไปใช้บัญชีที่ใช้งานอยู่อื่น จะมีผล
ขั้นตอนถัดไป
ใช้ SDK ขณะพัฒนาใน IDE โดยทำดังนี้
- เปิดใช้โหมดนักพัฒนาซอฟต์แวร์
เพิ่มฟีเจอร์ Google Play บน PC ลงในแอปโดยทำดังนี้
- ขายสินค้าดิจิทัลด้วย Play Billing
- วัดผลการตลาดด้วย Play Install Referrer