इंटिग्रेशन के लिए ज़रूरी शर्तें

इस सेक्शन में, Playable और YouTube Playables SDK के इंटिग्रेशन के बारे में बताया गया है.

1 Playables SDK लोड करना

  • गेम के कोड से पहले, गेम को YouTube Playables SDK लोड करना ज़रूरी है.

2 गेम के तैयार होने की सूचना

  • गेम को ज़रूरी है कि वह firstFrameReady कॉल करे. यह कॉल तब किया जाना चाहिए, जब गेम कोई लोडिंग स्क्रीन या स्प्लैश स्क्रीन रेंडर कर रहा हो. इससे उपयोगकर्ता को साफ़ तौर पर पता चलता है कि लोडिंग की प्रोसेस जारी है.
  • गेम को ज़रूरी है कि वह gameReady कॉल करे. साथ ही, ज़रूरी है कि वह gameReady सिर्फ़ तब कॉल करे जब गेम, उपयोगकर्ता के इंटरैक्शन के लिए तैयार हो. उदाहरण के लिए, मेन मेन्यू या गेम खेलने के लिए तैयार हो .
  • जब उपयोगकर्ता को ऐसे एलिमेंट दिख रहे हों जिनसे इंटरैक्ट नहीं किया जा सकता, तब गेम को गेम रेडी कॉल नहीं करना चाहिए. उदाहरण के लिए, स्प्लैश स्क्रीन या लोडिंग स्क्रीन.gameReady

जब तक इस एपीआई को कॉल नहीं किया जाता, तब तक YouTube "लोडिंग स्पिनर" को नहीं हटाता.

3 उपयोगकर्ता के स्कोर

  • उपयोगकर्ता का स्कोर भेजने के लिए, गेम MAY का इस्तेमाल sendScore कर सकता है.
  • अगर स्कोर भेजने के लिए, गेम sendScore का इस्तेमाल करता है, तो गेम को ज़रूरी है कि वह sendScore की खास जानकारी का पालन करे. साथ ही, यह पक्का करना ज़रूरी है कि भेजे गए सबसे अच्छे स्कोर गेम में सेव किए गए सबसे अच्छे स्कोर से मेल खाते हों.

4 क्लाउड सेव की सुविधा

  • जब उपयोगकर्ता गेम में अहम प्रोग्रेस करता है, तब गेम को saveData कॉल करना ज़रूरी है. उदाहरण के लिए, लेवल में बदलाव. ऐसा तब किया जाना चाहिए, जब गेम के मेकैनिक्स की वजह से उपयोगकर्ता को लगे कि उसकी प्रोग्रेस सेव हो गई है.
  • उपयोगकर्ता की प्रोग्रेस सेव करने के लिए, गेम को किसी अन्य तरीके का इस्तेमाल नहीं करना चाहिए. इस सुविधा की मदद से, खिलाड़ी बाद में गेम को वहीं से खेलना शुरू कर सकते हैं जहां उन्होंने छोड़ा था.
  • `saveData` कॉल करने से पहले, गेम को `loadData` का इंतज़ार करना ज़रूरी है. अगर saveData को loadData के सफलतापूर्वक पूरा होने से पहले कॉल किया जाता है, तो अनुरोध अस्वीकार कर दिया जाएगा. इससे गेम, पहले से सेव किए गए किसी भी डेटा को ओवरराइट नहीं कर पाएगा.
  • गेम के पिछले वर्शन से क्लाउड सेव डेटा का इस्तेमाल, गेम को बिना किसी गड़बड़ी या क्रैश के करना ज़रूरी है.
  • गेम के सभी वर्शन में उपयोगकर्ता की प्रोग्रेस बनाए रखने के लिए, गेम को क्लाउड सेव डेटा का इस्तेमाल करना चाहिए. ऐसा तब किया जाना चाहिए, जब उपयोगकर्ता को लगे कि उसका डेटा इस्तेमाल किया जाएगा.
  • डेटा के नुकसान से बचने के लिए, गेम को अहम माइलस्टोन पर उपयोगकर्ता की प्रोग्रेस को अपने-आप सेव करना चाहिए. जब कोई उपयोगकर्ता गेम से बाहर निकलता है, तब फ़ाइनल फ़्लश सेव किया जाता है. हालांकि, यह सबसे अच्छा तरीका है और इसमें कॉन्टेंट की लंबाई सिर्फ़ 64 केआईबी तक सेव की जा सकती है.

5 म्यूट करने का टॉगल

  • गेम को सिस्टम की ऑडियो सेटिंग और म्यूट बटन का पालन करना ज़रूरी है.
  • गेम को isAudioEnabled और onAudioEnabledChange का इस्तेमाल करके, YouTube की ऑडियो सेटिंग और म्यूट बटन का पालन करना ज़रूरी है.
  • गेम को डिवाइस पर वॉल्यूम कंट्रोल का पालन करना ज़रूरी है.
  • गेम की आवाज़, बिना किसी वजह के नहीं बजनी चाहिए.
  • जब YouTube को म्यूट पर सेट किया जाता है, तब ऑडियो नहीं बजना चाहिए. साथ ही, गेम के ऑडियो कंट्रोल का असर, ऑडियो आउटपुट पर नहीं पड़ना चाहिए.
  • जब YouTube को म्यूट पर सेट नहीं किया जाता है, तब गेम के ऑडियो कंट्रोल का असर, ऑडियो आउटपुट पर पड़ सकता है.
  • गेम को गेम में, पूरी तरह से म्यूट करने का बटन नहीं दिखाना चाहिए. इसके लिए, उपयोगकर्ताओं को YouTube-लेवल की सुविधाओं पर निर्भर रहने दें.
  • गेम में, ऑडियो के लिए अलग-अलग कंट्रोल हो सकते हैं. जैसे, संगीत और साउंड इफ़ेक्ट के लिए. हालांकि, उन्हें ऑडियो कंट्रोल से जुड़ी अन्य सभी ज़रूरी शर्तों का पालन करना ज़रूरी है.

बैकग्राउंड, एसएफ़एक्स, और डायलॉग के लिए अलग-अलग ऑडियो सेटिंग

6 रोकें और फिर से शुरू करें

Playables SDK, अलग-अलग प्लैटफ़ॉर्म पर गेम को रोकने और फिर से शुरू करने की सुविधाओं के लिए कॉलबैक उपलब्ध कराता है.

  • `onPause` को कॉल करने के बाद, गेम को सभी प्रोसेस रोकनी ज़रूरी हैं. साथ ही, `onResume` को कॉल करने पर ही प्रोसेस फिर से शुरू करनी ज़रूरी है. प्रोसेस में, Playable की सभी सुविधाएं शामिल होती हैं. जैसे, गेम लूप, संगीत, इंटरैक्शन, नेटवर्क कॉल, और रेंडरिंग.
  • गेम को वेब पेज विज़िबिलिटी एपीआई या इसी तरह के अन्य वेब एपीआई का इस्तेमाल नहीं करना चाहिए. साथ ही, Playables SDK के सिर्फ़ onPause और onResume का इस्तेमाल करना ज़रूरी है.
  • `onPause` होने पर, गेम को उपयोगकर्ता की प्रोग्रेस सेव करनी चाहिए.