इस गाइड में, वीडियो प्लेयर ऐप्लिकेशन में आईएमए डीएआई एसडीके को इंटिग्रेट करने का तरीका बताया गया है. अगर आपको इंटिग्रेशन का पूरा सैंपल देखना है या उसे फ़ॉलो करना है, तो GitHub से PodServingExample डाउनलोड करें.
आईएमए डीएआई के बारे में खास जानकारी
आईएमए डीएआई को लागू करने के लिए, एसडीके के चार मुख्य कॉम्पोनेंट की ज़रूरत होती है. इस गाइड में इनके बारे में बताया गया है:
IMAAdDisplayContainer– यह एक कंटेनर ऑब्जेक्ट है, जो वीडियो प्लेबैक एलिमेंट के ऊपर मौजूद होता है. इसमें विज्ञापन के यूज़र इंटरफ़ेस (यूआई) एलिमेंट होते हैं.IMAAdsLoader– यह एक ऐसा ऑब्जेक्ट है जो स्ट्रीम का अनुरोध करता है. साथ ही, स्ट्रीम के अनुरोध के रिस्पॉन्स ऑब्जेक्ट से ट्रिगर होने वाले इवेंट को मैनेज करता है. आपको सिर्फ़ एक विज्ञापन लोडर को इंस्टैंशिएट करना चाहिए. इसे ऐप्लिकेशन के लाइफ़टाइम के दौरान फिर से इस्तेमाल किया जा सकता है.IMAStreamRequest–IMAPodVODStreamRequestयाIMAPodStreamRequest.IMAStreamManager– यह एक ऐसा ऑब्जेक्ट है जो डाइनैमिक ऐड इंसर्शन स्ट्रीम और डीएआई बैकएंड के साथ इंटरैक्शन को मैनेज करता है. स्ट्रीम मैनेजर, ट्रैकिंग पिंग को भी मैनेज करता है. साथ ही, स्ट्रीम और विज्ञापन इवेंट को पब्लिशर को फ़ॉरवर्ड करता है.
इसके अलावा, पॉड सर्विंग स्ट्रीम चलाने के लिए, कस्टम वीटीपी हैंडलर लागू करें. यह कस्टम वीटीपी हैंडलर, आपके वीडियो टेक्निकल पार्टनर (वीटीपी) को स्ट्रीम आईडी भेजता है. साथ ही, वह अन्य जानकारी भी भेजता है जो उसे कॉन्टेंट और जोड़े गए विज्ञापनों, दोनों को शामिल करने वाले स्ट्रीम मेनिफ़ेस्ट को वापस करने के लिए ज़रूरी होती है. आपका वीटीपी, कस्टम वीटीपी हैंडलर को लागू करने के तरीके के बारे में निर्देश देता है.
ज़रूरी शर्तें
शुरू करने से पहले, आपको ये ज़रूरी शर्तें पूरी करनी होंगी:
- Xcode 13 या इसके बाद का वर्शन
- आईएमए एसडीके इंस्टॉल करने का तरीका:
- Swift Package Manager (पसंदीदा)
- iOS के लिए IMA SDK की डाउनलोड की गई कॉपी
आईएमए एसडीके से अपनी स्ट्रीम का अनुरोध करने के लिए, आपको पैरामीटर की भी ज़रूरत होगी.
| लाइव स्ट्रीम के पैरामीटर | |
|---|---|
| नेटवर्क कोड |
आपके Ad Manager 360 खाते का नेटवर्क कोड. |
| कस्टम ऐसेट कुंजी |
कस्टम ऐसेट कुंजी, जो Ad Manager 360 में आपके पॉड सर्विंग इवेंट की पहचान करती है. इसे आपका मेनिफ़ेस्ट मैनिप्युलेटर या पॉड सर्विंग पार्टनर बनाता है. |
| वीओडी स्ट्रीम के पैरामीटर | |
| नेटवर्क कोड |
आपके Ad Manager 360 खाते का नेटवर्क कोड. |
नया Xcode प्रोजेक्ट बनाएं
Xcode में, Objective-C का इस्तेमाल करके "PodServingExample" नाम से एक नया iOS प्रोजेक्ट बनाएं.
Xcode प्रोजेक्ट में आईएमए डीएआई एसडीके जोड़ना
IMA SDK टूल इंस्टॉल करने के लिए, अपना पसंदीदा तरीका चुनें.
सुझाया गया तरीका: Swift Package Manager का इस्तेमाल करके SDK टूल इंस्टॉल करना
Interactive Media Ads SDK, 3.18.4 और इसके बाद के वर्शन में Swift Package Manager के साथ काम करता है. Swift पैकेज को इंपोर्ट करने के लिए, यह तरीका अपनाएं.
Xcode में, आईएमए डीएआई एसडीके Swift Package इंस्टॉल करें: इसके लिए, File > Add Packages पर जाएं.
इसके बाद, आपको एक प्रॉम्प्ट दिखेगा. इसमें, आईएमए डीएआई एसडीके Swift Package की GitHub रिपॉज़िटरी खोजें:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-iosआईएमए डीएआई एसडीके स्विफ़्ट पैकेज का वह वर्शन चुनें जिसका आपको इस्तेमाल करना है. नए प्रोजेक्ट के लिए, Up to Next Major Version का इस्तेमाल करें.
इसके बाद, Xcode आपके पैकेज की डिपेंडेंसी से जुड़ी समस्या को हल करता है और उन्हें बैकग्राउंड में डाउनलोड करता है. पैकेज डिपेंडेंसी जोड़ने के तरीके के बारे में ज़्यादा जानने के लिए, Apple का लेख पढ़ें.
SDK टूल को मैन्युअल तरीके से डाउनलोड और इंस्टॉल करना
अगर आपको Swift Package Manager का इस्तेमाल नहीं करना है, तो IMA SDK को डाउनलोड करें और उसे अपने प्रोजेक्ट में मैन्युअल तरीके से जोड़ें.
वीडियो प्लेयर बनाना
अपने मुख्य व्यू कंट्रोलर में वीडियो प्लेयर लागू करें; यूज़र इंटरफ़ेस (यूआई) व्यू में एवी प्लेयर को रैप करें. आईएमए SDK, विज्ञापन के यूज़र इंटरफ़ेस (यूआई) एलिमेंट दिखाने के लिए, यूज़र इंटरफ़ेस (यूआई) व्यू का इस्तेमाल करता है.
Objective-C
Swift
विज्ञापन लोडर को शुरू करना
IMA SDK को अपने व्यू कंट्रोलर में इंपोर्ट करें. साथ ही, विज्ञापन लोडर और स्ट्रीम मैनेजर इवेंट को मैनेज करने के लिए,
IMAAdsLoaderDelegate
और
IMAStreamManagerDelegate
प्रोटोकॉल अपनाएं.
IMA SDK के मुख्य कॉम्पोनेंट को स्टोर करने के लिए, ये निजी प्रॉपर्टी जोड़ें:
IMAAdsLoader- यह आपके ऐप्लिकेशन के पूरे लाइफ़टाइम के दौरान, स्ट्रीम के अनुरोधों को मैनेज करता है.
IMAAdDisplayContainer- विज्ञापन के यूज़र इंटरफ़ेस एलिमेंट को शामिल करने और मैनेज करने की सुविधा देता है.
IMAAVPlayerVideoDisplay- यह IMA SDK और आपके मीडिया प्लेयर के बीच कम्यूनिकेट करता है. साथ ही, टाइम किए गए मेटाडेटा को मैनेज करता है.IMAStreamManager- यह स्ट्रीम प्लेबैक को मैनेज करता है और विज्ञापन से जुड़े इवेंट को ट्रिगर करता है.
व्यू लोड होने के बाद, विज्ञापन लोडर, विज्ञापन डिसप्ले कंटेनर, और वीडियो डिसप्ले को शुरू करें.
Objective-C
Swift
स्ट्रीम का अनुरोध करना
जब कोई उपयोगकर्ता प्ले बटन दबाए, तो नई स्ट्रीम का अनुरोध करें.
लाइव स्ट्रीम के लिए,
IMAPodStreamRequest
क्लास का इस्तेमाल करें. वीओडी स्ट्रीम के लिए,
IMAPodVODStreamRequest
क्लास का इस्तेमाल करें.
स्ट्रीम के अनुरोध के लिए, आपके स्ट्रीम पैरामीटर के साथ-साथ विज्ञापन डिसप्ले कंटेनर और वीडियो डिसप्ले का रेफ़रंस भी ज़रूरी है.
Objective-C
Swift
स्ट्रीम लोड होने से जुड़े इवेंट सुनना
स्ट्रीम का अनुरोध पूरा होने या न होने पर, IMAAdsLoader क्लास, IMAAdsLoaderDelegate तरीकों को कॉल करती है.
adsLoadedWithData डेलिगेट मेथड में, अपना IMAStreamManagerDelegate सेट करें.
स्ट्रीम आईडी को अपने कस्टम वीटीपी हैंडलर को पास करें और स्ट्रीम मेनिफ़ेस्ट यूआरएल को वापस पाएं. लाइव स्ट्रीम के लिए, मेनिफ़ेस्ट यूआरएल को अपने वीडियो डिसप्ले में लोड करें और वीडियो चलाना शुरू करें. वीओडी स्ट्रीम के लिए, मेनिफ़ेस्ट यूआरएल को स्ट्रीम मैनेजर के loadThirdPartyStream तरीके पर पास करें. यह तरीका, Ad Manager 360 से विज्ञापन इवेंट डेटा का अनुरोध करता है. इसके बाद, मेनिफ़ेस्ट यूआरएल लोड करता है और वीडियो चलाना शुरू करता है.
failedWithErrorData
डेलिगेट मेथड में, गड़बड़ी को लॉग करें. अगर आप चाहें, तो बैकअप स्ट्रीम चलाएं. डीएआई इस्तेमाल करने के सबसे सही तरीके देखें.
Objective-C
Swift
कस्टम वीटीपी हैंडलर लागू करना
कस्टम वीटीपी हैंडलर, दर्शक का स्ट्रीम आईडी आपके वीडियो टेक्निकल पार्टनर (वीटीपी) को भेजता है. साथ ही, वह ऐसी अन्य जानकारी भी भेजता है जो आपके वीटीपी को स्ट्रीम मेनिफ़ेस्ट दिखाने के लिए ज़रूरी होती है. इस मेनिफ़ेस्ट में, कॉन्टेंट और स्टिच किए गए विज्ञापन, दोनों शामिल होते हैं. आपका वीटीपी, कस्टम वीटीपी हैंडलर को लागू करने के बारे में खास निर्देश देता है.
उदाहरण के लिए, वीटीपी में मेनिफ़ेस्ट टेंप्लेट यूआरएल शामिल हो सकता है. इसमें मैक्रो [[STREAMID]] शामिल होता है. इस उदाहरण में, हैंडलर मैक्रो की जगह स्ट्रीम आईडी डालता है और नतीजे के तौर पर मेनिफ़ेस्ट यूआरएल दिखाता है.
Objective-C
Swift
विज्ञापन इवेंट सुनना
IMAStreamManager, आपके ऐप्लिकेशन को स्ट्रीम इवेंट और गड़बड़ियां भेजने के लिए, IMAStreamManagerDelegate तरीके को कॉल करता है.
इस उदाहरण के लिए, कंसोल में मुख्य विज्ञापन इवेंट लॉग करें:
Objective-C
Swift
आईएमए डीएआई ऐसेट को हटाना
स्ट्रीम प्लेबैक को रोकने, विज्ञापन की सभी ट्रैकिंग बंद करने, और लोड की गई सभी स्ट्रीम ऐसेट को रिलीज़ करने के लिए, IMAStreamManager.destroy() को कॉल करें.
अपना ऐप्लिकेशन चलाएं. अगर ऐप्लिकेशन सही तरीके से काम करता है, तो IMA SDK की मदद से Google डीएआई स्ट्रीम का अनुरोध करें और उन्हें चलाएं. SDK टूल की अन्य ऐडवांस सुविधाओं के बारे में जानने के लिए, बाईं ओर मौजूद साइडबार में दी गई अन्य गाइड या GitHub पर मौजूद सैंपल देखें.