इनाम वाले इंटरस्टीशियल विज्ञापन, नए तरह से तैयार किए गए विज्ञापन फ़ॉर्मैट हैं. इनकी मदद से, ऐप्लिकेशन में स्वाभाविक तौर पर हुए ट्रांज़िशन के दौरान दिखने वाले विज्ञापनों के लिए, इनाम दिए जा सकते हैं. उपयोगकर्ताओं को इनाम वाले इंटरस्टीशियल विज्ञापन देखने के लिए, ऑप्ट-इन करना ज़रूरी नहीं होता. इनाम वाले विज्ञापनों के लिए ऐसा करना ज़रूरी है. इस गाइड में, AdMob के इनाम वाले इंटरस्टीशियल विज्ञापनों को Flutter ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है.
ज़रूरी शर्तें
- Flutter प्लगिन 1.1.0 या इसके बाद का वर्शन.
- शुरू करें पर क्लिक करें. आपके Flutter ऐप्लिकेशन में, Google Mobile Ads Flutter प्लगिन पहले से इंपोर्ट किया गया हो.
हमेशा टेस्ट विज्ञापनों का इस्तेमाल करके टेस्ट करें
अपने ऐप्लिकेशन बनाते और उनकी टेस्टिंग करते समय, पक्का करें कि आपने लाइव और प्रोडक्शन विज्ञापनों के बजाय, टेस्ट विज्ञापनों का इस्तेमाल किया हो. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका यह है कि इनाम वाले इंटरस्टीशियल विज्ञापनों के लिए, हमारी टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करें:
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
टेस्ट विज्ञापन यूनिट को इस तरह कॉन्फ़िगर किया जाता है कि हर अनुरोध के लिए टेस्ट विज्ञापन दिखाए जा सकें. साथ ही, कोडिंग, टेस्टिंग, और डीबग करने के दौरान, इनका इस्तेमाल अपने ऐप्लिकेशन में किया जा सकता है. हालांकि, ऐप्लिकेशन पब्लिश करने से पहले, उन्हें अपने विज्ञापन यूनिट आईडी से बदलें.
विज्ञापन लोड करना
यहां इनाम वाले इंटरस्टीशियल विज्ञापन को लोड करने का उदाहरण दिया गया है:
_adUnitId को अपनी विज्ञापन यूनिट के आईडी से बदलें.
इनाम वाले इंटरस्टीशियल विज्ञापन के इवेंट
FullScreenContentCallback
का इस्तेमाल करके, लाइफ़साइकल इवेंट के बारे में सुना जा सकता है. जैसे, विज्ञापन कब दिखाया गया या कब खारिज किया गया. इन इवेंट के लिए सूचनाएं पाने के लिए, विज्ञापन दिखाने से पहले RewardedInterstitialAd.fullScreenContentCallback
सेट करें. इस उदाहरण में, हर तरीके को लागू किया गया है. साथ ही, कंसोल में एक मैसेज लॉग किया गया है:
ad.fullScreenContentCallback = FullScreenContentCallback(
onAdShowedFullScreenContent: (ad) {
// Called when the ad showed the full screen content.
debugPrint('Ad showed full screen content.');
},
onAdFailedToShowFullScreenContent: (ad, err) {
// Called when the ad failed to show full screen content.
debugPrint('Ad failed to show full screen content with error: $err');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdDismissedFullScreenContent: (ad) {
// Called when the ad dismissed full screen content.
debugPrint('Ad was dismissed.');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdImpression: (ad) {
// Called when an impression occurs on the ad.
debugPrint('Ad recorded an impression.');
},
onAdClicked: (ad) {
// Called when a click is recorded for an ad.
debugPrint('Ad was clicked.');
},
);
Display Network में दिखने वाला विज्ञापन
RewardedInterstitialAd
को ऐप्लिकेशन के सभी कॉन्टेंट के ऊपर एक ओवरले के तौर पर दिखाया जाता है. साथ ही, इसे स्टैटिक तौर पर रखा जाता है. इसलिए, इसे Flutter विजेट ट्री में नहीं जोड़ा जा सकता.
show()
को कॉल करके, विज्ञापन दिखाने का समय चुना जा सकता है.
RewardedInterstitialAd.show()
एक OnUserEarnedRewardCallback
लेता है. इसे तब शुरू किया जाता है, जब उपयोगकर्ता को इनाम मिलता है. इसे लागू करना न भूलें और विज्ञापन देखने के लिए उपयोगकर्ता को इनाम दें.
_rewardedInterstitialAd?.show(
onUserEarnedReward: (AdWithoutView view, RewardItem rewardItem) {
debugPrint('Reward amount: ${rewardItem.amount}');
},
);
show()
को कॉल करने के बाद, इस तरह से दिखाए गए Ad
को प्रोग्राम के हिसाब से नहीं हटाया जा सकता. इसके लिए, उपयोगकर्ता के इनपुट की ज़रूरत होती है. RewardedInterstitialAd
को सिर्फ़ एक बार दिखाया जा सकता है. इसके बाद, कॉल दिखाने के लिए onAdFailedToShowFullScreenContent
ट्रिगर होगा.
जब किसी विज्ञापन का ऐक्सेस ज़रूरी न हो, तो उसे बंद कर देना चाहिए. dispose()
को कब कॉल करना है, इसके लिए सबसे सही तरीका FullScreenContentCallback.onAdDismissedFullScreenContent
और FullScreenContentCallback.onAdFailedToShowFullScreenContent
कॉलबैक में दिया गया है.
[ज़रूरी नहीं] सर्वर साइड से की जाने वाली पुष्टि (एसएसवी) के कॉलबैक की पुष्टि करना
जिन ऐप्लिकेशन को सर्वर साइड से की जाने वाली पुष्टि वाले कॉलबैक में अतिरिक्त डेटा की ज़रूरत होती है उन्हें इनाम वाले विज्ञापनों की कस्टम डेटा सुविधा का इस्तेमाल करना चाहिए. इनाम वाले विज्ञापन ऑब्जेक्ट पर सेट की गई कोई भी स्ट्रिंग वैल्यू, एसएसवी कॉलबैक के custom_data
क्वेरी पैरामीटर को पास की जाती है. अगर कस्टम डेटा वैल्यू सेट नहीं की जाती है, तो एसएसवी कॉलबैक में custom_data
क्वेरी पैरामीटर वैल्यू मौजूद नहीं होगी.
नीचे दिए गए कोड के सैंपल में बताया गया है कि इनाम वाले इंटरस्टीशियल विज्ञापन के लोड होने के बाद, एसएसवी के विकल्प कैसे सेट करें:
SAMPLE_CUSTOM_DATA_STRING की जगह अपना कस्टम डेटा डालें.
GitHub पर पूरा उदाहरण
इनाम वाला इंटरस्टीशियल विज्ञापन