इस पेज पर मौजूदा और पिछले वर्शन के माइग्रेशन के बारे में बताया गया है.
v22 से v23 पर माइग्रेट करें
Android का एपीआई लेवल कम से कम 21 होना चाहिए
वर्शन 23.0.0 से, Google Mobile Ads SDK के लिए यह ज़रूरी है कि सभी ऐप्लिकेशन
कम से कम Android API लेवल 21 पर चलने वाला ऐप्लिकेशन होना चाहिए. एपीआई लेवल को अडजस्ट करने के लिए,
मान minSdkVersion
है, जो कि आपके ऐप्लिकेशन-लेवल की build.gradle
फ़ाइल में 21 या उससे ज़्यादा है.
अमान्य तरीके हटाए गए/बदले गए
v22.0.0 एपीआई | v23.0.0 एपीआई |
---|---|
AdRequest.Builder.addTestDevice() | RequestConfiguration.Builder.setTestDeviceIds() |
AdRequest.Builder.tagForChildDirectedTreatment() | RequestConfiguration.Builder.setTagForChildDirectedTreatment() |
AdRequest.Builder.setIsDesignedForFamilies() | RequestConfiguration.Builder.setMaxAdContentRating() |
AdFormat.UNKNOWN | कोई दूसरा विकल्प नहीं है |
AdLoader.Builder.forUnifiedNativeAd() | AdLoader.Builder.forNativeAd() |
AdLoader.Builder.forCustomTemplateAd() | AdLoader.Builder.forCustomFormatAd() |
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.formats .NativeAdOptions)
|
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.nativead .NativeAdOptions)
|
MobileAds.setSameAppKeyEnabled() वाला अमान्य है | boolean MobileAds.putPublisherFirstPartyIdEnabled() |
वर्शन 21 से v22 पर माइग्रेट करें
Google Mobile Ads SDK वर्शन पाने के लिए MobileAds.getVersion() का इस्तेमाल करें
वर्शन 22.0.0 में मौजूद MobileAds.getVersionString()
तरीके को हटा दिया गया है
में से
MobileAds.getVersion()
.
नया तरीका अनुमानित बाहरी वर्शन नंबर दिखाता है—उदाहरण के लिए,
22.0.0
. इस परिवर्तन के बारे में अधिक जानकारी के लिए, नए Google मोबाइल का उपयोग करना देखें
विज्ञापन SDK getVersion()
तरीका.
हटाए या बदले गए तरीके
नीचे दी गई टेबल में, वर्शन 22.0.0 में किए गए खास बदलावों की जानकारी दी गई है.
v21.0.0 | v22.0.0 |
---|---|
MobileAds.getVersionString() | MobileAds.getVersion() |
NativeCustomFormatAd.getVideoMediaView() | NativeCustomFormatAd.getMediaContent() |
NativeCustomFormatAd.getVideoController() | NativeCustomFormatAd.getMediaContent().getVideoController() |
AdRequest.Builder.setAdInfo() | AdRequest.Builder.setAdString() |
MediationRewardedVideoAdAdapter | अडैप्टर |
MediationRewardedVideoAdListener | |
com.google.android.gms.ads.mediation.VersionInfo | com.google.android.gms.ads.VersionInfo |
com.google.android.gms.ads.doubleclick.AppEventListener | com.google.android.gms.ads.admanager.AppEventListener |
v20 से v21 पर माइग्रेट करना
minSdkVersion को 19 या उसके बाद वाले वर्शन पर अपडेट करें
वर्शन 21.0.0 से, Google Mobile Ads SDK के लिए यह ज़रूरी है कि सभी ऐप्लिकेशन
Android के एपीआई लेवल 19 पर चलने के लिए ज़रूरी है. एपीआई लेवल को अडजस्ट करने के लिए,
minSdkVersion
का मान 19 या उससे ज़्यादा होना चाहिए.
सख्त शून्यता लागू करें
सख्त शून्यता को लागू करने की तैयारी के लिए, @NonNull
एनोटेशन हैं
को उन सभी एपीआई में जोड़ा गया है जिनमें पहले साफ़ तौर पर शून्य होने के बारे में नहीं बताया गया था.
इस बदलाव से उन Kotlin ऐप्लिकेशन और ऐप्लिकेशन को काम करना बंद कर सकता है जो Java शून्य जांचने की सुविधा का इस्तेमाल करते हैं
अगर सुरक्षा से जुड़े उल्लंघन की कोई कमी है और पहले से इन गड़बड़ियों को ठीक नहीं किया गया है, तो
null
की वैल्यू सुरक्षित तरीके से डालें (इस बारे में Kotlin के दस्तावेज़ देखें
कोई सुरक्षा नहीं
).
addNetworkExtras() तरीका को हटाना
ऐसा addNetworkExtras()
तरीका जो अतिरिक्त पैरामीटर को
SDK टूल में, किसी खास विज्ञापन नेटवर्क अडैप्टर के लिए NetworkExtras
इंस्टेंस बंद कर दिया गया
वर्शन 20.3.0 है और इसे 21.0.0 वर्शन में हटा दिया जाएगा. इसका इस्तेमाल करें
addNetworkExtrasBundle()
विधि का इस्तेमाल करके AdRequest.Builder
क्लास का इस्तेमाल करें.
जगह की जानकारी के तरीकों को हटाने का तरीका
वर्शन 21.0.0 में, जगह की जानकारी के ये तरीके हटा दिए जाएंगे:
AdRequest.Builder
क्लास मेंsetLocation(Location location)
तरीका जो मीडिएशन टारगेटिंग के लिए उपयोगकर्ता की जगह की जानकारी सेट करती है.AdRequest
क्लास में मौजूदgetLocation()
तरीका, जो उपयोगकर्ता की जानकारी दिखाता है जगह के हिसाब से टारगेटिंग की जानकारी, पहलेsetLocation(Location location)
तरीके को पास की गई थी.MediationAdConfiguration
क्लास में मौजूदgetLocation()
तरीका जो अगरAdRequest
के ज़रिए तय किया गया है, तो उपयोगकर्ता की जगह की जानकारी दिखाता है.
Google, विज्ञापन दिखाने के लिए जगह की जानकारी के डेटा का इस्तेमाल नहीं करता. आपको Google Ads API का इस्तेमाल करना चाहिए तीसरे पक्ष के एपीआई, ताकि तीसरे पक्ष की विज्ञापन नेटवर्क कंपनियों को जानकारी दी जा सके, अगर आवश्यक.
कस्टम इवेंट इंटरफ़ेस का बंद होना
कस्टम इवेंट, पब्लिशर को इनका इस्तेमाल करने की सुविधा देते हैं AdMob मीडिएशन (अलग-अलग नेटवर्क से विज्ञापन दिखाना) की मदद से ऐसे वॉटरफ़ॉल विज्ञापन स्रोत को सेट अप किया जा सकता है जो AdMobमें से एक इस्तेमाल किए जा सकने वाले विज्ञापन स्रोत.
सभी कस्टम
इवेंट
इंटरफ़ेस का समर्थन बंद कर दिया गया है
Adapter
क्लास और
MediationAdLoadCallback
इंटरफ़ेस पर कॉपी करने की सुविधा मिलती है.
नीचे दी गई टेबल में उस क्लास या इंटरफ़ेस की सूची दी गई है जिसका इस्तेमाल किया जाना चाहिए हर कस्टम इवेंट इंटरफ़ेस के लिए, वर्शन 21.0.0 और उसके बाद के वर्शन के लिए:
v20.0.0 इंटरफ़ेस | v21.0.0 क्लास/ इंटरफ़ेस |
---|---|
CustomEvent | अडैप्टर |
CustomEventBanner | |
CustomEventInterstitial | |
CustomEventNative | |
CustomEventBannerListener |
अडैप्टर,
|
CustomEventInterstitialListener | |
CustomEventListener | |
CustomEventNativeListener |
v19 से v20 पर माइग्रेट करना
वर्शन 20.0.0 में नुकसान पहुंचा सकने वाले कई बदलाव किए गए हैं. वर्शन 19.7.0 पेश किया गया कई नए API, और वर्शन तैयार करने के लिए बनाई गई कई क्लास को बंद कर दिया या उनके नाम बदल दिए 20.0.0. यह गाइड, वर्शन 20.0.0 में हुए बड़े बदलावों को हाइलाइट करती है.
Full-screen Format API के अपडेट
वर्शन 20.0.0 और इसके बाद के वर्शन में, इंटरस्टीशियल, इनाम वाले विज्ञापन, इनाम वाले इंटरस्टीशियल विज्ञापन, और ऐप्लिकेशन खोलने पर दिखने वाले विज्ञापन फ़ॉर्मैट को एक जैसे एपीआई डिज़ाइन के हिसाब से बनाया जाता है.
फ़ुल-स्क्रीन फ़ॉर्मैट वाले सभी एपीआई में इन सिद्धांतों का इस्तेमाल किया जाता है:
- स्टैटिक लोड मेथड
- एक मिलती-जुलती लोड कॉलबैक या हैंडलर प्रणाली
FullScreenContentCallback
पर भरोसा प्रज़ेंटेशन कॉलबैक के लिए क्लास
लेगसी RewardedVideoAd API को हटाना
नया
RewardedAd
एपीआई को सबसे पहले मार्च 2019 में लॉन्च किया गया था. यह एपीआई के तौर पर, लोगों के लिए
18 महीनों से ज़्यादा समय से एपीआई. इसमें लेगसी वर्शन की तुलना में ज़्यादा सुधार किए गए
RewardedVideoAd
एपीआई, जिसमें इनाम वाले एक से ज़्यादा विज्ञापन लोड करने की सुविधा भी शामिल है
एक समय में.
SDK टूल के वर्शन 20.0.0 से, लेगसी RewardedVideoAd
API को हटा दिया गया है.
अडैप्टिव बैनर के लिए स्मार्ट बैनर का बंद होना
स्मार्ट बैनर वाले विज्ञापनों के इस्तेमाल पर रोक लगा दी गई है अडैप्टिव बैनर को बढ़ावा दिया विज्ञापन. अडैप्टिव बैनर की मदद से, डिवाइस की परफ़ॉर्मेंस बेहतर होती है और उसे अपने हिसाब से इस्तेमाल किया जा सकता है विज्ञापन की चौड़ाई सेट कर रहा है. अगर आपको पूरी चौड़ाई वाले बैनर का इस्तेमाल करते रहना है, तो अडैप्टिव बैनर का इस्तेमाल करके किया जाएगा, जैसा कि इस कोड स्निपेट में दिखाया गया है:
Java
public class MyActivity extends AppCompatActivity { ... private AdSize getFullWidthAdaptiveSize() { Display display = getWindowManager().getDefaultDisplay(); DisplayMetrics outMetrics = new DisplayMetrics(); display.getMetrics(outMetrics); float widthPixels = outMetrics.widthPixels; float density = outMetrics.density; int adWidth = (int) (widthPixels / density); return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth); } }
Kotlin
class MyActivity : AppCompatActivity() { ... private val adaptiveAdSize: AdSize get() { val display = windowManager.defaultDisplay val outMetrics = DisplayMetrics() display.getMetrics(outMetrics) val density = outMetrics.density var adWidthPixels = ad_view_container.width.toFloat() if (adWidthPixels == 0f) { adWidthPixels = outMetrics.widthPixels.toFloat() } val adWidth = (adWidthPixels / density).toInt() return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth) } }
ऐप्लिकेशन कॉलबैक हटाना छोड़ें
सभी विज्ञापन फ़ॉर्मैट के लिए onAdLeftApplication
कॉलबैक को हटा दिया गया है
में से
ProcessLifecycleOwner
.
ओएस के लेवल वाले एपीआई का इस्तेमाल करने पर, ऐप्लिकेशन से बाहर निकलने पर आपको इसकी सूचना मिलती है. भले ही,
भले ही, ऐसा किसी विज्ञापन इंटरैक्शन की वजह से हो रहा हो.
ध्यान दें कि onAdLeftApplication
कॉलबैक, विज्ञापन के तौर पर कभी नहीं दिखाया गया था
और क्लिक की रिपोर्ट करने के लिए इस कॉलबैक पर निर्भर रहने से कोई
सटीक मेट्रिक. उदाहरण के लिए, AdChoices आइकॉन पर क्लिक करने से
बाहरी ब्राउज़र ने कॉलबैक को शुरू किया, लेकिन इसकी गिनती क्लिक के रूप में नहीं की गई.
क्लास के नाम बदलना
नीचे दी गई टेबल में, क्लास के उन नामों की सूची है जिनमें बदलाव किया गया है या जिन्हें हटा दिया गया है. तय सीमा में जवाब:
UnifiedNativeAd
से जुड़ी ज़्यादातर क्लास का नाम बदलकरNativeAd
कर दिया गया है.MobileAds.Settings
,NativeExpressAdView
,NativeAppInstallAd
,NativeContentAd
औरInstreamAd
से क्लास और व्यू हटा दिए गए हैं.Publisher
प्रीफ़िक्स वाली सभी क्लास को इससे बदल दिया गया हैAdManager
प्रीफ़िक्स.InterstitialAd
पैकेज का नाम बदल गया है.
19.5.0 क्लास | 20.0.0 क्लास |
---|---|
com.google.android.gms.ads. | com.google.android.gms.ads. |
reward.RewardedVideoAd | rewarded.RewardedAd |
reward.RewardedVideoAdListener | Rewards.RewardsedAdLoadCallback और FullScreenContentCallback |
reward.RewardItem | rewarded.RewardItem |
rewarded.RewardedAdCallback | OnUserEarnedRewardListener |
formats.UnifiedNativeAdView | nativead.NativeAdView |
formats.UnifiedNativeAd | nativead.NativeAd |
formats.UnifiedNativeAdAssetNames | nativead.NativeAdAssetNames |
formats.UnifiedNativeAd.OnUnifiedNativeAdLoadedListener | nativead.NativeAd.OnNativeAdLoadedListener |
formats.AdChoicesView | nativead.AdChoicesView |
formats.NativeAd.AdChoicesInfo | nativead.NativeAd.AdChoicesInfo |
formats.MediaView | nativead.MediaView |
formats.NativeAdViewHolder | nativead.NativeAdViewHolder |
formats.NativeAdOptions | nativead.NativeAdOptions |
formats.NativeCustomTemplateAd | nativead.NativeCustomFormatAd |
formats.NativeCustomTemplateAd |
nativead.NativeCustomFormatAd |
MobileAds.Settings | निकाला गया |
doubleclick.PublisherAdRequest | admanager.AdManagerAdRequest |
doubleclick.PublisherAdView | admanager.AdManagerAdView |
formats.PublisherAdViewOptions | formats.AdManagerAdViewOptions |
doubleclick.PublisherInterstitialAd | admanager.AdManagerInterstitialAd |
InterstitialAd | interstitial.InterstitialAd |
NativeExpressAdView | निकाला गया |
instream.InstreamAd | निकाला गया |
mediation.admob.AdMobExtras | निकाला गया |
Correlator | निकाला गया |
search.SearchAdRequest | निकाला गया |
इंटरफ़ेस AdRequest.TagForDownAgeOfConsent | निकाला गया |
इंटरफ़ेस AdRequest.MaxAdContentRating | निकाला गया |
formats.NativeAppInstallAd | native.NativeAd |
formats.NativeAppInstallAdView | native.NativeAdView |
mediation.NativeAppInstallAdMapper | mediation.UnifiedNativeAdMapper |
formats.NativeContentAd | native.NativeAd |
formats.NativeContentAdView | native.NativeAdView |
mediation.NativeContentAdMapper | mediation.UnifiedNativeAdMapper |
हटाए/बदले गए तरीके
नीचे दी गई टेबल में, वर्शन 20.0.0 में हुए खास बदलावों की सूची दी गई है. सारांश में:
- MobileAds क्लास से, शुरू करने के पुराने तरीके हटा दिए गए हैं.
AdRequest.Builder()
क्लास से कुछ तरीके हटा दिए गए हैं याRequestConfiguration
क्लास में ले जाया गया.- इनाम वाले विज्ञापन और इंटरस्टीशियल विज्ञापन के एपीआई अपडेट किए गए हैं, ताकि ये सभी अपडेट के साथ अलाइन हो सकें फ़ुल-स्क्रीन फ़ॉर्मैट में दिख सकते हैं.
- सहयोगी सुविधाएं हटा दी गई हैं.
कक्षा | वर्शन 19.5.0 एपीआई | v20.0.0 एपीआई | नोट |
---|---|---|---|
AdSize | getPortraitBanner |
getPortraitAnchored |
|
getLandscapeBanner |
getLandscapeAnchored |
||
getCurrentOrientation |
getCurrentOrientationAnchored |
||
MobileAds | इनिशलाइज़(कॉन्टेक्स्ट, स्ट्रिंग) | MobileAds.initialize(Context, OnInitializationComplete |
ऐप्लिकेशन आईडी अब AndroidManifest.xml में सेट है. |
शुरू करें(कॉन्टेक्स्ट, स्ट्रिंग, MobileAds.Settings) | इनिशलाइज़(कॉन्टेक्स्ट, ऑन इनिशलाइज़ेशनकंपलीट |
सेटिंग क्लास को बंद कर दिया गया है. | |
getRewardedVideo |
निकाला गया | इसके बजाय, RewardedAd API का इस्तेमाल करें. | |
AdListener | onAdFailedToLoad(int) | onAd |
|
onAdLeftApplication() | निकाला गया | फ़ुल-स्क्रीन विज्ञापन फ़ॉर्मैट, इनकी जगह FullscreenContentCallback का इस्तेमाल करते हैं AdListener की इस्तेमाल की गई है और FullscreenContentCallback पर इससे मिलता-जुलता कोई तरीका मौजूद नहीं है. कॉन्टेंट बनाने तरीके को AdListener से हटा दिया गया है. | |
VideoController | getAspectRatio() | MediaContent.getAspectRatio() | |
AdRequest | getGender() | निकाला गया | |
getBirthday() | निकाला गया | ||
getNetworkExtras() | निकाला गया | ||
setManualImpressions |
निकाला गया | ||
updateCorrelator() | निकाला गया | यहां जाएं: विज्ञापन का कॉन्टेंट फ़िल्टर करना. | |
AdRequest.Builder | setBirthday() | निकाला गया | |
setGender() | निकाला गया | ||
setIsDesignedForFamilies() | निकाला गया | गाइड देखें. | |
addTestDevice() | RequestConfiguration |
टेस्ट विज्ञापन चालू करना लेख पढ़ें. | |
tagForChildDirectedTreatment() | RequestConfiguration |
यहां जाएं: विज्ञापन का कॉन्टेंट फ़िल्टर करना. | |
setTagFor |
RequestConfiguration |
||
setMaxAdContentRating() | RequestConfiguration |
||
AdView | getMediationAdapter |
ResponseInfo |
ResponseInfo ऑब्जेक्ट अब AdView तरीके getResponseInfo() के ज़रिए उपलब्ध है. |
NativeAdOptions | setImageOrientation() | setMediaAspectRatio() | |
getImageOrientation | getMediaAspectRatio() | ||
RewardedAd | loadAd(AdRequest, RewardedAdLoadCallback) | RewardsedAd.load(कॉन्टेक्स्ट, स्ट्रिंग, AdRequest, RewardedAdLoadCallback) | RewardsedAd अब उसी स्टैटिक लोड प्रोसेस का इस्तेमाल करता है जिसका इस्तेमाल अन्य फ़ुल-स्क्रीन फ़ॉर्मैट में दिख सकते हैं. |
लोडAd(PublisherAdRequest, RewardedAdLoadCallback) | RewardsedAd.load(कॉन्टेक्स्ट, स्ट्रिंग, AdManagerAdRequest, RewardsedAdLoadCallback) | ||
isLoaded() | निकाला गया | स्टैटिक लोड करने के तरीके से कॉलबैक, पहले से लोड किया गया विज्ञापन उपलब्ध कराता है. | |
दिखाएं(गतिविधि, इनाम वाला विज्ञापन कॉलबैक) | शो(गतिविधि, OnUserGetedRewardListener) | शो दिखाने का यह तरीका, फ़ुल-स्क्रीन फ़ॉर्मैट के बड़े दायरे में आता है. | |
RewardedAdLoadCallback | onRewardedAd |
onAd |
|
onRewardedAd |
onAd |
||
onRewardedAdLoaded() | onAdLoaded(RewardedAd) | ||
AppOpenAdLoadCallback | onAppOpenAd |
onAd |
|
onAppOpenAd |
onAd |
||
onAppOpenAd |
onAdLoaded(AppOpenAd) | ||
RewardedInterstitialAdLoad |
onRewardedInterstitialAd |
onAd |
|
onRewardedInterstitialAd |
onAd |
||
onRewardedInterstitialAd |
onAd |
||
InterstitialAd | new InterstitialAd() | इंटरस्टीशियलAd.load(कॉन्टेक्स्ट, स्ट्रिंग, AdRequest, इंटरस्टीशियलAdLoadCallback) | इंटरस्टीशियल Ad अब एक ही तरह के स्टैटिक तरीके से लोड होने की सुविधा का इस्तेमाल करता है जैसे दूसरे फ़ुल-स्क्रीन फ़ॉर्मैट. |
setAdListener() | |||
DynamicHeightSearchAd |
getNetworkExtras() | निकाला गया | NetworkExtras क्लास का इस्तेमाल बंद कर दिया गया है. |
AdLoader | forContentAd() | निकाला गया | |
forAppInstallAd() | निकाला गया | ||
withCorrelator() | निकाला गया | ||
getMediationAdapter |
निकाला गया |