ตรวจหาและแสดงไอเทมที่ซื้อในแอป

หัวข้อนี้อธิบายวิธีตรวจหาและแสดงไอเทมที่ซื้อในแอปในเกมหลังจากที่ผู้เล่นซื้อไอเทมเหล่านั้นด้วย Play Points ในแอป Google Play

เมื่อผู้ใช้แลกแต้ม Play เพื่อรับไอเทมที่ซื้อในแอปในแอป Google Play ระบบควรส่งไอเทมดังกล่าวในเกมของคุณทันที ข้อมูลต่อไปนี้แสดงวิธีที่ผู้ใช้ซื้อไอเทมด้วยแต้ม Play

1. คลิกแต้ม Play 1. คลิกแท็บใช้เพื่อดูรายการ 2. เลือกสินค้าแล้วคลิกใช้แต้มเพื่อทำการซื้อให้เสร็จสมบูรณ์ 3. รับสินค้า
ภาพหน้าจอของ TBD ภาพหน้าจอของ TBD ภาพหน้าจอของ TBD ภาพหน้าจอของ TBD

ในตัวอย่างนี้ เกมไม่ได้ทำงานขณะที่ซื้อผลิตภัณฑ์ นอกจากนี้ ผู้ใช้ยังแลกแต้ม Play เป็นไอเทมได้แม้ว่าจะไม่ได้ติดตั้งเกมไว้ในอุปกรณ์ ด้วยเหตุนี้ คุณจึงต้องออกแบบเกมให้จัดการการนำส่งไอเทมในแอปจากภายนอกร้านค้าในเกม

ก่อนเริ่มต้นใช้งาน

คุณต้องสร้างผลิตภัณฑ์และโปรโมชัน Play Points ก่อนจึงจะตรวจหาและส่งไอเทมที่ซื้อในแอปได้

ข้อกำหนดในการนำส่ง

เมื่อคุณนำเสนอไอเทมที่ซื้อในแอปในเกมโดยใช้โปรโมชัน Play Points คุณต้องปฏิบัติตามข้อกำหนดในส่วนนี้

ช่วงเวลานำส่ง

เมื่อผู้เล่นแลก Play Points กับไอเทมที่ซื้อในแอป คุณต้องส่งไอเทมให้ทันทีโดยไม่ต้องให้ผู้เล่นรีสตาร์ทเกม ในกรณีที่เนื้อหาเกมต้องเสร็จสมบูรณ์ก่อน เช่น ต้องทำบทแนะนำให้เสร็จสิ้น คุณควรนำส่งไอเทมทันทีหลังจากนั้น

ข้อความการนำส่ง

เมื่อผู้ใช้กลับมาที่เกมหลังจากซื้อไอเทมที่ซื้อในแอปนอกเกม คุณต้องแสดงการยืนยันว่ามอบไอเทมให้สำเร็จแล้วในเกม ข้อความควรอยู่ในรูปแบบของกล่องโต้ตอบแบบป๊อปอัปหรือข้อความในเกม ผู้ใช้ไม่ควรต้องดำเนินการใดๆ เพิ่มเติมเพื่อรับสินค้า

รูปแบบการรับส่งข้อความที่จำเป็นมีดังนี้

  • ข้อความที่ชัดเจนว่าได้รับสินค้าแล้ว

  • ระบุชื่อไอเทมอย่างชัดเจนและพูดถึง "แต้ม Play" เพื่อให้ผู้ใช้แยกแยะไอเทมนี้ออกจากเนื้อหาอื่นๆ ที่ได้รับ

  • ชื่อของสินค้าต้องระบุมูลค่าที่ถูกต้องของสินค้าด้วย หากมีสินค้าคล้ายกันที่มีมูลค่าหลายรายการ

  • ผู้ใช้ควรเห็นกล่องโต้ตอบแบบป๊อปอัป ข้อความ หรือการแจ้งเตือนในเกมจนกว่าผู้ใช้จะคลิกยืนยัน เช่น ต่อไปหรือตกลง ไม่ควรมีปุ่มยกเลิก เนื่องจากข้อความนี้มีไว้เพื่อแจ้งให้ผู้ใช้ทราบถึงไอเทมที่ตนได้รับในเกมเท่านั้น หากไม่มีปุ่มยืนยัน ผู้ใช้ควรเห็นข้อความอย่างน้อย 3 วินาทีก่อนที่จะหายไปเพื่อให้ผู้ใช้ทราบว่าตนได้รับไอเทมแล้ว

ตัวอย่างข้อความมีดังนี้

"ได้รับสินค้าแล้ว คุณเพิ่งได้รับเพชร 100 เม็ดจาก Play Points ดำเนินการต่อ"

ผู้ใช้ควรเห็นภาพเคลื่อนไหวหรือการยืนยันด้วยภาพซึ่งแสดงยอดเงินคงเหลือของสกุลเงินในเกมที่เพิ่มขึ้น หากไอเทมเป็นไอเทมในแอปที่คงทนหรือบริโภคได้ ระบบควรนำผู้ใช้ไปยังตำแหน่งที่ปลดล็อกไอเทมหรือไอเทมพร้อมใช้งานภายในเกม

ตรวจหาไอเทมที่รับนอกเกม

หากเกมใช้ Google Play Billing Library ให้ทำการเปลี่ยนแปลงต่อไปนี้เพื่อตรวจหาไอเทมที่ซื้อในแอปที่ได้รับนอกเกม

  1. ใน onResume() callback ของเกม ให้เรียกใช้เมธอด queryPurchases() เพื่อดึงข้อมูลรายการต่างๆ เพื่อให้คุณระบุรายการที่ยังไม่ได้รับทราบ

  2. หากเกมมีเซิร์ฟเวอร์ เราขอแนะนําอย่างยิ่งให้คุณยืนยันการซื้อจากเซิร์ฟเวอร์โดยใช้ Subscriptions and In-App Purchases API

  3. หากมีสินค้าที่เป็นเจ้าของแต่ยังไม่ได้รับทราบ ให้รับทราบการซื้อด้วย consumeAsync() สำหรับสินค้าที่บริโภคได้ หรือ acknowledgePurchase() สำหรับสินค้าที่บริโภคไม่ได้

  4. ให้สิทธิ์เข้าถึงไอเทมที่ซื้อภายในเกม

ตรวจหารายการที่ได้รับในโหมดแยกหน้าจอ

หากเกมรองรับโหมดหลายหน้าต่าง ผู้ใช้จะแลกแต้ม Play และรับไอเทมได้ขณะที่เปิดแอป Play Store และเกมของคุณพร้อมกัน ภาพหน้าจอนี้แสดงตัวอย่าง

ภาพหน้าจอที่แสดงปุ่มแลกแต้มขณะที่เกมกำลังเล่นอยู่

หากต้องการรองรับสถานการณ์นี้ด้วยไลบรารี Google Play Billing ให้ทำดังนี้

  1. Google Play จะเรียกใช้onPurchasesUpdated() เมธอดเพื่อแจ้งให้เกมทราบว่ามีรายการใหม่รอดำเนินการ

  2. หากเกมมีเซิร์ฟเวอร์ เราขอแนะนําอย่างยิ่งให้คุณยืนยันการซื้อจากเซิร์ฟเวอร์โดยใช้ Subscriptions and In-App Purchases API

  3. ยอมรับการซื้อโดยกด consumeAsync() สำหรับสินค้าที่ใช้แล้วหมดไป หรือกด acknowledgePurchase() สำหรับสินค้าที่ใช้แล้วไม่หมด

  4. ให้สิทธิ์เข้าถึงไอเทมที่ซื้อภายในเกม

แสดงการยืนยันการนำส่ง

เมื่อแลกแต้ม 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 หรือไม่

  • โปรดอ่านแนวทางปฏิบัติแนะนำต่อไปนี้เพื่อยืนยันว่าคุณต้องทําการเปลี่ยนแปลงเพิ่มเติมหรือไม่

การแก้ปัญหา

ส่วนนี้มีคําแนะนําสําหรับสถานการณ์ที่อาจส่งผลให้ลูกค้าสอบถาม

บัญชีผู้ใช้หลายบัญชี

หากผู้ใช้มีบัญชี Google หลายบัญชีในอุปกรณ์และแลกแต้ม Play ในบัญชีที่ไม่ถูกต้อง Google จะโอนไอเทมไปยังบัญชีอื่นไม่ได้ ในทํานองเดียวกัน แอปของคุณโอนรายการโดยการเรียกใช้เมธอด getPurchases() ไม่ได้ ในกรณีนี้ ให้พิจารณามอบไอเทมในแอปให้ผู้ใช้ด้วยตนเองโดยใช้การดำเนินการของฝ่ายสนับสนุนลูกค้า

สินค้าล่าช้าหรือสูญหาย

หากผู้เล่นพบปัญหาเกี่ยวกับไอเทมรางวัลที่ล่าช้าหรือไม่ได้รับ ให้ดูคำแนะนำในการแก้ปัญหาการซื้อในแอปในเอกสารประกอบความช่วยเหลือของ Google Play