गेम
गेम मॉड्यूल गेम से संबंधित विभिन्न कार्य प्रदान करता है। 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();हैप्पी टाइम
यह विधि तब कॉल की जा सकती है जब खिलाड़ी कोई उपलब्धि हासिल करता है (बॉस को हराना, उच्च स्कोर हासिल करना आदि)। इस विधि को सफलतापूर्वक कॉल करने पर वेबसाइट पर जश्न की क्रियाएं ट्रिगर होंगी (उदाहरण के लिए कुछ कांफेटी फेंकना)। स्तर पूरा करने या पुरस्कार प्राप्त करने के समय, इस विधि को कॉल करने की आवश्यकता नहीं है।
// गेम के हैप्पी टाइम को सक्रिय करें
await window.JOGOS_SDK.game.happytime();दोस्त और चैट सुविधाएं
हमने मानकीकृत सामाजिक सुविधा मॉड्यूल एकीकृत किए हैं, जो मित्र संबंध प्रबंधन और वास्तविक समय चैट सेवाओं को कवर करते हैं। यदि आपका गेम बहु-खिलाड़ी इंटरेक्शन मैकेनिक्स का समर्थन करता है, तो आप इन्हें हल्के एपीआई के माध्यम से त्वरित रूप से एकीकृत कर सकते हैं ताकि इसे लागू किया जा सके: क्लाउड सिंक्रनाइज़ेशन फ्रेंड लिस्ट, एक-क्लिक टीम आमंत्रण, निजी वार्तालाप और अन्य मूलभूत सामाजिक परिदृश्य। हम डेवलपर्स को अत्यंत कम विकास लागत के साथ गेम के भीतर एक सम्मोहक सामाजिक पारिस्थितिकी तंत्र बनाने में मदद करते हैं।
- उपयोग करते समय, डेवलपर्स को प्लेटफ़ॉर्म की ओर से संबंधित खिलाड़ी का UserId एक पैरामीटर के रूप में पास करना होगा।
मित्र संबंध जाँच
जाँचता है कि कोई निर्दिष्ट खिलाड़ी वर्तमान उपयोगकर्ता का मित्र है या नहीं।
/**
* जाँचता है कि निर्दिष्ट खिलाड़ी मेरे मित्र हैं या नहीं
* @param {Array<number>} userIds खिलाड़ी आईडी का संग्रह
* @returns {Promise<Object>} { [userId: number]: boolean } कुंजी-मान युग्म वस्तु
*/
window.JOGOS_SDK.game.isMyFriends = async function(userIds) {
// आंतरिक कार्यान्वयन
}मित्र इंटरेक्शन तर्क स्पष्टीकरण
डेवलपर्स को मित्र संबंध के आधार पर स्वयं बटन प्रदर्शन तर्क को लागू करना होगा:
- बटन स्थिति निर्धारण: एक निर्दिष्ट खिलाड़ी मित्र है या नहीं, यह जाँचने के लिए
isMyFriendsइंटरफ़ेस का उपयोग करें। - बटन प्रदर्शन तर्क:
- यदि वह मित्र है: एक "वार्तालाप" बटन प्रदर्शित करें। क्लिक करने पर, चैट शुरू करने के लिए
openChatDialogको कॉल करें। - यदि वह मित्र नहीं है: एक "मित्र जोड़ें" बटन प्रदर्शित करें। क्लिक करने पर, मित्र अनुरोध भेजने के लिए
sendFriendRequestको कॉल करें।
- यदि वह मित्र है: एक "वार्तालाप" बटन प्रदर्शित करें। क्लिक करने पर, चैट शुरू करने के लिए
- बटन कार्यान्वयन: बटन का 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 = "वार्तालाप";
buttonElement.onclick = async () => {
const success = await window.JOGOS_SDK.game.openChatDialog(userId);
if (!success) {
alert("चैट विंडो खोली नहीं जा सकती। कृपया सुनिश्चित करें कि आप आधिकारिक प्लेटफ़ॉर्म वातावरण में हैं।");
}
};
} else {
// मित्र जोड़ें बटन प्रदर्शित करें
buttonElement.textContent = "मित्र जोड़ें";
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 लक्ष्य खिलाड़ी आईडी
* @returns {Promise<boolean>} इंगित करता है कि अनुरोध सफलतापूर्वक भेजा गया था या नहीं
*/
window.JOGOS_SDK.game.sendFriendRequest = async function(userId) {
// आंतरिक कार्यान्वयन
}चैट शुरू करें
एक निर्दिष्ट मित्र के साथ चैट विंडो खोलता है।
/**
* एक निर्दिष्ट खिलाड़ी के साथ चैट विंडो खोलता है
* @param {number} userId लक्ष्य खिलाड़ी आईडी
* @returns {Promise<boolean>} इंगित करता है कि यह सफलतापूर्वक खोला गया था या नहीं
*/
window.JOGOS_SDK.game.openChatDialog = async function(userId) {
// आंतरिक कार्यान्वयन
}सीमा मामलों का प्रबंधन:
- आधिकारिक प्लेटफ़ॉर्म में एकीकृत नहीं होने पर विफलता लौटाता है और एक चेतावनी प्रदर्शित करता है: "मित्र चैट सुविधा केवल आधिकारिक प्लेटफ़ॉर्म पर उपलब्ध है।"
- एक क्लिक के 3 सेकंड के भीतर बटन को दोबारा क्लिक नहीं किया जा सकता है।
आरंभीकरण इंटरफ़ेस आमंत्रण फ़ील्ड पैरामीटर लौटाएगा
- गेम आरंभीकरण इंटरफ़ेस में अब गेम में शामिल होने के लिए दूसरों को आमंत्रित करने के लिए कस्टम पैरामीटर शामिल हैं, जैसे कि रूम आईडी, आमंत्रण कोड, आदि। डेवलपर आमंत्रण लिंक साझा करते समय इन पैरामीटरों को शामिल कर सकते हैं। जब एक आमंत्रित खिलाड़ी लिंक के माध्यम से गेम में प्रवेश करता है, तो SDK संबंधित खिलाड़ी को संबंधित कमरे में डालने के लिए पैरामीटर डेवलपर को पास करेगा।
// गेम आरंभीकरण के दौरान रूम पैरामीटर पास करना (उदाहरण)
const gameConfig = {
inviteArgs: 'ABC123', // कस्टम फ़ील्ड (उदाहरण के लिए आमंत्रण कोड/रूम आईडी)
// गेम के अन्य कॉन्फ़िगरेशन...
};
// SDK आरंभ करते समय पैरामीटर पास करें
window.JOGOS_SDK.init({
gameId: 'your_game_id',
customParams: JSON.stringify(gameConfig)
});दोस्तों को आमंत्रित करने की विंडो खोलें
- जब कोई उपयोगकर्ता गेम के भीतर एक ऐसी स्थिति में होता है जहां एक नए गेम में शामिल होना संभव है, तो यह सुविधा आपको गेम दृश्य में एक "आमंत्रित करें और साझा करें" बटन रखने की अनुमति देती है।
- बटन पर क्लिक करने से एक पॉपअप खुलता है जिसमें एक आमंत्रण लिंक होता है, जो दोस्तों को आमंत्रण भेजने का चयन करने की अनुमति देता है।

- आमंत्रण लिंक कस्टम पैरामीटर (जैसे रूम आईडी/आमंत्रण कोड, आदि) ले जाता है। जब आमंत्रित खिलाड़ी लिंक पर क्लिक करता है और गेम में प्रवेश करता है, तो डेवलपर इन पैरामीटरों का विश्लेषण कर सकता है ताकि खिलाड़ी को संबंधित कमरे में डाला जा सके।
- गेम दृश्य में "आमंत्रित मित्र" बटन पर क्लिक करने से एक साइडबार मित्र सूची पैनल खुलता है जो मित्रों को आमंत्रण संदेश भेजने के लिए होता है, जो लिंक या सीधे आमंत्रण के माध्यम से गेम में प्रवेश का समर्थन करता है।
/**
* आमंत्रण विंडो खोलता है
* @param {Object} inviteArgs आमंत्रण पैरामीटर ऑब्जेक्ट
* @param {string} inviteArgs.inviteArgs कस्टम आमंत्रण पैरामीटर (आवश्यक, उदाहरण के लिए रूम आईडी या आमंत्रण कोड)
* @param {string} [inviteArgs.customData] कस्टम डेटा (आमंत्रित व्यक्ति को प्रेषित किया जाएगा)
* @param {number} [inviteArgs.expireTime] आमंत्रण लिंक समाप्ति टाइमस्टैम्प (मिलीसेकंड)
*/
window.JOGOS_SDK.game.openInviteDialog = function(inviteArgs) {
// पैरामीटर सत्यापन
if (!inviteArgs || !inviteArgs.inviteArgs) {
throw new Error('आवश्यक पैरामीटर अनुपस्थित: inviteArgs');
}
// आंतरिक कार्यान्वयन:
// 1. पैरामीटर के साथ आमंत्रण लिंक उत्पन्न करें
// 2. आमंत्रण पॉपअप खोलें (मित्र सूची और साझाकरण विकल्प शामिल हैं)
// 3. आमंत्रण परिणाम कॉलबैक संभालें
};