หัวข้อนี้อธิบายวิธีตรวจหาและส่งมอบไอเทมที่ซื้อในแอปในเกม หลังจากที่ผู้เล่นซื้อด้วย Play Points ในแอป Google Play
เมื่อผู้ใช้แลกแต้ม Play เป็นไอเทมที่ซื้อในแอปในแอป Google Play แล้ว ระบบควรส่งไอเทมดังกล่าวในเกมของคุณทันที ภาพต่อไปนี้ แสดงวิธีที่ผู้ใช้ซื้อไอเทมด้วยแต้ม Play
1. คลิกแต้ม Play | 1. คลิกแท็บใช้เพื่อดูไอเทม | 2. เลือกรายการแล้วคลิกใช้แต้มเพื่อทำการซื้อให้เสร็จสมบูรณ์ | 3. รับสินค้า |
![]() |
![]() |
![]() |
![]() |
ในตัวอย่างนี้ เกมไม่ได้ทำงานขณะที่ซื้อผลิตภัณฑ์ ผู้ใช้ยังแลกแต้ม Play เป็นผลิตภัณฑ์ได้ด้วยเมื่อไม่ได้ติดตั้งเกมในอุปกรณ์ ด้วยเหตุนี้ คุณจึงต้องออกแบบเกมให้รองรับการนำส่งไอเทมในแอป จากภายนอกร้านค้าในเกม
ก่อนเริ่มต้นใช้งาน
ก่อนที่จะตรวจหาและส่งไอเทมที่ซื้อในแอป คุณต้องสร้างโปรโมชันผลิตภัณฑ์และ Play Points
ข้อกำหนดในการนำส่ง
เมื่อส่งไอเทมที่ซื้อในแอปในเกมโดยใช้โปรโมชัน Play Points คุณ ต้องทำตามข้อกำหนดในส่วนนี้
เวลาในการนำส่ง
เมื่อผู้เล่นแลกแต้ม Play เป็นไอเทมที่ซื้อในแอป คุณต้องส่งไอเทมให้ผู้เล่นทันทีโดยไม่ต้องให้ผู้เล่นรีสตาร์ทเกม ในกรณีที่ต้องทำเนื้อหาเกมให้เสร็จก่อน เช่น การทำบทแนะนำให้เสร็จ ระบบควรส่งไอเทมให้ทันทีหลังจากนั้น
ข้อความนำส่ง
เมื่อผู้ใช้กลับมาที่เกมหลังจากซื้อไอเทมที่ซื้อในแอปนอกเกม คุณต้องแสดงการยืนยันว่าระบบได้ให้ไอเทมดังกล่าวในเกมเรียบร้อยแล้ว ข้อความควรอยู่ในรูปแบบกล่องโต้ตอบแบบป๊อปอัป หรือข้อความในเกม ผู้ใช้ไม่ควรต้องดำเนินการใดๆ เพิ่มเติมเพื่อ รับไอเทม
รูปแบบการรับส่งข้อความที่จำเป็นมีดังนี้
ข้อความที่ชัดเจนว่าได้รับสินค้าแล้ว
ระบุชื่อไอเทมอย่างชัดเจนและอ้างอิงถึง "Play Points" เพื่อให้ผู้ใช้แยกไอเทมดังกล่าวออกจากเนื้อหาอื่นๆ ที่ได้รับได้
ชื่อของสินค้าต้องระบุมูลค่าที่ถูกต้องของสินค้าด้วย หากมีสินค้าที่คล้ายกันซึ่งมีมูลค่าหลายรายการ
กล่องโต้ตอบแบบป๊อปอัป ข้อความ หรือการแจ้งเตือนในเกมควรแสดงต่อผู้ใช้จนกว่าผู้ใช้จะคลิกการยืนยัน เช่น ต่อไป หรือตกลง ไม่ควรมีปุ่มยกเลิก เนื่องจากข้อความนี้มีไว้เพื่อแจ้งให้ผู้ใช้ทราบถึงไอเทมที่ได้รับในเกมเท่านั้น หากไม่มีปุ่มยืนยัน ข้อความควรแสดงต่อผู้ใช้เป็นเวลาอย่างน้อย 3 วินาที ก่อนที่จะหายไปเพื่อให้ผู้ใช้ทราบว่าได้รับไอเทมแล้ว
ตัวอย่างข้อความ
"ได้รับสินค้าแล้ว คุณเพิ่งได้รับอัญมณี 100 เม็ดจาก Play Points ดำเนินการต่อ"
ผู้ใช้ควรเห็นภาพเคลื่อนไหวหรือการยืนยันด้วยภาพที่แสดง ยอดเงินสกุลเงินในเกมที่เพิ่มขึ้น หากไอเทมเป็นไอเทมในแอปที่คงทนหรือไอเทมที่ใช้แล้วหมด ผู้ใช้ควรได้รับแจ้งให้ไปที่ตำแหน่งที่ไอเทมถูกปลดล็อกหรือพร้อมใช้งานภายในเกม
ตรวจหาไอเทมที่ได้รับนอกเกม
หากเกมของคุณใช้ Google Play Billing Library ให้ทําการเปลี่ยนแปลง ต่อไปนี้เพื่อตรวจหาไอเทมที่ซื้อในแอปที่ได้รับนอก เกม
ใน
onResume()
การเรียกกลับของเกม ให้เรียกใช้เมธอดqueryPurchases()
เพื่อดึงรายการไอเทม เพื่อให้คุณระบุได้ว่าไอเทมใดที่ยังไม่ได้รับการรับทราบหากเกมมีเซิร์ฟเวอร์ เราขอแนะนำให้คุณ ยืนยันการซื้อจากเซิร์ฟเวอร์ โดยใช้ Subscriptions and In-App Purchases API
หากมีไอเทมที่คุณเป็นเจ้าของแต่ยังไม่ได้ยืนยัน ให้ยืนยันการซื้อด้วย
consumeAsync()
สำหรับไอเทมที่ใช้แล้วหมดไป หรือด้วยacknowledgePurchase()
สำหรับไอเทมที่อยู่ตลอดไปให้สิทธิ์ในไอเทมที่ซื้อภายในเกม
ตรวจหารายการที่ได้รับในโหมดแยกหน้าจอ
หากเกมรองรับโหมดหลายหน้าต่าง ผู้ใช้จะแลกแต้ม Play และรับไอเทมได้ขณะที่ เรียกใช้แอป Play Store และเกมพร้อมกัน ภาพหน้าจอนี้ แสดงตัวอย่าง
หากต้องการรองรับสถานการณ์นี้ด้วย Google Play Billing Library ให้ทำดังนี้
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