หัวข้อนี้อธิบายวิธีตรวจหาและแสดงไอเทมที่ซื้อในแอปในเกมหลังจากที่ผู้เล่นซื้อไอเทมเหล่านั้นด้วย Play Points ในแอป Google Play
เมื่อผู้ใช้แลกแต้ม Play เพื่อรับไอเทมที่ซื้อในแอปในแอป Google Play ระบบควรส่งไอเทมดังกล่าวในเกมของคุณทันที ข้อมูลต่อไปนี้แสดงวิธีที่ผู้ใช้ซื้อไอเทมด้วยแต้ม Play
1. คลิกแต้ม Play | 1. คลิกแท็บใช้เพื่อดูรายการ | 2. เลือกสินค้าแล้วคลิกใช้แต้มเพื่อทำการซื้อให้เสร็จสมบูรณ์ | 3. รับสินค้า |
![]() |
![]() |
![]() |
![]() |
ในตัวอย่างนี้ เกมไม่ได้ทำงานขณะที่ซื้อผลิตภัณฑ์ นอกจากนี้ ผู้ใช้ยังแลกแต้ม Play เป็นไอเทมได้แม้ว่าจะไม่ได้ติดตั้งเกมไว้ในอุปกรณ์ ด้วยเหตุนี้ คุณจึงต้องออกแบบเกมให้จัดการการนำส่งไอเทมในแอปจากภายนอกร้านค้าในเกม
ก่อนเริ่มต้นใช้งาน
คุณต้องสร้างผลิตภัณฑ์และโปรโมชัน Play Points ก่อนจึงจะตรวจหาและส่งไอเทมที่ซื้อในแอปได้
ข้อกำหนดในการนำส่ง
เมื่อคุณนำเสนอไอเทมที่ซื้อในแอปในเกมโดยใช้โปรโมชัน Play Points คุณต้องปฏิบัติตามข้อกำหนดในส่วนนี้
ช่วงเวลานำส่ง
เมื่อผู้เล่นแลก Play Points กับไอเทมที่ซื้อในแอป คุณต้องส่งไอเทมให้ทันทีโดยไม่ต้องให้ผู้เล่นรีสตาร์ทเกม ในกรณีที่เนื้อหาเกมต้องเสร็จสมบูรณ์ก่อน เช่น ต้องทำบทแนะนำให้เสร็จสิ้น คุณควรนำส่งไอเทมทันทีหลังจากนั้น
ข้อความการนำส่ง
เมื่อผู้ใช้กลับมาที่เกมหลังจากซื้อไอเทมที่ซื้อในแอปนอกเกม คุณต้องแสดงการยืนยันว่ามอบไอเทมให้สำเร็จแล้วในเกม ข้อความควรอยู่ในรูปแบบของกล่องโต้ตอบแบบป๊อปอัปหรือข้อความในเกม ผู้ใช้ไม่ควรต้องดำเนินการใดๆ เพิ่มเติมเพื่อรับสินค้า
รูปแบบการรับส่งข้อความที่จำเป็นมีดังนี้
ข้อความที่ชัดเจนว่าได้รับสินค้าแล้ว
ระบุชื่อไอเทมอย่างชัดเจนและพูดถึง "แต้ม Play" เพื่อให้ผู้ใช้แยกแยะไอเทมนี้ออกจากเนื้อหาอื่นๆ ที่ได้รับ
ชื่อของสินค้าต้องระบุมูลค่าที่ถูกต้องของสินค้าด้วย หากมีสินค้าคล้ายกันที่มีมูลค่าหลายรายการ
ผู้ใช้ควรเห็นกล่องโต้ตอบแบบป๊อปอัป ข้อความ หรือการแจ้งเตือนในเกมจนกว่าผู้ใช้จะคลิกยืนยัน เช่น ต่อไปหรือตกลง ไม่ควรมีปุ่มยกเลิก เนื่องจากข้อความนี้มีไว้เพื่อแจ้งให้ผู้ใช้ทราบถึงไอเทมที่ตนได้รับในเกมเท่านั้น หากไม่มีปุ่มยืนยัน ผู้ใช้ควรเห็นข้อความอย่างน้อย 3 วินาทีก่อนที่จะหายไปเพื่อให้ผู้ใช้ทราบว่าตนได้รับไอเทมแล้ว
ตัวอย่างข้อความมีดังนี้
"ได้รับสินค้าแล้ว คุณเพิ่งได้รับเพชร 100 เม็ดจาก Play Points ดำเนินการต่อ"
ผู้ใช้ควรเห็นภาพเคลื่อนไหวหรือการยืนยันด้วยภาพซึ่งแสดงยอดเงินคงเหลือของสกุลเงินในเกมที่เพิ่มขึ้น หากไอเทมเป็นไอเทมในแอปที่คงทนหรือบริโภคได้ ระบบควรนำผู้ใช้ไปยังตำแหน่งที่ปลดล็อกไอเทมหรือไอเทมพร้อมใช้งานภายในเกม
ตรวจหาไอเทมที่รับนอกเกม
หากเกมใช้ Google Play Billing Library ให้ทำการเปลี่ยนแปลงต่อไปนี้เพื่อตรวจหาไอเทมที่ซื้อในแอปที่ได้รับนอกเกม
ใน
onResume()
callback ของเกม ให้เรียกใช้เมธอดqueryPurchases()
เพื่อดึงข้อมูลรายการต่างๆ เพื่อให้คุณระบุรายการที่ยังไม่ได้รับทราบหากเกมมีเซิร์ฟเวอร์ เราขอแนะนําอย่างยิ่งให้คุณยืนยันการซื้อจากเซิร์ฟเวอร์โดยใช้ Subscriptions and In-App Purchases API
หากมีสินค้าที่เป็นเจ้าของแต่ยังไม่ได้รับทราบ ให้รับทราบการซื้อด้วย
consumeAsync()
สำหรับสินค้าที่บริโภคได้ หรือacknowledgePurchase()
สำหรับสินค้าที่บริโภคไม่ได้ให้สิทธิ์เข้าถึงไอเทมที่ซื้อภายในเกม
ตรวจหารายการที่ได้รับในโหมดแยกหน้าจอ
หากเกมรองรับโหมดหลายหน้าต่าง ผู้ใช้จะแลกแต้ม Play และรับไอเทมได้ขณะที่เปิดแอป Play Store และเกมของคุณพร้อมกัน ภาพหน้าจอนี้แสดงตัวอย่าง
หากต้องการรองรับสถานการณ์นี้ด้วยไลบรารี Google Play Billing ให้ทำดังนี้
Google Play จะเรียกใช้
onPurchasesUpdated()
เมธอดเพื่อแจ้งให้เกมทราบว่ามีรายการใหม่รอดำเนินการหากเกมมีเซิร์ฟเวอร์ เราขอแนะนําอย่างยิ่งให้คุณยืนยันการซื้อจากเซิร์ฟเวอร์โดยใช้ Subscriptions and In-App Purchases API
ยอมรับการซื้อโดยกด
consumeAsync()
สำหรับสินค้าที่ใช้แล้วหมดไป หรือกดacknowledgePurchase()
สำหรับสินค้าที่ใช้แล้วไม่หมดให้สิทธิ์เข้าถึงไอเทมที่ซื้อภายในเกม
แสดงการยืนยันการนำส่ง
เมื่อแลกแต้ม Play และได้รับไอเทมจากการแลก ผู้ใช้จะคาดหวังว่าเกมจะแสดงข้อความในเกม หรือใช้การแจ้งเตือนบางอย่างเพื่อแจ้งให้ผู้ใช้ทราบว่าเกมได้รับและประมวลผลไอเทมอย่างถูกต้องแล้ว ตัวเลือกการยืนยันการนำส่งมีดังนี้
แสดงป๊อปอัปในเกม
ส่งข้อความไปยังกล่องข้อความในเกม และระบุอย่างชัดเจนว่ามีข้อความใหม่ในกล่องข้อความในเกม
ใช้ข้อความการแจ้งเตือนของระบบปฏิบัติการ
เกมอาจอยู่ในสถานะใดก็ได้เมื่อได้รับไอเทมโปรโมชัน ซึ่งรวมถึงยังไม่ได้ติดตั้งในอุปกรณ์ คุณต้องตรวจหาไอเทมโปรโมชันโดยไม่คำนึงถึงสถานะของเกมเมื่อได้รับไอเทม อย่างไรก็ตาม มีข้อยกเว้นบางประการที่อาจไม่จําเป็นต้องแจ้งให้ผู้ใช้ทราบว่าได้รับสินค้าแล้วในทันที เช่น
ในระหว่างเกมเพลย์ที่การแสดงข้อความอาจทำให้ผู้ใช้เสียสมาธิ ในกรณีนี้ คุณต้องแจ้งให้ผู้ใช้ทราบหลังจากการดำเนินการสิ้นสุดลง
ในระหว่างฉากตัด ซึ่งการแสดงข้อความอาจทำให้ผู้ใช้เสียสมาธิ ในกรณีนี้ คุณจะต้องแจ้งให้ผู้ใช้ทราบหลังจากฉากตัดจบ
ในระหว่างบทแนะนำเบื้องต้นและการตั้งค่าผู้ใช้ของเกม เราขอแนะนำให้คุณแจ้งให้ผู้ใช้ใหม่ทราบถึงรางวัลทันทีหลังจากที่ผู้ใช้เปิดเกมหรือระหว่างการตั้งค่าผู้ใช้ครั้งแรก อย่างไรก็ตาม คุณรอจนกว่าลำดับขั้นของเกมหลักจะพร้อมใช้งานเพื่อแจ้งให้ผู้ใช้ทราบได้
หากแอปมีตัวละครหรือบัญชีหลายรายการที่ใช้ไอเทมได้ เราขอแนะนำให้คุณแจ้งให้ผู้ใช้เลือกบัญชีที่จะรับไอเทมโปรโมชัน
คำนึงถึงผู้ใช้เมื่อตัดสินใจว่าจะแจ้งผู้ใช้เกี่ยวกับไอเทมโปรโมชันเมื่อใดและอย่างไร เมื่อใดก็ตามที่ผู้ใช้ไม่ได้รับการแจ้งเตือนในทันที ผู้ใช้อาจสับสน หยุดเล่นเกม ติดต่อทีมสนับสนุนผู้ใช้ หรือร้องเรียนเกี่ยวกับเรื่องนี้ในโซเชียลมีเดีย
การอัปเดตสำหรับเครื่องมือสร้างเกมที่เฉพาะเจาะจง
ข้อควรพิจารณาสำหรับเครื่องมือสร้างเกมที่เฉพาะเจาะจงมีดังนี้
หากเกมของคุณสร้างขึ้นด้วย Unity เราขอแนะนำให้คุณตรวจสอบว่าการใช้งาน IAP ที่คุณใช้รองรับโปรโมชัน Play Points อยู่แล้วหรือไม่
หากเกมสร้างขึ้นด้วย Cocos2d-x หรือ Unreal Engine (C/C++) คุณอาจต้องเขียนโค้ด JNI ที่เรียก Java API จากโค้ด C/C++
แนวทางปฏิบัติแนะนำฝั่งเซิร์ฟเวอร์
ส่วนนี้ประกอบด้วยแนวทางปฏิบัติแนะนำฝั่งเซิร์ฟเวอร์สำหรับใช้กับโปรโมชัน Play Points ดังนี้
หากคุณเรียกใช้
Purchases.products: get
ในเซิร์ฟเวอร์ ให้ตรวจสอบว่าคุณต้องจัดการไอเทมการแลกสิทธิ์ของ Play และไอเทมที่ซื้อในแอปอื่นๆ แยกกันหรือไม่ โดยอิงตามค่าproductId
หากคุณใช้
Inappproducts: list
ในเซิร์ฟเวอร์ ให้ตรวจสอบว่าคุณต้องแยกไอเทมการแลกคะแนน Play ออกจากไอเทมที่ซื้อในแอปอื่นๆ ตามค่าproductId
หรือไม่โปรดอ่านแนวทางปฏิบัติแนะนำต่อไปนี้เพื่อยืนยันว่าคุณต้องทําการเปลี่ยนแปลงเพิ่มเติมหรือไม่
- ข้อมูลอ้างอิง:
- ใช้การยืนยันลายเซ็นฝั่งเซิร์ฟเวอร์
- ตรวจสอบว่าค่า
purchaseToken
และorderId
นั้นไม่ซ้ำกันและไม่เคยมีการใช้มาก่อน
การแก้ปัญหา
ส่วนนี้มีคําแนะนําสําหรับสถานการณ์ที่อาจส่งผลให้ลูกค้าสอบถาม
บัญชีผู้ใช้หลายบัญชี
หากผู้ใช้มีบัญชี Google หลายบัญชีในอุปกรณ์และแลกแต้ม Play ในบัญชีที่ไม่ถูกต้อง Google จะโอนไอเทมไปยังบัญชีอื่นไม่ได้ ในทํานองเดียวกัน แอปของคุณโอนรายการโดยการเรียกใช้เมธอด getPurchases()
ไม่ได้ ในกรณีนี้ ให้พิจารณามอบไอเทมในแอปให้ผู้ใช้ด้วยตนเองโดยใช้การดำเนินการของฝ่ายสนับสนุนลูกค้า
สินค้าล่าช้าหรือสูญหาย
หากผู้เล่นพบปัญหาเกี่ยวกับไอเทมรางวัลที่ล่าช้าหรือไม่ได้รับ ให้ดูคำแนะนำในการแก้ปัญหาการซื้อในแอปในเอกสารประกอบความช่วยเหลือของ Google Play