การเริ่มต้น IAP v4
หากต้องการใช้ IAP v4 ต้องขอเริ่มต้น IAP หนึ่งครั้งก่อนการซื้อ เมื่อขอเริ่มต้น IAP แอปไคลเอนต์จะส่งคืนข้อมูลร้านค้าที่ใช้งานได้เป็นค่าผลลัพธ์
ข้อมูลร้านค้า¶
ข้อมูลร้านค้าถูกกำหนดเป็นอีเนัม IAPV4Type และรายละเอียดของฟิลด์มีดังนี้
| ชื่อฟิลด์ | คำอธิบาย |
|---|---|
| APPLE_APPSTORE | Apple App Store |
| GOOGLE_PLAYSTORE | Google Play Store |
| HIVE_LEBI | Lebi Store |
| ONESTORE | ONE Store |
| AMAZON_APPSTORE | Amazon App Store (ใช้ได้กับ SDK v4 เท่านั้น) |
| SAMSUNG_GALAXYSTORE | Samsung Galaxy Store |
| HUAWEI_APPGALLERY | Huawei App Gallery |
| HIVESTORE | PG (รองรับ Unity สำหรับ Windows, iOS, Android) |
| ANIMATE_GO | animate Games Online (เฉพาะ Android) |
| DMM | ร้านค้าแต้ม DMM ใช้เมื่อรันผ่าน DMM GAME PLAYER บน Windows |
HIVESTOREPG รองรับเพียง การค้นหาและซื้อสินค้า เท่านั้น และการตรวจสอบใบเสร็จที่ใช้บนไคลเอนต์ไม่รองรับ- การชำระเงิน
DMMใช้ได้เฉพาะเมื่อรันผ่าน DMM GAME PLAYER บน Windows และใช้แต้ม DMM ในการชำระเงิน
แม้บริการแอปในร้านค้าจะสิ้นสุดลง ผู้ใช้เดิมยังต้องสามารถเข้าถึงร้านค้าสกุลเงินในเกมเพื่อเล่นเกมต่อได้ ดังนั้นแอปต้อง ออกแบบร้านค้าชำระเงินด้วยเงินจริงและร้านค้าสกุลเงินในเกมแยกจากกันเสมอ ค่าผลลัพธ์ที่ส่งกลับจากการเริ่มต้น IAP v4 ไม่ได้มีไว้เพื่อเข้าถึงร้านค้าในเกม ดังนั้นอย่านำไปใช้ผิดวัตถุประสงค์
สิ่งที่ต้องตรวจสอบก่อนใช้งานการชำระเงิน DMM¶
การชำระเงิน DMM ใช้เมื่อรันผ่าน DMM GAME PLAYER บน Windows เนื้อหาเกี่ยวกับ DMM ในเอกสารนี้อ้างอิงตามสภาพแวดล้อม Windows สำหรับข้อจำกัดเรื่องการเข้าสู่ระบบ DMM และโทเค็นจัดการ โปรดดูที่ เข้าสู่ระบบด้วย DMM ก่อน
การชำระเงิน DMM เป็นวิธีชำระเงินที่ใช้แต้ม DMM ที่ผู้ใช้เติมไว้ในการซื้อสินค้า ขั้นตอนการขอชำระเงินและการกู้คืนเป็นไปตามขั้นตอนการซื้อทั่วไปของ IAP v4 แต่จะทำงานร่วมกับเงื่อนไขเฉพาะของ DMM เช่น การตรวจสอบยอดแต้ม DMM คงเหลือและการแนะนำให้เติมแต้ม ดังนั้นในสภาพแวดล้อม DMM บน Windows ระบบจะยังคงขั้นตอน IAP v4 เดิมไว้ พร้อมทั้งประมวลผลเงื่อนไขการชำระเงินที่อิงตามแต้ม DMM ไปพร้อมกัน
เตรียมความพร้อม: การลงทะเบียนในคอนโซล¶
หากต้องการใช้การยืนยันตัวตน DMM โปรดดูที่ เข้าสู่ระบบด้วย DMM ก่อน
คุณสมบัติของการชำระเงิน DMM¶
การชำระเงินจะได้รับการยืนยันทันทีหลังเรียก purchase() โดยไม่มี UI หน้าต่างชำระเงินแยกต่างหาก อย่างไรก็ตาม ขึ้นอยู่กับสถานการณ์การประมวลผลของเซิร์ฟเวอร์ ใบเสร็จอาจไม่ถูกส่งคืนทันทีหลังการซื้อ ในกรณีนี้ให้เรียก restore() เพื่อขอรับใบเสร็จอีกครั้ง
การเรียกใช้ API การชำระเงิน DMM ต้องใช้โทเค็นจัดการ onetime_token ที่ยังไม่หมดอายุ สำหรับอายุของโทเค็น การต่ออายุอัตโนมัติ และการจัดการเมื่อหมดอายุ โปรดดูที่ เข้าสู่ระบบด้วย DMM
เริ่มต้น IAPv4¶
หากต้องการเริ่มต้น IAP v4 ต้องเรียกเมธอด marketConnect() ของคลาส IAPV4
ต่อไปนี้คือตัวอย่างโค้ดเพื่อเริ่มต้น IAP v4.
เอกสาร API: hive.IAPV4.marketConnect
API Reference: IAPV4::marketConnect
API Reference: IAPV4.marketConnect
API Reference: com.hive.IAPV4.marketConnect
API Reference: IAPV4Interface .marketConnect
API Reference: HIVEIAPV4::marketConnect
ตรวจสอบผลการเริ่มต้น¶
หากใช้หลายร้านค้า marketList ที่ส่งผ่าน callback จะรวมร้านค้าที่ตั้งค่าไว้ใน Hive Console และ callback จะแตกต่างกันตามผลสำเร็จของการเริ่มต้นร้านค้าดังนี้
- หากร้านค้าทั้งหมดหรือเฉพาะบางร้านค้าเชื่อมต่อสำเร็จ:
ResultAPIจะส่งคืนความสำเร็จ และmarketListจะส่งเฉพาะร้านค้าที่เชื่อมต่อสำเร็จ - หากการเชื่อมต่อร้านค้าทั้งหมดล้มเหลว:
ResultAPIจะส่งคืนรหัสข้อผิดพลาด และmarketListจะส่งคืนค่าไม่มี (null)
ตัวอย่างเช่น ในแอปที่ตั้งค่าทั้ง App Store และ PG (Hive Store) ใน Hive Console หากล้มเหลวเฉพาะการเชื่อมต่อ PG (Hive Store):
ResultAPI: ส่งคืนความสำเร็จmarketList:[APPLE_APPSTORE](ส่งเฉพาะร้านค้าที่สำเร็จ)
Warning
หากการเรียกเมธอด marketConnect() ล้มเหลว คุณจะไม่สามารถดำเนินการดูรายการสินค้าและการซื้อได้ตามปกติ สาเหตุของความล้มเหลวมีดังนี้
- การล็อกอินบัญชีบนอุปกรณ์ไม่สมบูรณ์
- การล็อกอินแอปแพลตฟอร์มร้านค้า เช่น Google Play Store หรือ Apple App Store ไม่สมบูรณ์
- การตั้งค่าร้านค้าตาม App ID ใน Hive Console ไม่สมบูรณ์
แม้ ResultAPI จะส่งคืนความสำเร็จ ก็ไม่ได้หมายความว่าร้านค้าทั้งหมดที่ตั้งค่าไว้ในคอนโซลเชื่อมต่อแล้ว หากจำนวนร้านค้าที่ตั้งค่าไว้ในคอนโซลแตกต่างจากจำนวนร้านค้าใน marketList แสดงว่าการเชื่อมต่อบางร้านค้าล้มเหลว ดังนั้นให้ดำเนินการขั้นตอนการชำระเงินถัดไปด้วยร้านค้าที่อยู่ใน marketList ที่ส่งคืนเท่านั้น
หาก ResultAPI ส่งคืนความล้มเหลว (ล้มเหลวทั้งหมด) แอปไคลเอนต์ต้องจัดการเอง เช่น retry จนกว่าจะได้รับ success callback หรือแสดงสถานะข้อผิดพลาด (ใช้งานร้านค้าไม่ได้) ให้ผู้ใช้ทราบผ่าน popup
ตรวจสอบรหัสที่เกี่ยวข้องได้ที่ IAP v4 Result API Guide
หมายเหตุสำหรับการเริ่มต้น¶
จาก Hive SDK v4 Unity Windows 25.8.0 รองรับแอป Windows สำหรับ Google Play และสามารถใช้ร้านค้า GOOGLE_PLAYSTORE ได้ ในกรณีนี้ โปรดทราบสิ่งต่อไปนี้ระหว่างการพัฒนา:
- ผู้ใช้ต้องเข้าสู่ระบบด้วยบัญชี Google ในแอป PC Google Play Games ให้เสร็จสิ้นก่อนเรียกใช้
IAPV4.marketConnect - ต้องเตรียมไฟล์ manifest.xml ให้พร้อม
สามารถใช้ PG (HIVESTORE) ได้ตั้งแต่ Hive SDK v4 iOS เวอร์ชัน 26.3.2 เป็นต้นไป
การจัดการความล้มเหลวในการเริ่มต้น Google Play for native PC (Hive SDK v4 Unity Windows 26.4.2 ขึ้นไป)¶
หากจำเป็นต้องปิดแอปเนื่องจากการเริ่มต้น Play Games PC SDK ล้มเหลว ระบบจะส่งผลลัพธ์ผ่าน callback ของ IAPV4.marketConnect แทนการบังคับปิดแอป ทั้งนี้เพื่อให้แอปสามารถควบคุมจังหวะเวลาและวิธีการปิดแอปได้ด้วยตนเอง
เมื่อการเริ่มต้น Play Games PC SDK ล้มเหลว (kActionRequiredShutdownClientProcess) callback ของ IAPV4.marketConnect จะส่งรหัสผลลัพธ์ IAPV4PlayStoreActionRequiredShutdown(-6100706) กลับมา
เมื่อได้รับรหัสผลลัพธ์นี้ ขอแนะนำให้ปิดโปรเซสของแอปโดยเร็วที่สุด เนื่องจาก ResultAPI.needExit() จะคืนค่า true คุณจึงสามารถใช้ needExit() เพื่อตรวจสอบว่าจำเป็นต้องปิดแอปหรือไม่ เมื่อปิดโปรเซสแล้ว ฝั่ง Play Games PC SDK จะพยายามดำเนินการขั้นตอนต่อไปเพื่อสนับสนุนผู้ใช้