SDK সংস্করণ স্থানান্তর করুন

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস ইউনিটি

এই পৃষ্ঠায় iOS-এর জন্য Google Mobile Ads SDK এর বর্তমান এবং পূর্ববর্তী সংস্করণগুলির মাইগ্রেশন সম্পর্কে আলোচনা করা হয়েছে। আমরা ২০২৬ সালের ফেব্রুয়ারিতে সংস্করণ ১৩.০.০ প্রকাশ করার আশা করছি।

v12 থেকে v13 তে মাইগ্রেট করুন

বর্ধিত ন্যূনতম মোতায়েন লক্ষ্যমাত্রা

ন্যূনতম ডেপ্লয়মেন্ট টার্গেট বাড়িয়ে iOS 13 করা হয়েছে।

অ্যাঙ্করড অ্যাডাপ্টিভ ব্যানার সাইজ এপিআই-এর পরিবর্তনসমূহ

সংস্করণ 13.0.0 বিদ্যমান অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানার সাইজ এপিআইগুলোকে বাতিল করে এবং বড় অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানার বিজ্ঞাপনের জন্য সাইজ এপিআই চালু করে। Google Mobile Ads SDK নতুন বড় অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানার সাইজ এপিআইগুলো ব্যবহার করে ব্যানার বিজ্ঞাপনে ভিডিও ডিমান্ড সরবরাহ করতে পারে।

নিম্নলিখিত সারণিতে বাতিলকৃত সাইজিং এপিআই এবং তাদের প্রতিস্থাপনগুলির বিবরণ দেওয়া হলো:

v12 (অপ্রচলিত) v13 (প্রতিস্থাপন)
GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) GADLargeAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width)
GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) GADLargeLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width)
GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) GADLargePortraitAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width)

সুইফট ৬-এর অব্যাহত কনকারেন্সি সাপোর্ট

সংস্করণ 13.0.0-এ সুইফট 6 স্ট্রিক্ট কনকারেন্সির জন্য সমর্থন যোগ করা অব্যাহত রয়েছে।

neighboringContentURLStrings অ্যারের জন্য আরও কঠোর টাইপ এনফোর্সমেন্ট যোগ করা হয়েছে

সংস্করণ 13.0.0 থেকে শুরু করে, neighboringContentURLStrings অ্যারেতে যদি String টাইপের নয় এমন কোনো অবজেক্ট শনাক্ত করা হয়, তাহলে Google Mobile Ads SDK একটি ব্যতিক্রম (exception) উত্থাপন করে।

v11 থেকে v12 তে মাইগ্রেট করুন

Xcode 16.0-এ আপগ্রেড করুন

সর্বনিম্ন সমর্থিত এক্সকোড সংস্করণ বেড়ে ১৬.০ হয়েছে।

দ্রুত নামকরণ সমর্থন

সংস্করণ 12.0.0-এ Swift API Design Guidelines- এর নামকরণ রীতি অনুসরণ করার জন্য পরিবর্তন আনা হয়েছে। এই পরিবর্তনগুলো শুধুমাত্র Swift-এর উপর প্রভাব ফেলে। Objective-C API-গুলোর নামকরণে কোনো পরিবর্তন করা হয়নি।

শ্রেণী উপসর্গ পরিবর্তন

ক্লাস প্রিফিক্সগুলোতে নিম্নলিখিত পরিবর্তনগুলো করা হয়েছে:

  • সকল প্রকারের নামের ক্ষেত্রে GAD উপসর্গটি অপসারণ করা হয়েছে।
  • GAM প্রিফিক্সটির নাম পরিবর্তন করে AdManager রাখা হয়েছে।
  • GADM প্রিফিক্সটির নাম পরিবর্তন করে Mediation রাখা হয়েছে।

ত্রুটি সমাধান করুন

এই পরিবর্তনগুলির ফলে সৃষ্ট ত্রুটিগুলি সমাধান করার সর্বোত্তম উপায় হল একটি ফিক্স-ইট সংশোধন করা

নামকরণের দ্বন্দ্ব সমাধান করুন

নামকরণের দ্বন্দ্ব নিরসন করতে, মডিউল দ্বারা প্রদত্ত নেমস্পেসটি ব্যবহার করুন। উদাহরণস্বরূপ, GADRequest এর নাম এখন Request । নিম্নলিখিত উদাহরণ নেমস্পেসগুলো Google Mobile Ads SDK Request ক্লাসকে নির্দেশ করে:

import GoogleMobileAds
...
var request: GoogleMobileAds.Request?

সুইফট পরিবর্তনের বিস্তারিত তালিকা

নিম্নলিখিত সারণিগুলিতে সুইফট এপিআই-গুলিতে করা পরিবর্তনগুলি তালিকাভুক্ত করা হয়েছে:

সংস্করণ ১১ সংস্করণ ১২
GADAdapterInitializationState AdapterInitializationState
GADAdChoicesPosition AdChoicesPosition
GADAdChoicesView AdChoicesView
GADAdFormat AdFormat
GADAdLoader AdLoader
GADAdLoaderAdType AdLoaderAdType
GADAdLoaderDelegate AdLoaderDelegate
GADAdMetadataDelegate AdMetadataDelegate
GADAdMetadataProvider AdMetadataProvider
GADAdNetworkExtras AdNetworkExtras
GADAdNetworkResponseInfo AdNetworkResponseInfo
GADAdReward AdReward
GADAdSize AdSize
GADAdSizeDelegate AdSizeDelegate
GADAdValue AdValue
GADAdValuePrecision AdValuePrecision
GADAppEventDelegate AppEventDelegate
GADAppOpenAd AppOpenAd
GADAppOpenSignalRequest AppOpenSignalRequest
GADAudioVideoManager AudioVideoManager
GADAudioVideoManagerDelegate AudioVideoManagerDelegate
GADBannerSignalRequest BannerSignalRequest
GADBannerView BannerView
GADBannerViewDelegate BannerViewDelegate
GADCustomEventExtras CustomEventExtras
GADCustomEventRequest CustomEventRequest
GADCustomNativeAd CustomNativeAd
GADCustomNativeAdLoaderDelegate CustomNativeAdLoaderDelegate
GADCustomNativeAdDelegate CustomNativeAdDelegate
GADDebugOptionsViewControllerDelegate DebugOptionsViewControllerDelegate
GADDebugOptionsViewController DebugOptionsViewController
GADDisplayAdMeasurement DisplayAdMeasurement
GADExtras Extras
GADFullScreenPresentingAd FullScreenPresentingAd
GADFullScreenContentDelegate FullScreenContentDelegate
GADAdapterStatus AdapterStatus
GADInitializationStatus InitializationStatus
GADInterstitialAd InterstitialAd
GADInterstitialSignalRequest InterstitialSignalRequest
GADMediaAspectRatio MediaAspectRatio
GADMediaContent MediaContent
GADMediaView MediaView
GADMobileAds MobileAds
GADMultipleAdsAdLoaderOptions MultipleAdsAdLoaderOptions
GADMuteThisAdReason MuteThisAdReason
GADNativeAd NativeAd
GADNativeAdLoaderDelegate NativeAdLoaderDelegate
GADNativeAdView NativeAdView
GADNativeAdCustomClickGestureOptions NativeAdCustomClickGestureOptions
GADNativeAdDelegate NativeAdDelegate
GADNativeAdImage NativeAdImage
GADNativeAdImageAdLoaderOptions NativeAdImageAdLoaderOptions
GADNativeAdInlineBehavior NativeAdInlineBehavior
GADNativeAdInlineBehaviorOptions NativeAdInlineBehaviorOptions
GADNativeAdMediaAdLoaderOptions NativeAdMediaAdLoaderOptions
GADNativeAdUnconfirmedClickDelegate NativeAdUnconfirmedClickDelegate
GADNativeAdViewAdOptions NativeAdViewAdOptions
GADNativeMuteThisAdLoaderOptions NativeMuteThisAdLoaderOptions
GADNativeSignalRequest NativeSignalRequest
GADPresentationError PresentationError
GADPublisherPrivacyPersonalizationState PublisherPrivacyPersonalizationState
GADQueryInfo QueryInfo
GADRequest Request
GADRequestError RequestError
GADRequestConfiguration RequestConfiguration
GADResponseInfo ResponseInfo
GADRewardedAd RewardedAd
GADRewardedSignalRequest RewardedSignalRequest
GADRewardedInterstitialAd RewardedInterstitialAd
GADRewardedInterstitialSignalRequest RewardedInterstitialSignalRequest
GADSearchBannerView SearchBannerView
GADServerSideVerificationOptions ServerSideVerificationOptions
GADSignal Signal
GADSignalRequest SignalRequest
GADVersionNumber VersionNumber
GADVideoController VideoController
GADVideoControllerDelegate VideoControllerDelegate
বিজ্ঞাপন ব্যবস্থাপক
GAMBannerAdLoaderDelegate AdManagerBannerAdLoaderDelegate
GAMBannerView AdManagerBannerView
GAMBannerViewOptions AdManagerBannerViewOptions
GAMInterstitialAd AdManagerInterstitialAd
GAMRequest AdManagerRequest
মধ্যস্থতা
GADMAdNetworkAdapter MediationAdNetworkAdapter
GADMAdNetworkConnector MediationAdNetworkConnector
GADMBannerAnimationType MediationBannerAnimationType
GADMediatedUnifiedNativeAd MediationUnifiedNativeAd
GADMediatedUnifiedNativeAdNotificationSource MediationUnifiedNativeAdNotificationSource
GADMediationAd MediationAd
GADMediationAdConfiguration MediationAdConfiguration
GADMediationAdEventDelegate MediationAdEventDelegate
GADMediationAdRequest MediationAdRequest
GADMediationAdapter MediationAdapter
GADMediationAppOpenAd MediationAppOpenAd
GADMediationAppOpenAdEventDelegate MediationAppOpenAdEventDelegate
GADMediationBannerAd MediationBannerAd
GADMediationBannerAdConfiguration MediationBannerAdConfiguration
GADMediationBannerAdEventDelegate MediationBannerAdEventDelegate
GADMediationCredentials MediationCredentials
GADMediationInterstitialAd MediationInterstitialAd
GADMediationInterstitialAdConfiguration MediationInterstitialAdConfiguration
GADMediationInterstitialAdEventDelegate MediationInterstitialAdEventDelegate
GADMediationNativeAd MediationNativeAd
GADMediationNativeAdConfiguration MediationNativeAdConfiguration
GADMediationNativeAdEventDelegate MediationNativeAdEventDelegate
GADMediationRewardedAd MediationRewardedAd
GADMediationRewardedAdConfiguration MediationRewardedAdConfiguration
GADMediationRewardedAdEventDelegate MediationRewardedAdEventDelegate
GADMediationServerConfiguration MediationServerConfiguration
রিয়েল-টাইম বিডিং
GADRTBAdapter RTBAdapter
GADRTBMediationSignalsConfiguration RTBMediationSignalsConfiguration
GADRTBRequestParameters RTBRequestParameters

ধ্রুবক

সংস্করণ ১১ সংস্করণ ১২
GADAdLoaderAdType.gamBanner AdLoaderAdType.adManagerBanner
GADAdSizeBanner AdSizeBanner
GADAdSizeFluid AdSizeFluid
GADAdSizeFullBanner AdSizeFullBanner
GADAdSizeInvalid AdSizeInvalid
GADAdSizeLargeBanner AdSizeLargeBanner
GADAdSizeLeaderboard AdSizeLeaderboard
GADAdSizeMediumRectangle AdSizeMediumRectangle
GADAdSizeSkyscraper AdSizeSkyscraper
GoogleMobileAdsVersionString GoogleMobileAdsVersion

বৈশিষ্ট্য

প্রকার সংস্করণ ১১ সংস্করণ ১২
GADAdLoader loading isLoading
GADAudioVideoManager audioSessionApplicationManaged isAudioSessionApplicationManaged
GADBannerView autoloadEnabled isAutoloadEnabled
GADMobileAds sharedInstance shared
applicationMuted isApplicationMuted
GADMuteThisadReason reasonDescription reason
GADNativeAd customMuteThisAdAvailable isCustomMuteThisAdAvailable
GADNativeAdCustomClickGestureOptions tapsAllowed areTapsAllowed
GADNativeAdImageAdLoaderOptions imageLoadingDisabled isImageLoadingDisabled
GADNativeMuteThisAdLoaderOptions customMuteThisAdRequested isCustomMuteThisAdRequested
GADNativeSignalRequest imageLoadingDisabled isImageLoadingDisabled
customMuteThisAdRequested isCustomMuteThisAdRequested
GADঅনুরোধ neighboringContentURLStrings neighboringContentURLs
GADResponseInfo extrasDictionary extras
GAD সার্ভার সাইড যাচাইকরণ বিকল্পগুলি customRewardString customRewardText
GADSignal signalString signal
GADSignalRequest neighboringContentURLStrings neighboringContentURLs
GADVideoController customControlsRequested areCustomControlsRequested
clickToExpandEnabled isClickToExpandEnabled
GADVideoOptions startMuted shouldStartMuted
customControlsRequested areCustomControlsRequested
clickToExpandRequested isClickToExpandRequested

কার্যাবলী

প্রকার সংস্করণ ১১ সংস্করণ ১২
GADAdSize GADPortraitInlineAdaptiveBannerAdSizeWithWidth(_:) portraitInlineAdaptiveBanner(width:)
GADLandscapeInlineAdaptiveBannerAdSizeWithWidth(_:) landscapeInlineAdaptiveBanner(width:)
GADCurrentOrientationInlineAdaptiveBannerAdSizeWithWidth(_:) currentOrientationInlineAdaptiveBanner(width:)
GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight(_:, _:) inlineAdaptiveBanner(width:maxHeight:)
GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth(_:) portraitAnchoredAdaptiveBanner(width:)
GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(_:) landscapeAnchoredAdaptiveBanner(width:)
GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(_:) currentOrientationAnchoredAdaptiveBanner(width:)
GADAdSizeFromCGSize(_:) adSizeFor(cgSize:)
GADAdSizeFullWidthPortraitWithHeight(_:) fullWidthPortrait(height:)
GADAdSizeFullWidthLandscapeWithHeight(_:) fullWidthLandscape(height:)
GADAdSizeEqualToSize(_:, _:) isAdSizeEqualToSize(size1:size2:)
IsGADAdSizeValid(_:) isAdSizeValid(size:)
GADAdSizeIsFluid(_:) isAdSizeFluid(size:)
CGSizeFromGADAdSize(_:) cgSize(for:)
NSStringFromGADAdSize(_:) string(for:)
NSValueFromGADAdSize(_:) nsValue(for:)
GADAdSizeFromNSValue(_:) adSizeFor(nsValue:)
GADClosestValidSizeForAdSizes(_:_:) closestValidSizeForAdSizes(original:possibleAdSizes:)
GADAppEventDelegate adView(_:didReceiveAppEvent:withInfo:) adView(_:didReceiveAppEvent:with:)
interstitialAd(_:didReceiveAppEvent:withInfo:) adView(_:didReceiveAppEvent:with:)
GADAppOpenAd load(withAdResponseString:) load(with:)
load(withAdUnitID:request:completionHandler:) load(with:request:completionHandler:)
canPresent(fromRootViewController:) canPresent(from:)
present(fromRootViewController:) present(from:)
GADBannerView load(withAdResponseString:) load(with:)
জিএডি ইন্টারস্টিশিয়াল load(withAdResponseString:) load(with:)
load(withAdUnitID:request:completionHandler:) load(with:request:completionHandler:)
canPresent(fromRootViewController:) canPresent(from:)
present(fromRootViewController:) present(from:)
GADRewardedAd load(withAdResponseString:) load(with:)
load(withAdUnitID:request:completionHandler:) load(with:request:completionHandler:)
canPresent(fromRootViewController:) canPresent(from:)
present(fromRootViewController:userDidEarnRewardHandler:) present(from:userDidEarnRewardHandler:)
GADRewardedInterstitialAd load(withAdResponseString:) load(with:)
load(withAdUnitID:request:completionHandler:) load(with:request:completionHandler:)
canPresent(fromRootViewController:) canPresent(from:)
present(fromRootViewController:userDidEarnRewardHandler:) present(from:userDidEarnRewardHandler:)
GADVersionNumber GADGetStringFromVersionNumber(_ version: GADVersionNumber) string(for:)
মধ্যস্থতা
GADMAdNetworkAdapter getBannerWith(_:) getBanner(with:)
presentInterstitial(fromRootViewController:) presentInterstitial(from:)
getNativeAd(withAdTypes:options:) getNativeAd(with:options:)
GADMeditatedUnifiedNativeAd didRecordClickOnAsset(withName:view:viewController:) didRecordClickOnAsset(with:view:viewController:)
GADMediationAdapter setUpWith(_:completionHandler:) setUp(with:completionHandler:)
GADMediationAdSize present(fromRootViewController:) present(from:)
GADMediationAppOpenAd present(fromRootViewController:) present(from:)
GADMediationInterstitialAd present(fromRootViewController:) present(from:)
GADMediationRewardedad present(fromRootViewController:) present(from:)
GAMInterstitialAd load(withAdManagerAdUnitID:request:completionHandler:) load(with:request:completionHandler:)

কাস্টম টার্গেটিং প্যারামিটার সেট করুন

কোনো বিজ্ঞাপন অনুরোধে কাস্টম টার্গেটিং সেট করতে, customTargeting ব্যবহার করুন।

ভিডিও মিউট অবস্থা নিয়ন্ত্রণের জন্য API পরিবর্তন

GADVideoController এর isMuted প্রপার্টি এবং setMute: মেথডকে একটি muted প্রপার্টি দ্বারা প্রতিস্থাপন করা হয়েছে।

ইনলাইন অ্যাডাপ্টিভ বিজ্ঞাপনে পরিবর্তন

স্থানের সর্বোত্তম ব্যবহার নিশ্চিত করতে, ইনলাইন অ্যাডাপ্টিভ বিজ্ঞাপনগুলো প্রাথমিকভাবে ফ্রেমে কোনো জায়গা নেয় না। এখন, গুগল মোবাইল অ্যাডস SDK থেকে কোনো বিজ্ঞাপন ফেরত না আসা পর্যন্ত, একটি ইনলাইন অ্যাডাপ্টিভ বিজ্ঞাপনের আকার দিয়ে CGSizeFromGADAdSize(_:) কল করলে উচ্চতা 0 ফেরত আসে।

কাস্টম সার্চ বিজ্ঞাপন সরানো হয়েছে

নিম্নলিখিত ক্লাসগুলো কোনো প্রতিস্থাপন ছাড়াই সরিয়ে দেওয়া হয়েছে:

  • GADDynamicHeightSearchBannerView
  • GADDynamicHeightSearchRequest
  • GADSearchBannerView

ত্রুটি কোডগুলিতে পরিবর্তন

নিম্নলিখিত ত্রুটি কোডগুলি পরিবর্তন করা হয়েছে:

শ্রেণী নোট
GADErrorMediationNoFill ত্রুটিগুলো এখন GADErrorNoFill হিসেবে ফেরত আসে।
GADErrorReceivedInvalidResponse GADErrorReceivedInvalidAdString দ্বারা প্রতিস্থাপিত হয়েছে।

GADSimulatorID সরানো হয়েছে

GADSimulatorID মুছে ফেলা হয়েছে। সিমুলেটরগুলো ডিফল্টরূপে ইতিমধ্যেই টেস্ট মোডে রয়েছে।

কাস্টম টার্গেটিং-এ পরিবর্তন

GADRequest এর customTargeting ডিকশনারিটি এখন ভ্যালু টাইপ হিসেবে String এর পরিবর্তে Any ব্যবহার করে। এর ফলে আপনি API-তে সাংখ্যিক মান পাঠাতে পারবেন।

অতিরিক্ত প্যারামিটারগুলিতে পরিবর্তন

  • additionalParameters এ কী (key) পাস করলে এখন আর অ্যাড ম্যানেজার বিজ্ঞাপন অনুরোধগুলিতে কাস্টম টার্গেটিং প্রয়োগ হয় না। কাস্টম টার্গেটিং প্রয়োগ করতে, কাস্টম টার্গেটিং দেখুন।

v10 থেকে v11-এ মাইগ্রেট করুন

ন্যূনতম মোতায়েন লক্ষ্যমাত্রা

ন্যূনতম ডেপ্লয়মেন্ট টার্গেট বাড়িয়ে iOS 12 করা হয়েছে।

সর্বনিম্ন Xcode সংস্করণ

সর্বনিম্ন সমর্থিত এক্সকোড সংস্করণ বাড়িয়ে ১৫.১ করা হয়েছে।

iOS 12-এ বিজ্ঞাপন দেখানো বন্ধ হয়ে গেছে।

Google Mobile Ads SDK ভার্সন ১১.০.০ শুধুমাত্র আইওএস ১৩ এবং তার পরবর্তী সংস্করণের ডিভাইসগুলিতে বিজ্ঞাপন প্রদর্শন করে।

GoogleAppMeasurement নির্ভরতা সরানো হয়েছে

সংস্করণ 11.0.0-এ, GoogleAppMeasurement উপর নির্ভরতা দূর করা হয়েছে। AdMob-এ ইউজার মেট্রিক্স টগলটি চালনাকারী এই নির্ভরতাটি ২০২৪ সালের শুরুর দিকে বন্ধ করে দেওয়া হবে। AdMob-এ ইউজার মেট্রিক্স সংগ্রহ চালিয়ে যেতে, আপনার AdMob অ্যাপটিকে Firebase-এর সাথে লিঙ্ক করুন এবং আপনার অ্যাপে Google Analytics for Firebase SDK-টি ইন্টিগ্রেট করুন।

পূর্ণ-স্ক্রিন বিজ্ঞাপন উপস্থাপনায় পরিবর্তন

নিম্নলিখিত পরিবর্তনগুলি বিভিন্ন বিজ্ঞাপন বিন্যাসকে প্রভাবিত করে:

  • অ্যাপ খোলা
  • ইন্টারস্টিশিয়াল
  • পুরস্কৃত
  • পুরস্কৃত ইন্টারস্টিশিয়াল

-canPresentFromRootViewController:error: এবং -presentFromRootViewController: এর ভিউ কন্ট্রোলার প্যারামিটারটি নাল (null) হতে পারে। যদি নিল (nil) পাস করা হয়, তাহলে ভিউ কন্ট্রোলার হায়ারার্কির সর্বোচ্চ স্তরের ভিউ কন্ট্রোলার থেকে বিজ্ঞাপনটি প্রদর্শিত হয়।

পদ্ধতিগুলি অপসারণ করা হয়েছে

নিম্নলিখিত পদ্ধতিগুলো সরিয়ে ফেলা হয়েছে।

v11.0.0 প্রকার পদ্ধতি নোট
GADAppOpenAd load(withAdUnitID adUnitID: String, request: GADRequest?, orientation: UIInterfaceOrientation) এর পরিবর্তে load(withAdUnitID adUnitID: String, request: GADRequest?) ব্যবহার করুন।
GADMediationBannerAdEventDelegate willBackgroundApplication() কোনো প্রতিস্থাপন নেই।
GADMediationInterstitialAdEventDelegate willBackgroundApplication() কোনো প্রতিস্থাপন নেই।
GADMediationNativeAdEventDelegate willBackgroundApplication() কোনো প্রতিস্থাপন নেই।
GADMediationRewardedAdEventDelegate didRewardUser(with reward: GADAdReward) এর পরিবর্তে didRewardUser() ব্যবহার করুন।
GADMediatedUnifiedNativeAdNotificationSource mediatedNativeAdWillLeaveApplication(_ mediatedNativeAd: GADMediatedUnifiedNativeAd) কোনো প্রতিস্থাপন নেই।
GADঅনুরোধ কনফিগারেশন setSameAppKeyEnabled(_ enabled: Bool) এর পরিবর্তে setPublisherFirstPartyIDEnabled(_ enabled: Bool) ব্যবহার করুন।
tagForUnderAge(ofConsent underAgeOfConsent: Bool) এর পরিবর্তে tagForUnderAgeOfConsent প্রপার্টিটি ব্যবহার করুন।
tag(forChildDirectedTreatment childDirectedTreatment: Bool) এর পরিবর্তে tagForChildDirectedTreatment প্রপার্টিটি ব্যবহার করুন।

সম্পত্তিগুলি সরানো হয়েছে

নিম্নলিখিত বৈশিষ্ট্যগুলি সরানো হয়েছে।

v11.0.0 ক্লাস সম্পত্তি নোট
GADMediationadConfiguration ব্যবহারকারীর অবস্থান আছে কোনো প্রতিস্থাপন নেই।
ব্যবহারকারীর অক্ষাংশ
ব্যবহারকারীর দ্রাঘিমাংশ
ব্যবহারকারীর অবস্থান মিটারে নির্ভুলতা
শিশু-নির্দেশিত চিকিৎসা এর পরিবর্তে GADMobileAds.sharedInstance.requestConfiguration.tagForChildDirectedTreatment ব্যবহার করুন।
GADResponseInfo adNetworkClassName এর পরিবর্তে loadedAdNetworkResponseInfo থেকে adNetworkClassName ব্যবহার করুন।

GADAdFormatUnknown সরানো হয়েছে

কোনো প্রতিস্থাপন ছাড়াই GADAdFormatUnknown মুছে ফেলা হয়েছে।

লগিং SDK সংস্করণে পরিবর্তন

সংস্করণ 11.0.0 থেকে sdkVersion সরিয়ে দেওয়া হয়েছে। Google Mobile Ads SDK সংস্করণ নথিভুক্ত করতে, এর পরিবর্তে versionNumber ব্যবহার করুন।

সংস্করণ ১০.০.০

GADMobileAds.sharedInstance().sdkVersion

সংস্করণ ১১.০.০

GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber)

GADAdLoader ত্রুটি পরিচালনায় পরিবর্তন

সংস্করণ 11.0.0 থেকে, GADAdLoader কোনো বিজ্ঞাপনের অনুরোধ করে না যদি এর delegate অনুরোধকৃত বিজ্ঞাপনের প্রকারের ডেলিগেট প্রোটোকলের সাথে সঙ্গতিপূর্ণ না হয়। পূর্বে, বিজ্ঞাপনের অনুরোধ করার পর এটি ব্যর্থ হতো।

পরীক্ষার আচরণে পরিবর্তন

সারণিটি দেখুন, যেখানে নিম্নলিখিত প্রোপার্টিগুলো true রিটার্ন করলে তার জন্য হালনাগাদ শর্তাবলী দেখানো হয়েছে।

শ্রেণী সম্পত্তি
GADMediationadConfiguration isTestRequest
GADCustomEventRequest isTesting
v10.0.0 v11.0.0
  • ডিভাইসটিকে testDeviceIdentifiers এ একটি টেস্ট ডিভাইস হিসেবে স্পষ্টভাবে ঘোষণা করা হয়েছে।
  • ডিভাইসটিকে testDeviceIdentifiers এ একটি টেস্ট ডিভাইস হিসেবে স্পষ্টভাবে ঘোষণা করা হয়েছে।
  • ডিভাইসটি একটি সিমুলেটর।
  • অ্যাড ম্যানেজার UI-তে ডিভাইসটিকে স্পষ্টভাবে একটি টেস্ট ডিভাইস হিসেবে ঘোষণা করা হয়েছে।

v9 থেকে v10-এ মাইগ্রেট করুন

iOS 11-এ বিজ্ঞাপন দেখানো বন্ধ হয়ে গেছে।

Google Mobile Ads SDK ভার্সন ১০.০.০ শুধুমাত্র আইওএস ১২ এবং তার পরবর্তী সংস্করণের ডিভাইসগুলিতে বিজ্ঞাপন প্রদর্শন করে।

Google Mobile Ads SDK ভার্সন ১০.০.০-এ আপগ্রেড করলে আইওএস ১১ এবং আইওএস ১০ ডিভাইসগুলোতে আপনার অ্যাপের কোনো সমস্যা হবে না, তবে ঐ ডিভাইসগুলোতে কোনো বিজ্ঞাপন দেখানো হবে না।

অ্যাড ম্যানেজার অ্যাপ আইডির প্রয়োজনীয়তা

এখন থেকে সকল অ্যাড ম্যানেজার অ্যাপের জন্য Info.plist এ অ্যাড ম্যানেজার অ্যাপ আইডি থাকা আবশ্যক এবং এর ফরম্যাটটি ca-app-pub-################~########## হতে হবে। আরও বিস্তারিত জানতে আপনার Info.plist আপডেট করুন দেখুন।

GoogleAppMeasurement.xcframework-এর প্রয়োজনীয়তা

এখন থেকে সকল অ্যাড ম্যানেজার অ্যাপের জন্য GoogleAppMeasurement.xcframework আবশ্যক। আপনি যদি Cocoapods বা Swift Package Manager-এর মাধ্যমে Google Mobile Ads SDK ইনস্টল করেন, তবে কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই। আপনি যদি ফ্রেমওয়ার্কগুলো ম্যানুয়ালি ইনস্টল করেন, তবে আরও বিস্তারিত তথ্যের জন্য ম্যানুয়াল ডাউনলোড দেখুন।

বিটকোড দিয়ে বিল্ড করা এখন আর সমর্থিত নয়।

Google Mobile Ads SDK ইন্টিগ্রেট করার জন্য এখন আপনার মোবাইল অ্যাপে বিটকোড নিষ্ক্রিয় করা আবশ্যক।

প্রকারগুলি সরানো হয়েছে

প্রকার নোট
GADGender কোনো প্রতিস্থাপন নেই।
GADMRewardBasedVideoAdNetworkAdapterProtocol Choose Networks- এ তালিকাভুক্ত সমস্ত পুরস্কৃত মিডিয়েশন অ্যাডাপ্টার এক বছরেরও বেশি সময় ধরে এই প্রোটোকলগুলো ব্যবহার করা বন্ধ করে দিয়েছে। মিডিয়েশন এবং কাস্টম ইভেন্টের জন্য GADMediationAdapter ব্যবহার করুন।
GADMRewardBasedVideoAdNetworkConnectorProtocol

সম্পত্তিগুলি সরানো হয়েছে

নিম্নলিখিত বৈশিষ্ট্যগুলি কোনো প্রতিস্থাপন ছাড়াই অপসারণ করা হয়েছে।

v10.0.0 ক্লাস সম্পত্তি
GADMediationAdRequest ব্যবহারকারীর জন্মদিন
ব্যবহারকারীর লিঙ্গ
ব্যবহারকারীর অবস্থান আছে
ব্যবহারকারীর অক্ষাংশ
ব্যবহারকারীর দ্রাঘিমাংশ
ব্যবহারকারীর অবস্থান মিটারে নির্ভুলতা
ব্যবহারকারীর অবস্থান বিবরণ
GADCustomEventRequest ব্যবহারকারীর অবস্থান আছে
ব্যবহারকারীর অক্ষাংশ
ব্যবহারকারীর দ্রাঘিমাংশ
ব্যবহারকারীর অবস্থান মিটারে নির্ভুলতা
ব্যবহারকারীর অবস্থান বিবরণ

v8 থেকে v9-এ মাইগ্রেট করুন

iOS 10-এ বিজ্ঞাপন দেখানো বন্ধ হয়ে গেছে।

Google Mobile Ads SDK ভার্সন ৯.০.০ সর্বনিম্ন যে আইওএস ভার্সনটি সাপোর্ট করে, তা হলো আইওএস ১১।

Google Mobile Ads SDK ভার্সন ৯.০.০-এ আপগ্রেড করলে আইওএস ১০ ডিভাইসগুলোতে আপনার অ্যাপের কোনো সমস্যা হবে না, তবে সেই ডিভাইসগুলোতে কোনো বিজ্ঞাপন দেখানো হবে না।

স্ট্যাটাস বার নিয়ন্ত্রণের কঠোর প্রয়োগ

সংস্করণ ৯.০.০ থেকে শুরু করে, যখন আপনি পূর্ণ-স্ক্রিন ফরম্যাটের বিজ্ঞাপন দেখাবেন, তখন আপনার অ্যাপকে অবশ্যই নিশ্চিত করতে হবে যে বিজ্ঞাপনগুলো স্ট্যাটাস বারের প্রদর্শন নিয়ন্ত্রণ করতে পারে। যদি আপনি তা করতে ব্যর্থ হন, তাহলে লগ-এ একটি ত্রুটির বার্তা দেখতে পাবেন।

আপনার অ্যাপের ভিউ কন্ট্রোলারগুলোর নির্দিষ্ট বিন্যাসের ওপর নির্ভর করে, এটি নিশ্চিত করতে আপনার কোনো পরিবর্তনের প্রয়োজন নাও হতে পারে। আপনার বিজ্ঞাপনের rootViewControllerchildViewControllerForStatusBarHidden প্রপার্টিটি সেট করার প্রয়োজন আছে কিনা, তা বিবেচনা করুন।

adDidPresentFullScreenContent: এর নাম পরিবর্তন করে adWillPresentFullScreenContent: করুন।

আচরণে কোনো পরিবর্তন নেই। বিজ্ঞাপনটি প্রদর্শিত হওয়ার ঠিক আগে ডেলিগেট মেথডটি কল করা হয়, তাই নতুন মেথডের নামটি এর কার্যকারিতাকে আরও ভালোভাবে প্রতিফলিত করে।

GADRequest-এ অবস্থান সেটিং API অপসারণ করুন

- (void)setLocationWithLatitude:longitude:accuracy: GADRequest থেকে মুছে ফেলা হয়েছে, কারণ Google বিজ্ঞাপন টার্গেট করার জন্য লোকেশন ডেটা ব্যবহার করে না। প্রয়োজনে তৃতীয় পক্ষের বিজ্ঞাপন নেটওয়ার্কগুলোকে তথ্য সরবরাহ করতে তৃতীয় পক্ষের API ব্যবহার করুন।

কাস্টম ইভেন্ট ইন্টারফেসের অবচয়

কাস্টম ইভেন্টগুলো অ্যাড ম্যানেজার মিডিয়েশন ব্যবহারকারী পাবলিশারদেরকে এমন একটি অ্যাড নেটওয়ার্কের জন্যও ওয়াটারফল মিডিয়েশন যোগ করার সুযোগ দেয়, যা সমর্থিত অ্যাড নেটওয়ার্কগুলোর মধ্যে একটি নয়।

সমস্ত কাস্টম ইভেন্ট প্রোটোকল এখন আর ব্যবহার করা হয় না। এর পরিবর্তে, একই কার্যকারিতা পেতে বিদ্যমান GADMediationAdapter এবং GADMediationAdEventDelegate প্রোটোকলগুলো ব্যবহার করুন। এই পরিবর্তনটি স্বচ্ছতা বাড়ায় এবং আপনাকে রিওয়ার্ডেড অ্যাড ও ইন্টারস্ক্রোলার অ্যাডের জন্য কাস্টম ইভেন্ট তৈরি করতে সক্ষম করে, যা আগে উপলব্ধ ছিল না।

এপিআই

নিচের সারণিতে কাস্টম ইভেন্টস এপিআই-এর জন্য সংশ্লিষ্ট মিডিয়েশন অ্যাডাপ্টার এপিআই-গুলো তালিকাভুক্ত করা হয়েছে, যেগুলো সংস্করণ ৯.০.০ থেকে ব্যবহার করা উচিত।

v8 v9
GADCustomEventBanner
GADCustomEventInterstitial
GADCustomEventNativeAd
GADMediationAdapter GADMediationBannerAd
GADMediationInterstitialAd
GADMediationInterscrollerAd
GADMediationRewardedad
GADMediationNativeAd
delegate GADMediationAdapter ক্লাসের প্রতিটি লোড ফাংশনের লোড কমপ্লিশন হ্যান্ডলার দ্বারা ডেলিগেটটি রিটার্ন করা হয়।
-init -init
-requestBannerAd:parameter: label:request: -loadBannerForAdConfiguration: completionHandler:
-requestInterstitialAdWith Parameter:label:request: -loadInterstitialFor AdConfiguration: completionHandler:
-requestNativeAdWithParameter: request:adTypes:options: rootViewController: -loadNativeAdFor AdConfiguration: completionHandler:
প্রযোজ্য নয় -loadInterscrollerAdFor AdConfiguration: completionHandler:
প্রযোজ্য নয় -loadRewardedAdFor AdConfiguration: completionHandler:
-presentFromRootViewController: -presentFromViewController:
-handlesUserClicks -handlesUserClicks
-handlesUserImpressions -handlesUserImpressions

প্রতিনিধি পদ্ধতি

নিচের সারণিতে সংশ্লিষ্ট মিডিয়েশন এবং ইভেন্ট ডেলিগেট মেথড থেকে কাস্টম ইভেন্ট ডেলিগেট মেথডগুলো তালিকাভুক্ত করা হয়েছে, যেগুলো সংস্করণ ৯.০.০ থেকে ব্যবহার করা উচিত।

v8 v9
GADCustomEventBannerDelegate
GADCustomEventInterstitialDelegate
GADCustomEventNativeAdDelegate
GADMediationAdEventDelegate GADMediationAd
-customEventBanner:didReceiveAd:
-customEventInterstitialDidReceiveAd:
GADMediationAdapter ক্লাসের প্রতিটি লোড ফাংশনের লোড কমপ্লিশন হ্যান্ডলারে অ্যাড লোড স্ট্যাটাস অন্তর্ভুক্ত থাকে।
-customEventBanner:didFailAd:
-customEventInterstitial:didFailAd:
-customEventBannerWasClicked:
-customEventInterstitialWasClicked:
-reportClick
-customEventBannerWill PresentModal:
-customEventInterstitialWill PresentModal:
-willPresentFullScreenView
-customEventBannerWill DismissModal:
-customEventInterstitialWill DismissModal:
-willDismissFullScreenView
-customEventBannerDid DismissModal:
-customEventInterstitialDid DismissModal:
-didDismissFullScreenView
-customEventBannerWill LeaveApplication:
-customEventInterstitialWill LeaveApplication:
-willBackgroundApplication
viewControllerFor PresentingModalView -[GADMediationBannerAd view]

অন্যান্য অপসারিত/প্রতিস্থাপিত পদ্ধতি এবং ধ্রুবক

পদ্ধতি, ধ্রুবক বা বৈশিষ্ট্যের পরিবর্তন
kGAD- উপসর্গযুক্ত ধ্রুবক অপসারণ করা হয়েছে। GAD- উপসর্গযুক্ত ধ্রুবক ব্যবহার করুন।
GADAdNetworkResponseInfo credentials মুছে ফেলা হয়েছে। এর পরিবর্তে adUnitMapping ব্যবহার করুন।
GAMRequest GAMRequest এ থাকা kGAMSimulatorID এখন আর ব্যবহার করা হয় না। এর পরিবর্তে GADRequestConfigurationGADSimulatorID ব্যবহার করুন।
GADCustomNativeAd GADCustomNativeAd এর mediaView এখন আর ব্যবহার করা হয় না। এর পরিবর্তে mediaContent ব্যবহার করুন।
GoogleMobileAds এ ইন-অ্যাপ পারচেজ এপিআই GoogleMobileAds থেকে inAppPurchase API-গুলো সরিয়ে ফেলা হয়েছে।

v7 থেকে v8 এ মাইগ্রেট করুন

Google Mobile Ads SDK সংস্করণ ৮.০.০-তে কয়েকটি বড় পরিবর্তনের পাশাপাশি কিছু এপিআই-এর নাম পরিবর্তন ও অপসারণ করা হয়েছে।

পূর্ণ-স্ক্রিন ফরম্যাট এপিআই আপডেট

সংস্করণ 8.0.0 থেকে শুরু করে, আরও সামঞ্জস্যের জন্য ইন্টারস্টিশিয়াল এবং রিওয়ার্ডেড বিজ্ঞাপনগুলো একটি সাধারণ ফুল-স্ক্রিন বিজ্ঞাপন শৈলী ব্যবহার করে। এই নতুন ফুল-স্ক্রিন বিজ্ঞাপন API-গুলোর সাথে সংস্করণ 7-এর ফুল-স্ক্রিন বিজ্ঞাপন API-গুলোর দুটি প্রধান পার্থক্য রয়েছে:

  1. স্ট্যাটিক ক্লাস মেথড load

    পূর্ণ-স্ক্রিন বিজ্ঞাপন লোড বা দেখানোর পূর্ববর্তী পদ্ধতিটি নিম্নরূপ:

    1. একটি ad অবজেক্ট ইনস্ট্যান্স তৈরি করুন এবং এর একটি রেফারেন্স ধরে রাখুন।
    2. এমন একজন প্রতিনিধিকে নিযুক্ত করুন যিনি লোড এবং শো কলব্যাকগুলো পরিচালনা করবেন।
    3. একটি বিজ্ঞাপন লোড করুন।
    4. isReady ব্যবহার করে বিজ্ঞাপনটি লোড হয়েছে কিনা তা পরীক্ষা করুন।
    5. বিজ্ঞাপনটি দেখান।

    ভার্সন ৮-এ, পদ্ধতিটি কিছুটা পরিবর্তিত হয়েছে। লোড কলব্যাকগুলো আর ডেলিগেটের অংশ নয়। এর পরিবর্তে, এগুলোকে একটি কমপ্লিশন হ্যান্ডলার হিসেবে load মেথডে পাস করা হয়:

    1. ad ক্লাসে একটি স্ট্যাটিক লোড মেথড কল করুন এবং একটি লোড সম্পন্ন হওয়ার হ্যান্ডলার প্রদান করুন।
    2. লোড সম্পন্ন হওয়ার কলব্যাকে, ফেরত আসা লোড হওয়া বিজ্ঞাপনটির একটি রেফারেন্স রাখুন।
    3. শো কলব্যাকগুলো পরিচালনা করার জন্য একজন ডেলিগেটকে দায়িত্ব দিন।
    4. বিজ্ঞাপনটি দেখান।

    নতুন পদ্ধতিটি নিম্নলিখিত সুবিধাগুলো প্রদান করে:

    • আপনি এমন কোনো বিজ্ঞাপনের উল্লেখ কখনোই পাবেন না যা লোড হয়নি।
    • বিজ্ঞাপন লোড হওয়ার সময় সেটিকে ধরে রাখার প্রয়োজন নেই।
  2. ধারাবাহিক বিজ্ঞাপন কার্যক্রম।

    ইভেন্টের ধরণ বিদ্যমান এপিআই v8 এপিআই
    লোড ইভেন্টগুলি GADInterstitialDelegate অথবা GADRewardedAdDelegate GAMInterstitialAdLoadCompletionHandler অথবা GADRewardedAdLoadCompletionHandler
    উপস্থাপনা অনুষ্ঠান GADFullScreenContentDelegate

    পূর্বে, যেকোনো অ্যাড ইভেন্ট শোনার জন্য, আপনি কোন ফরম্যাট ব্যবহার করছেন তার উপর নির্ভর করে, একটি ইন্টারস্টিশিয়ালের ডেলিগেট প্রপার্টিতে GADInterstitialDelegate প্রোটোকল ইমপ্লিমেন্ট করা একটি ক্লাস, অথবা একটি রিওয়ার্ডেড অ্যাডের ডেলিগেট প্রপার্টিতে GADRewardedAdDelegate প্রোটোকল ইমপ্লিমেন্ট করা একটি ক্লাস রেজিস্টার করতে হতো। এই একই ডেলিগেটে একটি অ্যাডের লোডিং এবং প্রেজেন্টেশন লাইফ সাইকেল উভয়ের সাথে সম্পর্কিত মেথড ছিল।

    ভার্সন ৮-এ, লোড এবং প্রেজেন্টেশন ইভেন্টগুলো আলাদা করা হয়েছে। এখন আপনি বিজ্ঞাপন দেখানোর আগে যেকোনো সময় একটি GADFullScreenContentDelegate রেজিস্টার করতে পারবেন, যেখানে আগে বিজ্ঞাপন লোড করার জন্য একটিমাত্র ডেলিগেট সেট করার বাধ্যবাধকতা ছিল। বিজ্ঞাপন লোড ইভেন্টগুলো, যা প্রতিটি ফরম্যাটের জন্য নির্দিষ্ট ছিল, এখন লোড মেথডে পাস করা একটিমাত্র লোড কমপ্লিশন হ্যান্ডলারের অধীনে চলে এসেছে।

ইন্টারস্টিশিয়াল

বিজ্ঞাপন লোড করুন

নিচের কোড স্নিপেটগুলো আপনাকে দেখাবে কীভাবে একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড করতে হয় এবং বিজ্ঞাপনটি সফলভাবে বা ব্যর্থ হলে ইভেন্টগুলো পর্যবেক্ষণ করতে হয়।

v7

সুইফট

import GoogleMobileAds
import UIKit

class ViewController: UIViewController, GADInterstitialDelegate {

  var interstitial: DFPInterstitial!

  override func viewDidLoad() {
    super.viewDidLoad()
    interstitial = DFPInterstitial(adUnitID: "/21775744923/example/interstitial")
    interstitial.delegate = self
    let request = GAMRequest()
    interstitial.load(request)
  }

  /// Tells the delegate an ad request succeeded.
  func interstitialDidReceiveAd(_ ad: DFPInterstitial) {
    print("Interstitial ad loaded.")
  }

  /// Tells the delegate an ad request failed.
  func interstitial(_ ad: DFPInterstitial, didFailToReceiveAdWithError error: GADRequestError) {
    print("Interstitial ad failed to load with error: \(error.localizedDescription)")
  }
}

উদ্দেশ্য-সি

@import GoogleMobileAds;
@import UIKit;

@interface ViewController () 

@property(nonatomic, strong) DFPInterstitial *interstitial;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  self.interstitial = [[DFPInterstitial alloc]
      initWithAdUnitID:@"/21775744923/example/interstitial"];
  self.interstitial.delegate = self;
  GAMRequest *request = [GAMRequest request];
  [self.interstitial loadRequest:request];
}

/// Tells the delegate an ad request succeeded.
- (void)interstitialDidReceiveAd:(DFPInterstitial *)ad {
  NSLog(@"Insterstitial ad loaded.");
}

/// Tells the delegate an ad request failed.
- (void)interstitial:(DFPInterstitial *)ad
    didFailToReceiveAdWithError:(GADRequestError *)error {
  NSLog(@"Interstitial ad failed to load with error: %@", [error localizedDescription]);
}

v8

সুইফট

import GoogleMobileAds
import UIKit

class ViewController: UIViewController, GADFullScreenContentDelegate {

  var interstitial: GAMInterstitialAd?

  override func viewDidLoad() {
    super.viewDidLoad()
    let request = GAMRequest()
    GAMInterstitialAd.load(withAdUnitID:"ca-app-pub-8123415297019784/4985798738",
                                request: request,
                      completionHandler: { (ad, error) in
                        if let error = error {
                          print("Failed to load interstitial ad with error: \(error.localizedDescription)")
                          return
                        }
                        self.interstitial = ad
                        self.interstitial.fullScreenContentDelegate = self
                      }
    )
  }
}

উদ্দেশ্য-সি

@import GoogleMobileAds;
@import UIKit;

@interface ViewController () 

@property(nonatomic, strong) GAMInterstitialAd *interstitial;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  GAMRequest *request = [GAMRequest request];
  [GAMInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial"
                              request:request
                    completionHandler:^(GAMInterstitialAd *ad, NSError *error) {
    if (error) {
      NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]);
      return;
    }
    self.interstitial = ad;
    self.interstitial.fullScreenContentDelegate = self;
  }];
}

বিজ্ঞাপন প্রদর্শন করুন

v7

সুইফট

func showInterstitial() {
  ...
  if interstitial.isReady {
    interstitial.present(fromRootViewController: self)
  } else {
    print("Ad wasn't ready")
  }
}

উদ্দেশ্য-সি

- (void)showInterstitial: {
  ...
  if (self.interstitial.isReady) {
    [self.interstitial presentFromRootViewController:self];
  } else {
    NSLog(@"Ad wasn't ready");
  }
}

v8

সুইফট

func showInterstitial() {
  ...
  if let ad = interstitial {
    ad.present(fromRootViewController: self)
  } else {
    print("Ad wasn't ready")
  }
}

উদ্দেশ্য-সি

- (void)showInterstitial: {
  ...
  if (self.interstitial) {
    [self.interstitial presentFromRootViewController:self];
  } else {
    NSLog(@"Ad wasn't ready");
  }
}

উপস্থাপনা এবং ইভেন্ট

নিচের কোড স্নিপেটগুলো আপনাকে দেখাবে কীভাবে বিজ্ঞাপন প্রদর্শিত হলে (সফলভাবে বা অসফলভাবে) এবং বাতিল হয়ে গেলে কলব্যাকগুলো পরিচালনা করতে হয়।

v7

সুইফট

override func viewDidLoad() {
  super.viewDidLoad()
  interstitial = DFPInterstitial(adUnitID: "/21775744923/example/interstitial")
  interstitial.delegate = self
  ...
}

/// Tells the delegate that an interstitial will be presented.
func interstitialWillPresentScreen(_ ad: DFPInterstitial) {
  print("Interstitial ad will be presented.")
}

/// Tells the delegate the interstitial is to be animated off the screen.
func interstitialWillDismissScreen(_ ad: DFPInterstitial) {
  print("Interstitial ad will be dismissed.")
}

/// Tells the delegate the interstitial had been animated off the screen.
func interstitialDidDismissScreen(_ ad: DFPInterstitial) {
  print("Interstitial ad dismissed.")
}

/// Tells the delegate that a user click will open another app
/// (such as the App Store), backgrounding the current app.
///
/// This is not a reliable callback for an ad click event and is removed in
/// version 8. If you wish to listen to an ad causing a user to leave the app,
/// use applicationWillResignActive: or sceneWillResignActive: instead.
func interstitialWillLeaveApplication(_ ad: DFPInterstitial) {
  print("Interstitial ad will leave application.")
}

উদ্দেশ্য-সি

- (void)viewDidLoad {
  [super viewDidLoad];
  self.interstitial = [[DFPInterstitial alloc] initWithAdUnitID:"/21775744923/example/interstitial"];
  self.interstitial.delegate = self;
  ...
}

/// Tells the delegate that an interstitial will be presented.
- (void)interstitialWillPresentScreen:(DFPInterstitial *)ad {
  NSLog(@"Interstitial ad will be presented.");
}

/// Tells the delegate the interstitial is to be animated off the screen.
- (void)interstitialWillDismissScreen:(DFPInterstitial *)ad {
  NSLog(@"Interstitial ad will be dismissed.");
}

/// Tells the delegate the interstitial had been animated off the screen.
- (void)interstitialDidDismissScreen:(DFPInterstitial *)ad {
  NSLog(@"Interstitial ad dismissed.");
}

/// Tells the delegate that a user click will open another app
/// (such as the App Store), backgrounding the current app.
///
/// This is not a reliable callback for an ad click event and is removed in
/// version 8. If you wish to listen to an ad causing a user to leave the app,
/// use applicationWillResignActive: or sceneWillResignActive: instead.
- (void)interstitialWillLeaveApplication:(DFPInterstitial *)ad {
  NSLog(@"Interstitial ad will leave application.");
}

v8

সুইফট

override func viewDidLoad() {
  super.viewDidLoad()
  let request = GAMRequest()
  GAMInterstitialAd.load(withAdUnitID:"ca-app-pub-8123415297019784/4985798738",
                              request: request,
                    completionHandler: { (ad, error) in
                      if let error = error {
                        print(error.localizedDescription)
                        return
                      }
                      self.interstitial = ad
                      self.interstitial.fullScreenContentDelegate = self
                    }
  )
}

func adDidPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) {
  print("Ad did present full screen content.")
}

func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
  print("Ad failed to present full screen content with error \(error.localizedDescription).")
}

func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) {
  print("Ad did dismiss full screen content.")
}

উদ্দেশ্য-সি

- (void)viewDidLoad {
  [super viewDidLoad];
  GAMRequest *request = [GAMRequest request];
  [GAMInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial"
                              request:request
                    completionHandler:^(GAMInterstitialAd *ad, NSError *error) {
    if (error) {
      NSLog(@"interstitial:didFailToReceiveAdWithError: %@", [error localizedDescription])
      return;
    }
    self.interstitial = ad;
    self.interstitial.fullScreenContentDelegate = self;
  }];
}

- (void)adDidPresentFullScreenContent:(id)ad {
  NSLog(@"Ad did present full screen content.");
}

- (void)ad:(id)ad didFailToPresentFullScreenContentWithError:(NSError *)error {
  NSLog(@"Ad failed to present full screen content with error %@.", [error localizedDescription]);
}

- (void)adDidDismissFullScreenContent:(id)ad {
  NSLog(@"Ad did dismiss full screen content.");
}

পুরস্কৃত

বিজ্ঞাপন লোড করুন

v7

সুইফট

import GoogleMobileAds
import UIKit

class ViewController: UIViewController, GADRewardedAdDelegate {
  /// The rewarded ad.
  var rewardedAd: GADRewardedAd?

  override func viewDidLoad() {
    super.viewDidLoad()
    rewardedAd = GADRewardedAd(adUnitID: "ca-app-pub-3940256099942544/1712485313")
    rewardedAd.delegate = self
    rewardedAd?.load(GAMRequest()) { error in
      if let error = error {
        print("Rewarded ad failed to load with error: \(error.localizedDescription)")
      } else {
        print("Rewarded ad loaded.")
      }
    }
  }
}

উদ্দেশ্য-সি

@import GoogleMobileAds;
@import UIKit;

@interface ViewController () 

@property(nonatomic, strong) GADRewardedAd *rewardedAd;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  self.rewardedAd = [[GADRewardedAd alloc]
      initWithAdUnitID:@"ca-app-pub-3940256099942544/1712485313"];
  self.rewardedAd.delegate = self;
  GAMRequest *request = [GAMRequest request];
  [self.rewardedAd loadRequest:request completionHandler:^(GADRequestError * _Nullable error) {
    if (error) {
      NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]);
    } else {
      NSLog(@"Rewarded ad loaded.");
    }
  }];
}

v8

সুইফট

import GoogleMobileAds
import UIKit

class ViewController: UIViewController, GADFullScreenContentDelegate {
  /// The rewarded ad.
  var rewardedAd: GADRewardedAd?

  override func viewDidLoad() {
  super.viewDidLoad()
  let request = GAMRequest()
  GADRewardedAd.load(withAdUnitID: "ca-app-pub-8123415297019784/9501821136",
                          request: request, completionHandler: { (ad, error) in
                            if let error = error {
                              print("Rewarded ad failed to load with error: \(error.localizedDescription)")
                              return
                            }
                            self.rewardedAd = ad
                            self.rewardedAd?.fullScreenContentDelegate = self
                          }
  )
  }
}

উদ্দেশ্য-সি

@import GoogleMobileAds;
@import UIKit;

@interface ViewController () 

@property(nonatomic, strong) GADRewardedAd *rewardedAd;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  GAMRequest *request = [GAMRequest request];
  [GADRewardedAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/1712485313"
                          request:request
                completionHandler:^(GADRewardedAd *ad, NSError *error) {
    if (error) {
      NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]);
      return;
    }
    self.rewardedAd = ad;
    NSLog(@"Rewarded ad loaded.");
    self.rewardedAd.fullScreenContentDelegate = self;
}

বিজ্ঞাপন প্রদর্শন করুন এবং পুরস্কার পরিচালনা করুন

রিওয়ার্ডেড অ্যাডের ক্ষেত্রে, যখন কোনো ব্যবহারকারী একটি রিওয়ার্ড অর্জন করে, তখন আপনাকে সেই ইভেন্টটি হ্যান্ডেল করতে হয়। GADRewardedAd API-এর ভার্সন ৭-এ, আপনাকে GADRewardedAdDelegate প্রোটোকলের অংশ হিসেবে rewardedAd:userDidEarnReward: ইমপ্লিমেন্ট করতে হয়। ভার্সন ৮-এর জন্য, অ্যাডটি দেখানোর উদ্দেশ্যে আপনাকে GADUserDidEarnRewardHandler ইমপ্লিমেন্ট করতে হয়।

v7

সুইফট

func showRewardedAd() {
  ...
  if rewardedAd.isReady {
    rewardedAd.present(fromRootViewController: self delegate:self)
  } else {
    print("Ad wasn't ready")
  }
}

/// Tells the delegate that the user earned a reward.
func rewardedAd(_ rewardedAd: GADRewardedAd, userDidEarnReward: GADAdReward) {
  // TODO: Reward the user.
}

উদ্দেশ্য-সি

- (void)showRewardedAd: {
  ...
  if (self.rewardedAd.isReady) {
    [self.rewardedAd presentFromRootViewController:self delegate:self];
  } else {
    NSLog(@"Ad wasn't ready");
  }
}

/// Tells the delegate that the user earned a reward.
- (void)rewardedAd:(GADRewardedAd *)rewardedAd userDidEarnReward:(GADAdReward *)reward {
  // TODO: Reward the user.
}

v8

সুইফট

func showRewardedAd() {
  ...
  if let ad = rewardedAd {
      ad.present(fromRootViewController: self,
               userDidEarnRewardHandler: {
                 let reward = ad.adReward
                 // TODO: Reward the user.
               }
      )
  } else {
    print("Ad wasn't ready")
  }
}

উদ্দেশ্য-সি

- (void)showRewardedAd: {
  ...
  if (self.rewardedAd) {
    [self.rewardedAd presentFromRootViewController:self
                          userDidEarnRewardHandler:^ {
      GADAdReward *reward = self.rewardedAd.adReward;
      // TODO: Reward the user.
    }];
  } else {
    NSLog(@"Ad wasn't ready");
  }
}

উপস্থাপনা এবং ইভেন্ট

GADRewardedAd API ব্যবহার করে, আপনি বিজ্ঞাপনটি প্রদর্শনকারী মেথডে একটি GADRewardedAdDelegate পাস করেন। GADRewardedAd API ব্যবহার করে, আপনি বিজ্ঞাপনটি প্রদর্শন করার আগে বিজ্ঞাপনের একটি প্রপার্টি হিসেবে একটি GADFullscreenContentDelegate সেট করেন।

v7

সুইফট

func showRewardedAd() {
  ...
  if rewardedAd.isReady {
    rewardedAd.present(fromRootViewController: self delegate:self)
  } else {
    print("Ad wasn't ready")
  }
}

/// Tells the delegate that the rewarded ad was presented.
func rewardedAdDidPresent(_ rewardedAd: GADRewardedAd) {
  print("Rewarded ad presented.")
}
/// Tells the delegate that the rewarded ad was dismissed.
func rewardedAdDidDismiss(_ rewardedAd: GADRewardedAd) {
  print("Rewarded ad dismissed.")
}
/// Tells the delegate that the rewarded ad failed to present.
func rewardedAd(_ rewardedAd: GADRewardedAd, didFailToPresentWithError error: Error) {
  print("Rewarded ad failed to present with error: \(error.localizedDescription).")
}

উদ্দেশ্য-সি

- (void)showRewardedAd: {
  ...
  if (self.rewardedAd.isReady) {
    [self.rewardedAd presentFromRootViewController:self delegate:self];
  } else {
    NSLog(@"Ad wasn't ready");
  }
}

/// Tells the delegate that the rewarded ad was presented.
- (void)rewardedAdDidPresent:(GADRewardedAd *)rewardedAd {
  NSLog(@"Rewarded ad presented.");
}

/// Tells the delegate that the rewarded ad failed to present.
- (void)rewardedAd:(GADRewardedAd *)rewardedAd didFailToPresentWithError:(NSError *)error {
  NSLog(@"Rewarded ad failed to present with error: %@",
        [error localizedDescription]);
}

/// Tells the delegate that the rewarded ad was dismissed.
- (void)rewardedAdDidDismiss:(GADRewardedAd *)rewardedAd {
  NSLog(@"Rewarded ad dismissed.");
}

v8

সুইফট

override func viewDidLoad() {
  super.viewDidLoad()
  let request = GAMRequest()
  GADRewardedAd.load(withAdUnitID: "ca-app-pub-8123415297019784/9501821136",
                          request: request, completionHandler: { (ad, error) in
                            if let error = error {
                              print(error.localizedDescription)
                              return
                            }
                            self.rewardedAd = ad
                            self.rewardedAd?.fullScreenContentDelegate = self
                          }
  )
}

/// Tells the delegate that the rewarded ad was presented.
func adDidPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) {
  print("Rewarded ad presented.")
}
/// Tells the delegate that the rewarded ad was dismissed.
func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) {
  print("Rewarded ad dismissed.")
}
/// Tells the delegate that the rewarded ad failed to present.
func ad(_ ad: GADFullScreenPresentingAd,
    didFailToPresentFullScreenContentWithError error: Error) {
  print("Rewarded ad failed to present with error: \(error.localizedDescription).")
}

উদ্দেশ্য-সি

- (void)viewDidLoad {
  [super viewDidLoad];

  GAMRequest *request = [GAMRequest request];
  [GADRewardedAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/1712485313"
                          request:request
                completionHandler:^(GADRewardedAd *ad, NSError *error) {
    if (error) {
      NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]);
      return;
    }
    self.rewardedAd = ad;
    NSLog(@"Rewarded ad loaded.");
    self.rewardedAd.fullScreenContentDelegate = self;
}

/// Tells the delegate that the rewarded ad was presented.
- (void)adDidPresentFullScreenContent:(id)ad {
  NSLog(@"Rewarded ad presented.");
}

/// Tells the delegate that the rewarded ad failed to present.
- (void)ad:(id)ad
    didFailToPresentFullScreenContentWithError:(NSError *)error {
  NSLog(@"Rewarded ad failed to present with error: %@",
       [error localizedDescription]);
}

/// Tells the delegate that the rewarded ad was dismissed.
- (void)adDidDismissFullScreenContent:(id)ad {
  NSLog(@"Rewarded ad dismissed.");
}

লিগ্যাসি GADRewardedBasedVideoAd API অপসারণ

নতুন GADRewardedAd API-টি ২০১৯ সালের মার্চ মাসে প্রথম চালু করা হয়েছিল এবং ১৮ মাসেরও বেশি সময় ধরে এটিই পছন্দের রিওয়ার্ডেড API হিসেবে ব্যবহৃত হয়ে আসছে। পুরোনো GADRewardedBasedVideoAd API-এর তুলনায় এতে আরও অনেক উন্নতি করা হয়েছে, যার মধ্যে একই সময়ে একাধিক রিওয়ার্ডেড বিজ্ঞাপন লোড করার ক্ষমতাও অন্তর্ভুক্ত।

SDK সংস্করণ 8.0.0 থেকে পুরোনো GADRewardedBasedVideoAd API-টি সরিয়ে ফেলা হয়েছে।

অ্যাডাপ্টিভ ব্যানারের পক্ষে স্মার্ট ব্যানারের ব্যবহার বাতিল

স্মার্ট ব্যানার অ্যাডের পরিবর্তে এখন অ্যাডাপ্টিভ ব্যানার অ্যাড ব্যবহার করা হচ্ছে। অ্যাডাপ্টিভ ব্যানার উন্নততর পারফরম্যান্স এবং বিজ্ঞাপনের প্রস্থ নির্ধারণে অধিক নমনীয়তা প্রদান করে। আপনি যদি সম্পূর্ণ-প্রস্থের ব্যানার ব্যবহার করা চালিয়ে যেতে চান, তবে নিম্নলিখিত কোড স্নিপেটে দেখানো পদ্ধতি অনুযায়ী অ্যাডাপ্টিভ ব্যানার ব্যবহার করে তা এখনও করা সম্ভব:

সুইফট

class ViewController: UIViewController {

  override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    // Note: The safe area is not known until viewWillAppear.
    let adSize = getFullWidthAdaptiveAdSize()
  }

  func getFullWidthAdaptiveAdSize() -> GADAdSize {
    // Here safe area is taken into account, hence the view frame is used after the
    // view has been laid out.
    let frame = { () -> CGRect in
      if #available(iOS 11.0, *) {
        return view.frame.inset(by: view.safeAreaInsets)
      } else {
        return view.frame
      }
    }()
    return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width)
  }
}

উদ্দেশ্য-সি

@implementation ViewController

- (void)viewDidAppear:(BOOL)animated {
  [super viewDidAppear:animated];
  // Note: The safe area is not known until viewWillAppear.
  GADAdSize adSize = [self getFullWidthAdaptiveAdSize];
}

- (GADAdSize)getFullWidthAdaptiveAdSize {
  CGRect frame = self.view.frame;
  // Here safe area is taken into account, hence the view frame is used after
  // the view has been laid out.
  if (@available(iOS 11.0, *)) {
    frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets);
  }
  return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width);
}

@end

ছুটির আবেদন কলব্যাক অপসারণ

সমস্ত বিজ্ঞাপন ফরম্যাটের জন্য willLeaveApplication কলব্যাকটি সরিয়ে applicationDidEnterBackground: এবং sceneDidEnterBackground: ` মেথডগুলো ব্যবহার করা হয়েছে। OS-স্তরের API ব্যবহার করে, ব্যবহারকারীরা আপনার অ্যাপ ছেড়ে গেলেই আপনাকে জানানো হয়, তা বিজ্ঞাপনের কারণে হোক বা না হোক।

উল্লেখ্য যে, willLeaveApplication কলব্যাকটি কখনোই বিজ্ঞাপনে ক্লিকের হ্যান্ডলার হিসেবে ব্যবহারের জন্য তৈরি করা হয়নি, এবং ক্লিকের সংখ্যা জানানোর জন্য এই কলব্যাকের উপর নির্ভর করলে সঠিক মেট্রিক পাওয়া যেত না। উদাহরণস্বরূপ, AdChoices আইকনে ক্লিক করলে যদি একটি বাহ্যিক ব্রাউজার চালু হতো, তবে তা কলব্যাকটিকে সক্রিয় করলেও ক্লিক হিসেবে গণনা করা হতো না।

ক্লাসের নাম পরিবর্তন

নিচের সারণিতে সংস্করণ ৮-এ পরিবর্তিত বা অপসারিত নির্দিষ্ট ক্লাস নামগুলো তালিকাভুক্ত করা হয়েছে। সংক্ষেপে:

  • GADUnifiedNativeAd সাথে সম্পর্কিত সমস্ত ক্লাসের নাম পরিবর্তন করে GADNativeAd রাখা হয়েছে।
  • GADRewardBasedVideoAd , GADNativeExpressAdView এবং GADInstreamAd সরিয়ে ফেলা হয়েছে।
  • DFP উপসর্গযুক্ত সমস্ত ক্লাসকে GAM উপসর্গ দ্বারা প্রতিস্থাপন করা হয়েছে।
v7.68.0 ক্লাস v8.0.0 ক্লাস
DFPBannerView GAMBannerView
DFPBannerViewOptions GAMBannerViewOptions
ডিএফপি ইন্টারস্টিশিয়াল GAMInterstitialAd
ডিএফপি অনুরোধ জিএএম অনুরোধ
GADRequestError NSError
GADUnifiedNativeAdView GADNativeAdView
GADUnifiedNativeAd GADNativeAd
GADUnifiedNativeAdAssetIdentifiers GADNativeAdAssetIdentifiers
GADUnifiedNativeAdDelegate GADNativeAdDelegate
GADUnifiedNativeAdUnconfirmedClickDelegate GADNativeAdUnconfirmedClickDelegate
GADNativeCustomTemplateAd GADCustomNativeAd
GADNativeCustomTemplateAdLoaderDelegate GADCustomNativeAdLoaderDelegate
GADNativeAdDelegate GADCustomNativeAdDelegate
GADInAppPurchase অপসারণ করা হয়েছে
জিএডি ইন্টারস্টিশিয়াল GADInterstitialAd
GADNativeExpressadView অপসারণ করা হয়েছে
GADRewardBasedVideoAd অপসারণ করা হয়েছে
GADInstreamAd অপসারণ করা হয়েছে
GADInstreamAdView অপসারণ করা হয়েছে

পদ্ধতিগুলি সরানো/প্রতিস্থাপন করা হয়েছে

নিচের সারণিতে সংস্করণ ৮-এর সুনির্দিষ্ট পরিবর্তনগুলো তালিকাভুক্ত করা হলো। সংক্ষেপে:

  • পূর্বে অপ্রচলিত ঘোষিত মেথড এবং প্রোপার্টিগুলো সরিয়ে ফেলা হয়েছে।
  • -willLeaveApplication: ডেলিগেট মেথডগুলো সকল ফরম্যাট থেকে সরিয়ে ফেলা হয়েছে।
  • অ্যাড নেটওয়ার্ক ক্লাস নেমটি GADResponseInfo প্রপার্টিতে স্থানান্তরিত হয়েছে।
  • টেস্ট ডিভাইস আইডেন্টিফায়ারটি GADRequestConfiguration প্রপার্টিতে স্থানান্তরিত হয়েছে।
v7.68.0 ক্লাস v7.68.0 এপিআই v8.0.0 এপিআই নোট
GADMobileAds +অ্যাপ্লিকেশন আইডি দিয়ে কনফিগার করুন: -startWithCompletionHandler: অ্যাপ আইডিটি এখন Info.plist-এ সেট করা হয়েছে।
+disableAutomatedInApp PurchaseReporting -disableAutomatedInApp PurchaseReporting
+disableSDKCrashReporting -disableSDKCrashReporting
GADঅনুরোধ পরীক্ষার ডিভাইস GADRequestConfiguration .testdeviceidentifiers testDeviceIdentifiers প্রপার্টিটি সমস্ত বিজ্ঞাপন অনুরোধের ক্ষেত্রে প্রযোজ্য, যেখানে পুরানো testDevices প্রপার্টিটি প্রতিটি অনুরোধের জন্য আলাদাভাবে সেট করা হতো।
লিঙ্গ অপসারণ করা হয়েছে
জন্মদিন অপসারণ করা হয়েছে
+sdk সংস্করণ GADMobileAds.sharedInstance .sdkVersion
-জন্মদিন মাস:দিন:বছর: এর সাথে সেট করুন অপসারণ করা হয়েছে
-setLocationWithDescription: -setLocationWith Latitude:longitude:accuracy:
-tagForChildDirectedTreatment: [GADMobileAds.sharedInstance.requestConfiguration tagForChildDirectedTreatment]
GADErrorCode কেজিএডিত্রুটি* GADError* সমস্ত ত্রুটি কোড ধ্রুবক থেকে k উপসর্গটি বাদ দেওয়া হয়।
GADBannerView স্বয়ংক্রিয়ভাবে রিফ্রেশ হয়েছে স্বয়ংক্রিয় লোড সক্ষম করা হয়েছে
ইনঅ্যাপপারচেজ ডেলিগেট অপসারণ করা হয়েছে
mediatedAdView অপসারণ করা হয়েছে
adNetworkClassName প্রতিক্রিয়া তথ্য .adNetworkClassName
DFPBannerView -setValidAdSizesWithSizes: -বৈধ বিজ্ঞাপনের আকার নির্ধারণ করুন:
DFPBannerViewOptions -adSizeDelegate অপসারণ করা হয়েছে
GADBannerViewDelegate -adViewDidReceiveAd: -ব্যানারভিউবিজ্ঞাপনগ্রহণ করেছে:
-adView:didFailToReceive AdWithError: -ব্যানারভিউ:didFailToReceive AdWithError:
-adViewWillPresentScreen: -ব্যানারভিউস্ক্রিনউপস্থাপনকরবে:
-adViewWillDismissScreen: -ব্যানারভিউস্ক্রিনমিসকরবে:
-adViewDidDismissScreen: -ব্যানারভিউডিডডিসমিসস্ক্রিন:
-adViewWillLeaveApplication: অপসারণ করা হয়েছে
GADNativeCustomTemplateAd টেমপ্লেটআইডি GADCustomNativeAd.formatID
-performClickOnAssetWithKey: কাস্টম ক্লিকহ্যান্ডলার: -performClickOnAssetWithKey:
GADNativeAdImageAd লোডারঅপশন পছন্দের ছবির অভিমুখ GADNativeAdMediaAdOptions .mediaAspectRatio
জিএডি ইন্টারস্টিশিয়াল ইনঅ্যাপপারচেজ ডেলিগেট অপসারণ করা হয়েছে
প্রস্তুত অপসারণ করা হয়েছে এর পরিবর্তে canPresentFrom RootViewController:error: ব্যবহার করুন।
ব্যবহৃত হয়েছে অপসারণ করা হয়েছে
-init -initWithAdUnitID:
-setAdUnitID: -initWithAdUnitID:
adNetworkClassName প্রতিক্রিয়া তথ্য .adNetworkClassName
-অন্তর্বর্তীকালীন ছুটির আবেদন: অপসারণ করা হয়েছে
GADUnifiedNativeAd ভিডিও কন্ট্রোলার মিডিয়া কন্টেন্ট.ভিডিও কন্ট্রোলার
adNetworkClassName প্রতিক্রিয়া তথ্য .adNetworkClassName