इनाम वाले विज्ञापन ऐसे विज्ञापन होते हैं जिन्हें उपयोगकर्ता, ऐप्लिकेशन में मिलने वाले इनाम को पाने के लिए देख सकते हैं. इस गाइड में, AdMob से इनाम वाले विज्ञापनों को Unity ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है.
इस गाइड में, इनाम वाले विज्ञापनों को Unity ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है.
ज़रूरी शर्तें
आगे बढ़ने से पहले, सेट अप करें Google Mobile Ads Unity Plugin.
हमेशा टेस्ट विज्ञापनों का इस्तेमाल करके टेस्ट करना
नीचे दिए गए सैंपल कोड में, एक विज्ञापन यूनिट आईडी शामिल है. इसका इस्तेमाल, टेस्ट विज्ञापन का अनुरोध करने के लिए किया जा सकता है. इसे खास तौर पर इस तरह कॉन्फ़िगर किया गया है कि हर अनुरोध के लिए प्रोडक्शन विज्ञापनों के बजाय टेस्ट विज्ञापन दिखाए जा सकें. इसलिए, इसका इस्तेमाल सुरक्षित है.
हालांकि, Ad Manager के वेब इंटरफ़ेस में किसी ऐप्लिकेशन को रजिस्टर करने और अपने ऐप्लिकेशन में इस्तेमाल के लिए, विज्ञापन यूनिट आईडी बनाने के बाद, डेवलपमेंट के दौरान अपने डिवाइस को साफ़ तौर पर टेस्ट डिवाइस के तौर पर कॉन्फ़िगर करें.
/21775744923/example/rewarded
Google Mobile Ads Unity Plugin को शुरू करना
विज्ञापन लोड करने से पहले, अपने ऐप्लिकेशन में Google Mobile Ads Unity Plugin को कॉल करके
MobileAds.Initialize() को शुरू करें. इसे सिर्फ़ एक बार करना होगा. सबसे सही तरीका है कि इसे ऐप्लिकेशन लॉन्च के समय किया जाए.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize Google Mobile Ads Unity Plugin.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
अगर मीडिएशन का इस्तेमाल किया जा रहा है, तो विज्ञापन लोड करने से पहले कॉलबैक होने तक इंतज़ार करें. इससे यह पक्का होगा कि सभी मीडिएशन अडैप्टर शुरू हो गए हैं.
इनाम वाला विज्ञापन लोड करना
इनाम वाला विज्ञापन लोड करने के लिए, RewardedAd क्लास पर स्टैटिक Load() तरीके का इस्तेमाल किया जाता है. लोड किए गए RewardedAd ऑब्जेक्ट को पूरा होने वाले हैंडलर में पैरामीटर के तौर पर दिया जाता है. यहां इनाम वाला विज्ञापन लोड करने का एक उदाहरण दिया गया है:
AD_UNIT_ID को अपने विज्ञापन यूनिट आईडी से बदलें.
[ज़रूरी नहीं] सर्वर साइड से की जाने वाली पुष्टि (एसएसवी) के कॉलबैक की पुष्टि करना
जिन ऐप्लिकेशन को सर्वर साइड से की जाने वाली पुष्टि
के कॉलबैक में ज़्यादा डेटा की ज़रूरत होती है उन्हें इनाम वाले विज्ञापनों के कस्टम डेटा की सुविधा का इस्तेमाल करना चाहिए.
इनाम वाले विज्ञापन के ऑब्जेक्ट पर सेट की गई कोई भी स्ट्रिंग वैल्यू, एसएसवी कॉलबैक के custom_data क्वेरी पैरामीटर को पास की जाती है. अगर कोई कस्टम डेटा वैल्यू सेट नहीं की जाती है, तो एसएसवी कॉलबैक में custom_data क्वेरी पैरामीटर की वैल्यू मौजूद नहीं होगी.
नीचे दिए गए कोड के सैंपल में, इनाम वाला विज्ञापन लोड होने के बाद, एसएसवी के विकल्प सेट करने का तरीका बताया गया है.
SAMPLE_CUSTOM_DATA_STRING को अपने कस्टम डेटा से बदलें.
अगर आपको कस्टम इनाम स्ट्रिंग सेट करनी है, तो आपको विज्ञापन दिखाने से पहले ऐसा करना होगा.
इनाम वाले विज्ञापन को इनाम के कॉलबैक के साथ दिखाना
विज्ञापन दिखाते समय, आपको उपयोगकर्ता के लिए इनाम को मैनेज करने के लिए कॉलबैक देना होगा. हर बार ऐप लोड पर, सिर्फ़ एक बार विज्ञापन दिखाया जा सकता हैं. CanShowAd() तरीके का इस्तेमाल करके यह पुष्टि करें कि विज्ञापन दिखाने के लिए तैयार है.
नीचे दिए गए कोड में, इनाम वाला विज्ञापन दिखाने का सबसे सही तरीका बताया गया है.
if (rewardedAd != null && rewardedAd.CanShowAd())
{
rewardedAd.Show((Reward reward) =>
{
// The ad was showen and the user earned a reward.
});
}
इनाम वाले विज्ञापन के इवेंट सुनना
विज्ञापन के व्यवहार को और ज़्यादा पसंद के मुताबिक बनाने के लिए, विज्ञापन के लाइफ़साइकल में कुछ इवेंट को हुक किया जा सकता है. नीचे दिए गए कोड में, विज्ञापन के इवेंट सुनने का तरीका बताया गया है:
rewardedAd.OnAdPaid += (AdValue adValue) =>
{
// Raised when the ad is estimated to have earned money.
};
rewardedAd.OnAdImpressionRecorded += () =>
{
// Raised when an impression is recorded for an ad.
};
rewardedAd.OnAdClicked += () =>
{
// Raised when a click is recorded for an ad.
};
rewardedAd.OnAdFullScreenContentOpened += () =>
{
// Raised when the ad opened full screen content.
};
rewardedAd.OnAdFullScreenContentClosed += () =>
{
// Raised when the ad closed full screen content.
};
rewardedAd.OnAdFullScreenContentFailed += (AdError error) =>
{
// Raised when the ad failed to open full screen content.
};
इनाम वाले विज्ञापन को साफ़ करना
जब RewardedAd का इस्तेमाल पूरा हो जाए, तो उसका रेफ़रंस हटाने से पहले, Destroy() तरीके को कॉल करना न भूलें:
if (rewardedAd != null)
{
rewardedAd.Destroy();
}
इससे प्लगिन को सूचना मिलती है कि ऑब्जेक्ट का इस्तेमाल अब नहीं किया जा रहा है. साथ ही, प्लगिन उस मेमोरी को वापस पा सकता है जो ऑब्जेक्ट ने ली थी. इस तरीके को कॉल न करने पर, मेमोरी लीक हो सकती है.
अगले इनाम वाले विज्ञापन को पहले से लोड करना
RewardedAd एक बार इस्तेमाल किया जाने वाला ऑब्जेक्ट है. इसका मतलब है कि इनाम वाला विज्ञापन दिखाए जाने के बाद, ऑब्जेक्ट का फिर से इस्तेमाल नहीं किया जा सकता. इनाम वाले किसी दूसरे विज्ञापन का अनुरोध करने के लिए, आपको एक नया RewardedAd ऑब्जेक्ट बनाना होगा.
विज्ञापन दिखाने के अगले मौके के लिए, इनाम वाले विज्ञापन को पहले से लोड करें. ऐसा तब करें, जब OnAdFullScreenContentClosed या OnAdFullScreenContentFailed विज्ञापन इवेंट ट्रिगर हो.
अन्य संसाधन
- HelloWorld का उदाहरण: इसमें सभी विज्ञापन फ़ॉर्मैट को मिनिमल तरीके से लागू किया गया है.