ลีดเดอร์บอร์ดเป็นวิธีที่สนุกในการกระตุ้นการแข่งขันในหมู่ผู้เล่น ทั้งสำหรับแฟนๆ ตัวยง (ที่จะต่อสู้เพื่อชิงตำแหน่งสูงสุดในลีดเดอร์บอร์ดสาธารณะ) และสำหรับผู้เล่นทั่วไป (ที่จะสนใจเปรียบเทียบความคืบหน้าของตนกับเพื่อนๆ)
ดูวิธีใช้ลีดเดอร์บอร์ดสําหรับแพลตฟอร์มของคุณได้ที่การติดตั้งใช้งานฝั่งไคลเอ็นต์
ทำความเข้าใจลีดเดอร์บอร์ด
เมื่อคุณสร้างลีดเดอร์บอร์ด บริการเกมของ Play จะจัดการลีดเดอร์บอร์ดนี้ให้คุณในเกือบทุกด้าน กระบวนการทั่วไปมีลักษณะดังนี้
- เมื่อจบเกม (หรือในเวลาที่เหมาะสมที่คุณกำหนดไว้) เกมจะส่งคะแนนของผู้เล่นไปยังลีดเดอร์บอร์ดอย่างน้อย 1 รายการที่คุณสร้างไว้สำหรับเกม
- บริการเกมของ Play จะตรวจสอบว่าคะแนนนี้ดีกว่าคะแนนปัจจุบันของผู้เล่นในลีดเดอร์บอร์ดสำหรับคะแนนรายวัน รายสัปดาห์ หรือคะแนนรวมหรือไม่ หากดีกว่า บริการเกมของ Play จะอัปเดตลีดเดอร์บอร์ดที่เกี่ยวข้องด้วยคะแนนใหม่
- บริการเกมของ Play จะส่งรายงานคะแนนกลับไปยังไคลเอ็นต์เกม รายงานนี้จะบอกไคลเอ็นต์ว่าคะแนนนี้เป็นคะแนนสูงสุดใหม่รายวัน รายสัปดาห์ หรือคะแนนรวมหรือไม่ หากไม่ใช่ บริการเกมของ Play จะบอกไคลเอ็นต์ว่าคะแนนสูงสุดปัจจุบันรายวัน รายสัปดาห์ หรือคะแนนรวมของผู้เล่นรายนี้คือเท่าใด
- หากต้องการดึงผลลัพธ์ของผู้เล่นสำหรับลีดเดอร์บอร์ด คุณสามารถขอช่วงเวลา (รายวัน รายสัปดาห์ หรือคะแนนรวม) และระบุว่าผู้ใช้ต้องการเห็นลีดเดอร์บอร์ดโซเชียลหรือลีดเดอร์บอร์ดสาธารณะหรือไม่ บริการเกมของ Play จะทำการกรองที่จำเป็นทั้งหมด แล้วส่งผลลัพธ์กลับไปยังไคลเอ็นต์
- ในกรณีที่มีคะแนนจำนวนมากที่ต้องรายงาน บริการเกมของ Play จะส่งกลับเฉพาะข้อมูลคะแนนสูงสุดในลีดเดอร์บอร์ด นอกจากนี้ คุณยังดึงข้อมูลคะแนนดิบสำหรับคะแนนสูงสุดหรือคะแนนที่อยู่ติดกับคะแนนของผู้เล่นได้ด้วย
ลีดเดอร์บอร์ดหลายรายการ
เกมมีลีดเดอร์บอร์ดได้หลายรายการ โดยมีจำนวนสูงสุด 70 รายการ ตัวอย่างเช่น เกมที่มีหลายระดับอาจมีลีดเดอร์บอร์ดที่แตกต่างกันสำหรับแต่ละระดับ และเกมแข่งรถอาจมีลีดเดอร์บอร์ดแยกต่างหากสำหรับแต่ละสนามแข่ง
ช่วงเวลาของลีดเดอร์บอร์ด
Play Games SDK จะสร้างลีดเดอร์บอร์ดเวอร์ชันรายวัน รายสัปดาห์ และคะแนนรวมโดยอัตโนมัติสำหรับลีดเดอร์บอร์ดทุกรายการที่คุณสร้าง คุณจึงไม่จำเป็นต้องสร้างลีดเดอร์บอร์ดแยกต่างหากสำหรับแต่ละช่วงเวลา
ลีดเดอร์บอร์ดรายวันจะรีเซ็ตที่ UTC-7 (นั่นคือ "เที่ยงคืนตามเวลาออมแสงแปซิฟิก") ตลอดทั้งปี
ลีดเดอร์บอร์ดรายสัปดาห์จะรีเซ็ตตอนเที่ยงคืนระหว่างวันเสาร์ถึงวันอาทิตย์ในเขตเวลาเดียวกับลีดเดอร์บอร์ดรายวัน (UTC-7)
ลีดเดอร์บอร์ดสาธารณะและลีดเดอร์บอร์ดโซเชียล
Play Games SDK สามารถแสดงลีดเดอร์บอร์ดแต่ละรายการ 2 เวอร์ชันที่แตกต่างกันให้ผู้เล่นได้
ลีดเดอร์บอร์ดโซเชียล คือลีดเดอร์บอร์ดที่ประกอบด้วยผู้คนในแวดวงของผู้ใช้ (หรือพูดให้ถูกต้องมากขึ้นคือสมาชิกในแวดวงที่ผู้ใช้เลือกแชร์กับแอปพลิเคชันของคุณ) ซึ่งตัดสินใจแชร์กิจกรรมการเล่นเกมกับผู้ใช้
ลีดเดอร์บอร์ดสาธารณะ คือลีดเดอร์บอร์ดที่ประกอบด้วยผู้เล่นที่เลือกแชร์กิจกรรมการเล่นเกมแบบสาธารณะ หากผู้เล่นไม่ได้เลือกแชร์กิจกรรมการเล่นเกมแบบสาธารณะ ผู้เล่นจะไม่ปรากฏในลีดเดอร์บอร์ดนี้
แสดงลีดเดอร์บอร์ด
ในไลบรารีไคลเอ็นต์บนอุปกรณ์เคลื่อนที่ ไลบรารีจะจัดการการจัดรูปแบบและการแสดงลีดเดอร์บอร์ดทั้งหมด คุณสามารถระบุได้ว่าผู้เล่นจะเห็นลีดเดอร์บอร์ดที่เฉพาะเจาะจงหรือเห็นรายการลีดเดอร์บอร์ดทั้งหมดที่ผู้เล่นเลือกได้
นอกจากนี้ คุณยังใช้ลีดเดอร์บอร์ดเวอร์ชันของคุณเองได้โดยการเข้าถึงข้อมูลโดยตรงจากไลบรารีไคลเอ็นต์
แอตทริบิวต์
หากต้องการสร้างและจัดการลีดเดอร์บอร์ด คุณควรทำความคุ้นเคยกับแอตทริบิวต์ของลีดเดอร์บอร์ดต่อไปนี้
ข้อมูลเบื้องต้น
องค์ประกอบพื้นฐานต่อไปนี้เชื่อมโยงกับลีดเดอร์บอร์ดทุกรายการ
- รหัส คือสตริงที่ไม่ซ้ำกันซึ่ง Google Play Console จะสร้างให้คุณ คุณจะใช้รหัสที่ไม่ซ้ำกันนี้เพื่ออ้างถึงลีดเดอร์บอร์ดในไคลเอ็นต์เกม
- ชื่อ คือชื่อสั้นๆ ของลีดเดอร์บอร์ด (เช่น "คะแนนสูงสุด" หรือ "ระดับ 3") ชื่อนี้มีความยาวได้ไม่เกิน 100 อักขระ
- ไอคอน คือไอคอนสี่เหลี่ยมจัตุรัสที่จะเชื่อมโยงกับลีดเดอร์บอร์ด ดูแนวทางปฏิบัติแนะนำเมื่อสร้างไอคอนลีดเดอร์บอร์ดได้ที่หลักเกณฑ์เกี่ยวกับไอคอน
- ลำดับรายการ คือลำดับที่ลีดเดอร์บอร์ดจะปรากฏเมื่อผู้เล่นดูรายการลีดเดอร์บอร์ดที่เชื่อมโยงกับเกม
- ขีดจำกัด คือค่าที่ไม่บังคับซึ่งกำหนดขีดจำกัดล่างและขีดจำกัดบนของคะแนนที่อนุญาตในลีดเดอร์บอร์ด ซึ่งจะช่วยให้คุณยกเลิกการส่งคะแนนที่เห็นได้ชัดว่าเป็นการฉ้อโกง นอกจากนี้ คุณยังใช้
Players.hideเพื่อซ่อนผู้เล่นที่คุณเชื่อว่าส่งคะแนนที่เป็นการฉ้อโกงจาก ลีดเดอร์บอร์ดทั้งหมดในแอปได้ด้วย
จัดลำดับลีดเดอร์บอร์ด
ลีดเดอร์บอร์ดมีประเภทการจัดลำดับได้ 2 ประเภทดังนี้
- ลีดเดอร์บอร์ดประเภทยิ่งมากยิ่งดี เป็นประเภทเริ่มต้น ซึ่งเป็นประเภทที่มักพบในเกมส่วนใหญ่ที่ผู้เล่นได้รับคะแนน
- ลีดเดอร์บอร์ดประเภทยิ่งน้อยยิ่งดี ใช้ในบางกรณีที่คะแนนน้อยกว่าจะดีกว่า ตัวอย่างที่พบบ่อยที่สุดของลีดเดอร์บอร์ดประเภทนี้คือเกมแข่งรถ ซึ่งคะแนนแสดงถึงเวลาที่ผู้เล่นใช้ในการแข่งให้จบ
การจัดรูปแบบคะแนน
แม้ว่าระบบจะส่งคะแนนทั้งหมดไปยังลีดเดอร์บอร์ดและจัดเก็บไว้ภายในเป็นจำนวนเต็มยาว แต่บริการเกมของ Play สามารถแสดงคะแนนต่อผู้ใช้ในรูปแบบต่างๆ ได้ดังนี้
ลีดเดอร์บอร์ดตัวเลข จะแสดงคะแนนเป็นตัวเลข โดยแสดงเป็นจำนวนเต็มหรือเป็นจำนวนจริงที่มีจำนวนตำแหน่งทศนิยมคงที่ คุณส่งคะแนนเป็นจำนวนเต็มและระบบจะแทรกจุดทศนิยมในตำแหน่งที่ระบุ ตัวอย่างเช่น คะแนน
314159จะแสดงเป็น3.14159,3141.59หรือ314159ทั้งนี้ขึ้นอยู่กับตำแหน่งทศนิยมที่คุณระบุลีดเดอร์บอร์ดเวลา จะแสดงคะแนนในรูปแบบชั่วโมง / นาที / วินาที/เสี้ยววินาที คุณต้องส่งคะแนนเป็นมิลลิวินาที ดังนั้น
66032จะแปลค่าเป็น1:06.03ลีดเดอร์บอร์ดสกุลเงิน จะแสดงคะแนนในรูปแบบสกุลเงิน คุณส่งคะแนนเป็น 1/1,000,000 ของหน่วยสกุลเงินหลัก ตัวอย่างเช่น คะแนน 19,950,000 จะแปลค่าเป็น
$19.95หากคุณระบุ สกุลเงินเป็น USD
ลีดเดอร์บอร์ดตัวเลขยังรองรับหน่วยที่กำหนดเองด้วย เช่น หากเกมของคุณวัดคะแนนสูงสุดเป็นเมตร คุณสามารถระบุ "เมตร" เป็นหน่วยเริ่มต้นสำหรับลีดเดอร์บอร์ดได้
การแปลและการจัดรูปแบบคะแนน
เมื่อไลบรารีไคลเอ็นต์บนอุปกรณ์เคลื่อนที่ขอข้อมูลลีดเดอร์บอร์ดจากบริการเกมของ Play ไลบรารีจะระบุภาษาและภาษาที่ใช้ในภูมิภาคที่จะใช้แสดงคะแนนเหล่านี้ REST API ยังช่วยให้คุณ ระบุภาษาตามภาษาที่ใช้ในภูมิภาคได้ด้วย บริการเกมของ Play จะแสดงคะแนนลีดเดอร์บอร์ดที่จัดรูปแบบแล้วซึ่งเหมาะกับภาษาและภาษาที่ใช้ในภูมิภาคนั้น คะแนนที่จัดรูปแบบแล้วเหล่านี้จะปรากฏขึ้นไม่ว่าคุณจะเพิ่ม คำแปลสำหรับ ลีดเดอร์บอร์ดหรือไม่ก็ตาม
สำหรับลีดเดอร์บอร์ดตัวเลข รูปแบบตัวเลขจะแสดงแตกต่างกันไปตามภาษา (เช่น 12,345.78 ในสหรัฐอเมริกา และ 12 345,78 ในฝรั่งเศส) หาก
คุณใช้หน่วยที่กำหนดเองและเพิ่ม
คำแปลลงใน
เกม คุณต้องระบุหน่วยที่แปลแล้วสำหรับทุกภาษาที่เพิ่ม จากนั้นบริการจะแสดงหน่วยที่แปลแล้วเหล่านี้ตามความเหมาะสม
คุณอาจต้องระบุชื่อหน่วยเวอร์ชันต่างๆ ทั้งนี้ขึ้นอยู่กับภาษาที่เลือก ในภาษาอังกฤษ คุณจะต้องมีเวอร์ชันสำหรับ 1 รายการ และอีกเวอร์ชันสำหรับรายการอื่นๆ ทั้งหมด (เช่น "meter" และ "meters") ในภาษาโปแลนด์ คุณจะต้องระบุเวอร์ชันสำหรับ 1 หน่วย 2-4 หน่วย หลายหน่วย และรายการอื่นๆ ทั้งหมด ดูข้อมูลเพิ่มเติมเกี่ยวกับกฎการใช้คำนามพหูพจน์ได้ที่ ดู สตริง จำนวน(พหูพจน์)
สำหรับลีดเดอร์บอร์ดเวลา รูปแบบเวลาจะแสดงตามภาษาและภาษาที่ใช้ในภูมิภาคของผู้เล่น คุณจะสังเกตเห็นได้ชัดเจนที่สุดหากใช้เศษส่วนของวินาทีหรือมีค่าชั่วโมงที่มีตัวเลขมากกว่า 3 หลัก (เช่น 4,815:16:23.42 ในสหรัฐอเมริกา และ 4.815:16:23,42 ในเยอรมนี)
สำหรับลีดเดอร์บอร์ดสกุลเงิน รูปแบบสกุลเงินจะแสดงตามภาษาและภาษาที่ใช้ในภูมิภาคของผู้เล่น อย่างไรก็ตาม คุณจะเปลี่ยนหน่วยสกุลเงินไม่ได้ ตัวอย่างเช่น หากคุณระบุสกุลเงินเป็น USD เกมจะ
แสดง $19.95 ในสหรัฐอเมริกา และ 19,95 $ ในฝรั่งเศส แต่คุณจะระบุให้เกมแสดงดอลลาร์ในสหรัฐอเมริกาและยูโรในฝรั่งเศสไม่ได้
หลักเกณฑ์เกี่ยวกับไอคอน
ไอคอนควรสร้างเป็นไฟล์ PNG หรือ JPEG ขนาด 512 x 512 ไคลเอ็นต์เกมส่วนใหญ่จะปรับขนาดไอคอนให้เล็กลง ดังนั้นคุณควรหลีกเลี่ยงการสร้างไอคอนที่มีรายละเอียดมากเกินไป คุณสามารถส่งไอคอนที่มีช่องอัลฟ่า และระบบจะเก็บความโปร่งใสไว้ ไอคอนลีดเดอร์บอร์ดจะแสดงบนพื้นหลังสีเทาเข้มในอุปกรณ์ Android ดังนั้นให้เลือกไอคอนที่เหมาะกับสถานการณ์นี้
ระบบจะใช้ไอคอนเดียวกันในทุกภาษา เราจึงขอแนะนำให้คุณไม่ใส่ข้อความหรือเนื้อหาที่แปลแล้วไว้ในไอคอน
สร้างลีดเดอร์บอร์ด
ส่วนนี้จะอธิบายวิธีสร้างลีดเดอร์บอร์ดสำหรับเกมใหม่หรือเกมที่มีอยู่
สร้างลีดเดอร์บอร์ด
สำหรับเกมใหม่
หากต้องการสร้างลีดเดอร์บอร์ดสำหรับเกมใหม่และเกมที่ยังไม่ได้เผยแพร่ ให้ไปที่รายการ Google Play Console สำหรับเกมของคุณ แล้วไปที่เพิ่มผู้ใช้ > บริการเกมของ Play > การตั้งค่าและการจัดการ > ลีดเดอร์บอร์ด จากนั้นคลิกปุ่มสร้างลีดเดอร์บอร์ด
จากนั้นเพียงกรอกข้อมูลที่จำเป็นสำหรับลีดเดอร์บอร์ดนี้
คลิกบันทึกเป็นฉบับร่าง แล้วลีดเดอร์บอร์ดจะแสดงในสถานะ "ฉบับร่าง" เมื่อคุณเผยแพร่เกม ระบบจะเผยแพร่ลีดเดอร์บอร์ดทั้งหมดของเกมไปด้วย
สร้างลีดเดอร์บอร์ด
สำหรับเกมที่เผยแพร่แล้ว
หากต้องการสร้างลีดเดอร์บอร์ดเพิ่มเติมสำหรับเกมที่เผยแพร่ไปแล้ว ให้ทำตามขั้นตอนเดียวกันกับด้านบน ดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบเกมเวอร์ชันอัปเดตได้ที่ การเผยแพร่การเปลี่ยนแปลงในเกม
เมื่อทดสอบลีดเดอร์บอร์ดและพอใจกับผลลัพธ์แล้ว คุณสามารถเผยแพร่เกมอีกครั้งด้วยลีดเดอร์บอร์ดใหม่ และระบบจะเผยแพร่ลีดเดอร์บอร์ดดังกล่าวให้ผู้ใช้ทั่วโลก
แก้ไขลีดเดอร์บอร์ด
หากต้องการแก้ไขลีดเดอร์บอร์ดที่สร้างไว้แล้ว ให้คลิกลีดเดอร์บอร์ดในแท็บลีดเดอร์บอร์ด ของ Google Play Console ณ จุดนี้ คุณจะเห็นแบบฟอร์มเดียวกับที่ใช้เมื่อสร้างลีดเดอร์บอร์ดครั้งแรก และจะแก้ไขช่องใดก็ได้ตามต้องการ
เมื่อแก้ไขลีดเดอร์บอร์ดเสร็จแล้ว ให้คลิกปุ่มบันทึกเป็นฉบับร่าง ลีดเดอร์บอร์ดที่แก้ไขใหม่จะอยู่ในสถานะ "ฉบับร่าง" ซึ่งช่วยให้คุณทดสอบได้
หากลีดเดอร์บอร์ดทำงานได้อย่างถูกต้อง ให้เลือกเผยแพร่การเปลี่ยนแปลง จากช่องที่ด้านบนของแบบฟอร์มลีดเดอร์บอร์ด แล้วคุณจะเผยแพร่เกมต่อสาธารณะอีกครั้งพร้อมกับลีดเดอร์บอร์ดทั้งหมดที่อัปเดตแล้วได้
เลิกทำการแก้ไข
หากตัดสินใจว่าไม่ชอบลีดเดอร์บอร์ดที่แก้ไขใหม่และต้องการกลับไปใช้เวอร์ชันก่อนหน้า เพียงเลือกเปลี่ยนกลับ จากช่องที่ด้านบนของแบบฟอร์มลีดเดอร์บอร์ด ลีดเดอร์บอร์ดจะเปลี่ยนกลับไปเป็นเวอร์ชันที่เผยแพร่ก่อนหน้านี้
ลบลีดเดอร์บอร์ด
คุณสามารถลบลีดเดอร์บอร์ดที่อยู่ในสถานะ "ฉบับร่าง" หรือที่เผยแพร่แล้ว หากต้องการลบลีดเดอร์บอร์ดใน Google Play Console ให้ไปที่แบบฟอร์มของลีดเดอร์บอร์ด แล้วคลิกลบลีดเดอร์บอร์ด ที่ด้านบนของแบบฟอร์ม
หรือจะเรียกใช้ Players.hide เพื่อ
ซ่อนลีดเดอร์บอร์ดของผู้เล่นในแอปก็ได้
รีเซ็ตลีดเดอร์บอร์ด
คุณจะรีเซ็ตข้อมูลความคืบหน้าของผู้เล่นได้สำหรับลีดเดอร์บอร์ดฉบับร่างเท่านั้น
- หากต้องการรีเซ็ตลีดเดอร์บอร์ดใน Google Play Console ให้คลิกรีเซ็ตความคืบหน้า ที่ด้านบนของแบบฟอร์มสำหรับกิจกรรมนั้น
- หากต้องการรีเซ็ตข้อมูลลีดเดอร์บอร์ดแบบเป็นโปรแกรม ให้เรียกใช้เมธอด Management API
Scoresmethods
เพิ่มคำแปลสำหรับลีดเดอร์บอร์ด
คุณระบุคำแปลของคุณเองสำหรับลีดเดอร์บอร์ดที่เชื่อมโยงกับเกมได้ ก่อนดำเนินการดังกล่าว โปรดทำตามขั้นตอนที่อธิบายไว้ใน การเพิ่มคำแปลสำหรับ เกม นอกจากนี้ คุณยังต้องสร้างลีดเดอร์บอร์ดอย่างน้อย 1 รายการสำหรับเกมด้วย
หากต้องการเพิ่มคำแปลของคุณเองสำหรับลีดเดอร์บอร์ด ให้เปิดแท็บลีดเดอร์บอร์ด สำหรับเกมใน Google Play Console แล้วเลือกลีดเดอร์บอร์ดที่มีอยู่ ในหน้ารายละเอียดของลีดเดอร์บอร์ด ให้คลิกแท็บภาษาที่คุณเพิ่มไว้ก่อนหน้านี้ในแท็บรายละเอียดเกม ในหน้ารายละเอียดของลีดเดอร์บอร์ดสำหรับภาษานั้น ให้แก้ไขแบบฟอร์มด้วยคำแปลสำหรับลีดเดอร์บอร์ดนั้น คลิกบันทึก เพื่อจัดเก็บรายละเอียดของลีดเดอร์บอร์ดที่แปลแล้ว
ซ่อนคะแนนในลีดเดอร์บอร์ด
บริการเกมของ Google Play มีฟีเจอร์การป้องกันการปลอมแปลงลีดเดอร์บอร์ดที่จะตรวจสอบคะแนนที่น่าสงสัยว่ามีการปลอมแปลงและซ่อนคะแนนเหล่านั้นโดยอัตโนมัติ ฟีเจอร์นี้ใช้ได้กับเกม Android เท่านั้น
ระบบเปิดใช้การป้องกันการปลอมแปลงไว้โดยค่าเริ่มต้นสำหรับลีดเดอร์บอร์ดใหม่ที่คุณสร้างสำหรับเกม Android แต่จะปิดใช้การป้องกันนี้ไว้สำหรับลีดเดอร์บอร์ดที่มีอยู่แล้ว หากต้องการเปิดใช้การป้องกันการปลอมแปลงสำหรับลีดเดอร์บอร์ดที่มีอยู่แล้วซึ่งเผยแพร่ไปแล้ว ให้ทำตามขั้นตอนต่อไปนี้
- ใน Google Play Console ให้เปิดแท็บบริการเกม แล้วเลือกเกมจากรายการ
- เปิดแท็บลีดเดอร์บอร์ด แล้วเลือกอินสแตนซ์ลีดเดอร์บอร์ดที่ต้องการเปิดใช้การป้องกันการปลอมแปลง
- เปิดตัวเลือกเปิดใช้การป้องกันการปลอมแปลงลีดเดอร์บอร์ด
- คลิกบันทึกและดำเนินการต่อ
- เผยแพร่เกมของคุณ
เมื่อเปิดใช้การป้องกันการปลอมแปลงสำหรับลีดเดอร์บอร์ดใน Google Play Console แล้ว ระบบอาจใช้เวลาถึง 24 ชั่วโมงก่อนที่ฟีเจอร์นี้จะมีผล ระบบจะไม่ซ่อนคะแนนย้อนหลังสำหรับคะแนนที่ส่งก่อนการเปิดใช้การป้องกันการปลอมแปลง
ในบางสถานการณ์ คุณอาจต้องการปิดใช้การป้องกันการปลอมแปลง (เช่น หากเกมของคุณทำงานบนเว็บด้วยนอกเหนือจาก Android และแชร์ลีดเดอร์บอร์ดในแพลตฟอร์มเหล่านี้)
การติดตั้งใช้งานฝั่งไคลเอ็นต์
ดูวิธีใช้ลีดเดอร์บอร์ดสําหรับแพลตฟอร์มของคุณได้จากแหล่งข้อมูลต่อไปนี้