การส่งค่า Achievement เกมมือถือของ Google Play Game Service #UE4

 Achievement ต้องส่งคำขอไปทุกวินาทีหรือ Event tick (ซึ่งเป็นการเขียนโปรแกรมที่ผิด)


จากรูปทดลองส่งค่าเช็คแบบง่าย ๆ เมื่อประสบความสำเร็จส่ง Progress ไป 100 เลย หรือ จะส่งค่าไปทีละช่วงเปอร์เซ็นต์ (ด้านล่าง) (ซึ่งเป็นการเขียนโปรแกรมที่ผิดแต่มัน Work ในกรณีที่ส่งคำขอไป 10-20 รายการ หากว่ามากกว่านั้น เกมจะทำงานช้า)


ถ้าต้องการรับค่า Achievement ต้องเข้าสู่ระบบของ Google Play Game Service และ Cache Achievement

ทดสอบการรับค่า Achievement

ชื่อและรหัสของ Achievement เป็น Case study ตัวหนังสือใหญ่หรือเล็ก ต้องเหมีอนเด๊ะ!

ชื่อและรหัสความสำเร็จนำมาจาก Google Play Console>Achievement>Get Resource หากมีการเว้นวรรคแต่ละคำ ต้องขึ้นต้นตัวหนังสือตัวแรกเป็นตัวพิมพ์ใหญ่

การเรียกดูรายการความสำเร็จในเกม
---------------------------------------------------------------------------------------------------------------------

การส่งไปทีละช่วงเปอร์เซ็นต์

เริ่มตั้งแต่การสร้าง Achievement ที่ Google Play Console
ตอนสร้างต้องติ๊กถูกที่ Make this achievement incremental ของ Incremental achievements

**หาก Publish แอพแล้ว เราจะไม่สามารถแก้ไข achievement นี้ได้
การส่งค่า Achievement ไปทีละช่วงเปอร์เซ็นต์ที่คำนวณส่งโดย
 "ค่าที่ได้ ณ ปัจจุบัน" หาร "ค่าหลักที่กำหนด" คูณ 100 เป็นคณิตศาสตร์เศษส่วน
ที่มาและข้อมูลเพิ่มเติม
1. https://developers.google.com/games/services/common/concepts/achievements
2. https://docs.unrealengine.com/en-US/SharingAndReleasing/Mobile/Android/Achievements/index.html
 
เพื่อหลีกเลี่ยงการส่งตลอดเวลาหรือ Event Tick ที่เคยอ่านมาว่าไม่ดีในการเขียนโปรแกรมเลยส่งแบบ Set timer by event ซึ่งติ๊ก looping เพราะส่งคำขอไปครั้งเดียวไม่ได้รับคำตอบ เลยส่งคำขอย้ำๆ
Set timer by event

No comments:

Post a Comment