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

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

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

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

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

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

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

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

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

เวลาในการนำส่ง

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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