เกม
โมดูลเกมให้บริการฟังก์ชันต่างๆ ที่เกี่ยวข้องกับเกม หลังจากอ่านส่วนที่เกี่ยวข้องกับเครื่องมือสร้างเกมของคุณบนหน้า คำแนะนำ JOGOS_SDK คุณสามารถใช้ฟังก์ชันที่เกี่ยวข้องได้ตามขั้นตอนต่อไปนี้:
window.JOGOS_SDK.game;หากคุณจำเป็นต้องดำเนินการตั้งค่าต่างๆ เช่น การปรับภาษาโลคัลไลเซชัน การปรับอุปกรณ์ และการปรับเทียบเวลา ในระหว่างขั้นตอนการเริ่มต้นใช้งาน คุณสามารถข้ามไปยังหน้า การเริ่มต้นใช้งาน (SysInfo) ที่เกี่ยวข้อง เพื่อดูคำนิยามพารามิเตอร์และวิธีการตั้งค่าโดยละเอียด
หยุด/ดำเนินการต่อเกม
เมื่อเกมถูกหยุดชะงัก (เช่น จบระดับ, หยุดเกม ฯลฯ) คุณต้องเรียกใช้เมธอดเพื่อแจ้งให้เราทราบว่าเกมถูกหยุด อย่าลืมเรียกใช้เมธอดเพื่อแจ้งให้เราทราบว่าเกมถูกดำเนินการต่อเมื่อมีการฟื้นฟู, กู้ชีวิต, เข้าสู่ระดับถัดไป ฯลฯ SDK จะจัดการกับการหยุดและดำเนินการต่อเองในขณะเล่นโฆษณา อย่าต้องเรียกซ้ำ
// แจ้งให้เราทราบว่าเกมถูกหยุดชะงัก
await window.JOGOS_SDK.game.pause();
// แจ้งให้เราทราบว่าเกมถูกดำเนินการต่อ
await window.JOGOS_SDK.game.continuePlay();เริ่ม/สิ้นสุดการโหลดเกม
เมื่อเกมของคุณเริ่มโหลด คุณต้องเรียกใช้เมธอดเพื่อแจ้งให้เราทราบว่าเกมเริ่มโหลด หลังจากการโหลดเสร็จสิ้น คุณต้องเรียกใช้เมธอดเพื่อแจ้งให้เราทราบว่าเกมโหลดเสร็จสิ้น
// แจ้งให้เราทราบว่าเกมเริ่มโหลด
await window.JOGOS_SDK.game.loadingStart();
// แจ้งให้เราทราบว่าเกมโหลดเสร็จสิ้น
await window.JOGOS_SDK.game.loadingEnd();เมื่อเกมเริ่มโหลด คุณต้องเรียกใช้เมธอดเพื่อแจ้งให้เราทราบว่าเกมเริ่มโหลด หลังจากการโหลดเสร็จสิ้น คุณต้องเรียกใช้เมธอดเพื่อแจ้งให้เราทราบว่าเกมโหลดเสร็จสิ้น
// แจ้งให้เราทราบว่าเกมถูกหยุดชะงัก
await window.JOGOS_SDK.game.pause();
// แจ้งให้เราทราบว่าเกมถูกดำเนินการต่อ
await window.JOGOS_SDK.game.continuePlay();Happy Time
คุณสามารถเรียกใช้เมธอดนี้เมื่อผู้เล่นบรรลุผลสำเร็จบางอย่าง (ชนะบอส, เป็นที่มาที่สูง ฯลฯ) เมื่อเรียกใช้เมธอดนี้สำเร็จ จะทำให้เว็บไซต์ทำการแสดงการเฉลิมฉลอง (เช่น ปล่อยกระดาษสี) อย่าเรียกใช้เมธอดนี้เมื่อจบระดับหรือได้รับรางวัล
// เปิดใช้งานโหมด Happy Time ในเกม
await window.JOGOS_SDK.game.happytime();ฟังก์ชันเพื่อนและแชท
เราได้รวมโมดูลฟังก์ชันสังคมมาตรฐาน ซึ่งครอบคลุมการจัดการความสัมพันธ์เพื่อนและบริการแชทแบบเรียลไทม์ หากเกมของคุณรองรับการเล่นแบบมีปฏิสัมพันธ์หลายคน คุณสามารถเชื่อมต่อได้อย่างรวดเร็วผ่าน API ขนาดเบา เพื่อทำให้เกิด: การซิงโครไนซ์รายชื่อเพื่อนบนคลาวด์ การเชิญทีมด้วยคลิกเดียว การสนทนาส่วนตัว และฉากสังคมหลักอื่นๆ ช่วยให้นักพัฒนาสามารถสร้างระบบนิเวศสังคมที่ดื่มด่ำภายในเกมได้อย่างมีประสิทธิภาพด้วยต้นทุนการพัฒนาที่ต่ำมาก
- เมื่อใช้ นักพัฒนาจำเป็นต้องส่ง UserId ของผู้เล่นที่สอดคล้องกันทางฝั่งแพลตฟอร์มเป็นพารามิเตอร์ที่ส่ง
การตรวจสอบความสัมพันธ์เพื่อน
ตรวจสอบว่าผู้เล่นที่ระบุเป็นเพื่อนของผู้ใช้ปัจจุบันหรือไม่
/**
* ตรวจสอบว่าผู้เล่นที่ระบุเป็นเพื่อนของฉันหรือไม่
* @param {Array<number>} userIds ชุด ID ผู้เล่น
* @returns {Promise<Object>} { [userId: number]: boolean } ออบเจ็กต์คู่คีย์-ค่า
*/
window.JOGOS_SDK.game.isMyFriends = async function(userIds) {
// การดำเนินการภายใน
}คำอธิบายตรรกะการโต้ตอบกับเพื่อน
นักพัฒนาจำเป็นต้องดำเนินการตรรกะการแสดงปุ่มโดยอิงตามความสัมพันธ์เพื่อนด้วยตนเอง:
- การตัดสินใจสถานะปุ่ม: ใช้อินเทอร์เฟซ
isMyFriendsเพื่อตรวจสอบว่าผู้เล่นที่ระบุเป็นเพื่อนหรือไม่ - ตรรกะการแสดงปุ่ม:
- หากเป็นเพื่อน: แสดงปุ่ม "Conversation" หลังจากคลิกจะเรียกใช้
openChatDialogเพื่อเริ่มการแชท - หากไม่ใช่เพื่อน: แสดงปุ่ม "Add Friend" หลังจากคลิกจะเรียกใช้
sendFriendRequestเพื่อส่งคำขอเป็นเพื่อน
- หากเป็นเพื่อน: แสดงปุ่ม "Conversation" หลังจากคลิกจะเรียกใช้
- การดำเนินการปุ่ม: รูปแบบ UI ตำแหน่ง และเอฟเฟกต์การโต้ตอบของปุ่มทั้งหมดดำเนินการโดยนักพัฒนาเกมเอง
ตัวอย่างโค้ด
// ตัวอย่างการดำเนินการปุ่มโต้ตอบเพื่อน
async function setupFriendButton(userId, buttonElement) {
try {
// 1. ตรวจสอบความสัมพันธ์เพื่อน
const friendStatus = await window.JOGOS_SDK.game.isMyFriends([userId]);
const isFriend = friendStatus[userId];
// 2. ตั้งค่าปุ่มตามความสัมพันธ์เพื่อน
if (isFriend) {
// แสดงปุ่มแชท
buttonElement.textContent = "Conversation";
buttonElement.onclick = async () => {
const success = await window.JOGOS_SDK.game.openChatDialog(userId);
if (!success) {
alert("ไม่สามารถเปิดหน้าต่างแชทได้ โปรดตรวจสอบให้แน่ใจว่าอยู่ในสภาพแวดล้อมแพลตฟอร์มทางการ");
}
};
} else {
// แสดงปุ่มเพิ่มเพื่อน
buttonElement.textContent = "Add Friend";
buttonElement.onclick = async () => {
const success = await window.JOGOS_SDK.game.sendFriendRequest(userId);
if (success) {
alert("ส่งคำขอเป็นเพื่อนแล้ว");
} else {
alert("ส่งคำขอเป็นเพื่อนล้มเหลว");
}
};
}
// 3. เพิ่มตรรกะป้องกันการคลิกบ่อยเกินไป
let lastClickTime = 0;
const originalClick = buttonElement.onclick;
buttonElement.onclick = function() {
const now = Date.now();
if (now - lastClickTime < 3000) {
console.log("คลิกบ่อยเกินไป โปรดลองอีกครั้งในภายหลัง");
return;
}
lastClickTime = now;
originalClick.call(this);
};
} catch (error) {
console.error("การตั้งค่าปุ่มเพื่อนล้มเหลว:", error);
}
}เพิ่มเพื่อน
ส่งคำขอเป็นเพื่อนไปยังผู้เล่นที่ระบุ
/**
* ส่งคำขอเป็นเพื่อนไปยังผู้เล่นที่ระบุ
* @param {number} userId ID ผู้เล่นเป้าหมาย
* @returns {Promise<boolean>} ส่งสำเร็จหรือไม่
*/
window.JOGOS_SDK.game.sendFriendRequest = async function(userId) {
// การดำเนินการภายใน
}เริ่มการแชท
เปิดหน้าต่างแชทกับเพื่อนที่ระบุ
/**
* เปิดหน้าต่างแชทกับผู้เล่นที่ระบุ
* @param {number} userId ID ผู้เล่นเป้าหมาย
* @returns {Promise<boolean>} เปิดสำเร็จหรือไม่
*/
window.JOGOS_SDK.game.openChatDialog = async function(userId) {
// การดำเนินการภายใน
}การจัดการขอบเขต:
- เมื่อฝังในแพลตฟอร์มที่ไม่เป็นทางการ จะส่งคืนล้มเหลวและแสดงคำเตือน: "ฟังก์ชันแชทกับเพื่อนมีให้บริการเฉพาะบนแพลตฟอร์มทางการเท่านั้น"
- ปุ่มไม่สามารถคลิกซ้ำได้ภายใน 3 วินาทีหลังจากคลิก
อินเทอร์เฟซการเริ่มต้นจะส่งคืนพารามิเตอร์ฟิลด์คำเชิญ
- อินเทอร์เฟซการเริ่มต้นเกมได้เพิ่มพารามิเตอร์ที่กำหนดเองสำหรับการเชิญเข้าร่วมเกม เช่น ID ห้อง รหัสเชิญ เป็นต้น นักพัฒนาสามารถนำพารามิเตอร์เหล่านี้ติดไปเมื่อแชร์ลิงก์เชิญ เมื่อผู้เล่นที่ได้รับเชิญเข้าสู่เกมผ่านลิงก์ SDK จะส่งผ่านพารามิเตอร์ให้กับนักพัฒนาเพื่อดึงผู้เล่นเข้าห้องที่สอดคล้องกัน
// ส่งผ่านพารามิเตอร์ห้องเมื่อเริ่มต้นเกม (ตัวอย่าง)
const gameConfig = {
inviteArgs: 'ABC123', // ฟิลด์ที่กำหนดเอง (เช่น รหัสเชิญ/ID ห้อง)
// การตั้งค่าเกมอื่นๆ ...
};
// ส่งผ่านพารามิเตอร์เมื่อเริ่มต้น SDK
window.JOGOS_SDK.init({
gameId: 'your_game_id',
customParams: JSON.stringify(gameConfig)
});เปิดหน้าต่างเชิญเพื่อน
- เมื่อผู้ใช้อยู่ในตำแหน่งที่สามารถเข้าร่วมเกมใหม่ภายในเกมได้ ฟังก์ชันนี้สนับสนุนให้คุณวางปุ่ม "แชร์คำเชิญ" ในฉากเกม:
- คลิกปุ่มเพื่อเปิดป็อปอัพที่มีลิงก์เชิญ สนับสนุนการเลือกเพื่อนเพื่อส่งคำเชิญ

- ลิงก์เชิญจะนำพารามิเตอร์ที่กำหนดเอง (เช่น ID ห้อง/รหัสเชิญ เป็นต้น) ติดไปด้วย เมื่อผู้เล่นที่ได้รับเชิญคลิกลิงก์เพื่อเข้าสู่เกม นักพัฒนาสามารถแยกวิเคราะห์พารามิเตอร์และดึงผู้เล่นเข้าห้องที่สอดคล้องกัน
- คลิกปุ่ม "Invite friend" ในฉากเกมเพื่อเปิดแถบรายชื่อเพื่อนด้านข้าง ส่งข้อความเชิญให้เพื่อน สนับสนุนการเข้าร่วมเกมผ่านลิงก์หรือการเชิญโดยตรง
/**
* เปิดหน้าต่างคำเชิญ
* @param {Object} inviteArgs ออบเจ็กต์พารามิเตอร์คำเชิญ
* @param {string} inviteArgs.inviteArgs พารามิเตอร์คำเชิญที่กำหนดเอง (ต้องระบุ เช่น ID ห้องหรือรหัสเชิญ)
* @param {string} [inviteArgs.customData] ข้อมูลที่กำหนดเอง (จะถูกส่งผ่านไปยังผู้ที่ได้รับเชิญ)
* @param {number} [inviteArgs.expireTime] ไทม์สแตมป์เวลาหมดอายุของลิงก์เชิญ (มิลลิวินาที)
*/
window.JOGOS_SDK.game.openInviteDialog = function(inviteArgs) {
// การตรวจสอบพารามิเตอร์
if (!inviteArgs || !inviteArgs.inviteArgs) {
throw new Error('Missing required parameter: inviteArgs');
}
// การดำเนินการภายใน:
// 1. สร้างลิงก์เชิญพร้อมพารามิเตอร์
// 2. เปิดป็อปอัพคำเชิญ (มีรายชื่อเพื่อนและตัวเลือกการแชร์)
// 3. จัดการการเรียกกลับผลลัพธ์คำเชิญ
};