SDK মাইগ্রেশন

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

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

SDK ভার্সন v11 থেকে v12 তে স্থানান্তর করুন

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

সর্বনিম্ন সমর্থিত Xcode সংস্করণটি 16.0 এ বৃদ্ধি পেয়েছে।

সুইফট নামকরণ সমর্থন

১২.০.০ সংস্করণে সুইফট এপিআই ডিজাইন নির্দেশিকাগুলিতে নামকরণের নিয়ম অনুসরণ করার জন্য পরিবর্তনগুলি অন্তর্ভুক্ত করা হয়েছে। এই পরিবর্তনগুলি কেবল সুইফটের উপর প্রভাব ফেলে। অবজেক্টিভ-সি এপিআইগুলিতে কোনও নামকরণ পরিবর্তন করা হয়নি।

ক্লাস প্রিফিক্স পরিবর্তন

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

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

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

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

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

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

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

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

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

সংস্করণ ১১ সংস্করণ ১২
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
GADNativeAdImageAdLoaderবিকল্প imageLoadingDisabled isImageLoadingDisabled
GADNativeMuteThisAdLoaderOptions customMuteThisAdRequested isCustomMuteThisAdRequested
GADNativeSignalRequest সম্পর্কে imageLoadingDisabled isImageLoadingDisabled
customMuteThisAdRequested isCustomMuteThisAdRequested
GADRequest সম্পর্কে neighboringContentURLStrings neighboringContentURLs
GADResponseInfo সম্পর্কে extrasDictionary extras
GADServerSideVerificationবিকল্পসমূহ customRewardString customRewardText
GADSignal সম্পর্কে signalString signal
GADSignalRequest সম্পর্কে neighboringContentURLStrings neighboringContentURLs
GADVideoController সম্পর্কে customControlsRequested areCustomControlsRequested
clickToExpandEnabled isClickToExpandEnabled
GADভিডিওবিকল্প startMuted shouldStartMuted
customControlsRequested areCustomControlsRequested
clickToExpandRequested isClickToExpandRequested

ফাংশন

আদর্শ সংস্করণ ১১ সংস্করণ ১২
GADAdআকার 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:)
GADAppEventপ্রতিনিধি 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:)
GADইন্টারস্টিশিয়াল load(withAdResponseString:) load(with:)
load(withAdUnitID:request:completionHandler:) load(with:request:completionHandler:)
canPresent(fromRootViewController:) canPresent(from:)
present(fromRootViewController:) present(from:)
GADRewardedবিজ্ঞাপন load(withAdResponseString:) load(with:)
load(withAdUnitID:request:completionHandler:) load(with:request:completionHandler:)
canPresent(fromRootViewController:) canPresent(from:)
present(fromRootViewController:userDidEarnRewardHandler:) present(from:userDidEarnRewardHandler:)
GADRewardedInterstitialবিজ্ঞাপন 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:)
GADমিডিয়েটেডইউনিফাইডনেটিভবিজ্ঞাপন didRecordClickOnAsset(withName:view:viewController:) didRecordClickOnAsset(with:view:viewController:)
GADমধ্যস্থতা অ্যাডাপ্টার setUpWith(_:completionHandler:) setUp(with:completionHandler:)
GADমধ্যস্থতাবিজ্ঞাপনের আকার present(fromRootViewController:) present(from:)
GADMediationAppOpenAd সম্পর্কে present(fromRootViewController:) present(from:)
GADমধ্যস্থতাআন্তঃস্থায়ীবিজ্ঞাপন present(fromRootViewController:) present(from:)
GADমধ্যস্থতাপুরস্কৃতবিজ্ঞাপন present(fromRootViewController:) present(from:)
GAMইন্টারস্টিশিয়ালবিজ্ঞাপন load(withAdManagerAdUnitID:request:completionHandler:) load(with:request:completionHandler:)

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

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

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

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

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

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

  • GADDynamicHeightSearchBannerView
  • GADDynamicHeightSearchRequest
  • GADSearchBannerView

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

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

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

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

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

কাস্টম টার্গেটিংয়ে পরিবর্তন

GADRequest এর customTargeting অভিধান এখন String এর পরিবর্তে Any মান টাইপ হিসেবে ব্যবহার করে। এটি আপনাকে API-তে সংখ্যাসূচক মান পাস করতে দেয়।

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

v10 থেকে v11 এ স্থানান্তর করুন

সর্বনিম্ন স্থাপনার লক্ষ্যমাত্রা

সর্বনিম্ন স্থাপনার লক্ষ্যমাত্রা iOS 12-এ বৃদ্ধি করা হয়েছে।

ন্যূনতম এক্সকোড সংস্করণ

সর্বনিম্ন সমর্থিত এক্সকোড সংস্করণটি 15.1 এ বৃদ্ধি করা হয়েছে।

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

Google মোবাইল বিজ্ঞাপন SDK সংস্করণ 11.0.0 শুধুমাত্র iOS 13 এবং তার পরবর্তী সংস্করণে চলমান ডিভাইসগুলিতে বিজ্ঞাপন পরিবেশন করে।

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

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

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

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

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

-canPresentFromRootViewController:error: এবং -presentFromRootViewController: এর ভিউ কন্ট্রোলার প্যারামিটারটি বাতিলযোগ্য। যদি শূন্য পাস করা হয়, তাহলে ভিউ কন্ট্রোলার হায়ারার্কির শীর্ষতম ভিউ কন্ট্রোলার থেকে বিজ্ঞাপনটি উপস্থাপন করা হবে।

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

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

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

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

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

v11.0.0 ক্লাস সম্পত্তি মন্তব্য
GADমধ্যস্থতাবিজ্ঞাপনকনফিগারেশন ব্যবহারকারীর অবস্থান আছে কোন প্রতিস্থাপন নেই।
ব্যবহারকারী অক্ষাংশ
ব্যবহারকারী দ্রাঘিমাংশ
ব্যবহারকারীর অবস্থান নির্ভুলতা ইনমিটার
শিশু নির্দেশিত চিকিৎসা পরিবর্তে GADMobileAds.sharedInstance.requestConfiguration.tagForChildDirectedTreatment ব্যবহার করুন।
GADResponseInfo সম্পর্কে অ্যাডনেটওয়ার্কক্লাসনাম পরিবর্তে loadedAdNetworkResponseInfo থেকে adNetworkClassName ব্যবহার করুন।

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

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

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

ভার্সন ১১.০.০ sdkVersion সরিয়ে দেয়। Google মোবাইল বিজ্ঞাপন SDK ভার্সন লগ করতে, versionNumber ব্যবহার করুন।

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

GADMobileAds.sharedInstance().sdkVersion

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

GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber)

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

১১.০.০ ভার্সন থেকে শুরু করে, GADAdLoader যদি তার delegate অনুরোধকৃত বিজ্ঞাপনের ধরণের ডেলিগেট প্রোটোকল মেনে না চলে, তাহলে বিজ্ঞাপনের অনুরোধ করে না। পূর্বে, বিজ্ঞাপনের অনুরোধ করার পরে এটি ব্যর্থ হয়েছিল।

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

নিম্নলিখিত বৈশিষ্ট্যগুলি কখন true ফিরে আসবে তার আপডেট করা শর্তগুলি দেখানো সারণীটি দেখুন।

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

v9 থেকে v10 এ স্থানান্তর করুন

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

Google মোবাইল বিজ্ঞাপন SDK সংস্করণ 10.0.0 শুধুমাত্র iOS 12 এবং তার পরবর্তী সংস্করণে চলমান ডিভাইসগুলিতে বিজ্ঞাপন পরিবেশন করে।

Google Mobile Ads SDK ভার্সন 10.0.0 এ আপগ্রেড করলে iOS 11 এবং iOS 10 ডিভাইসে আপনার অ্যাপটি কাজ করবে না, তবে, সেই ডিভাইসগুলিতে কোনও বিজ্ঞাপন পরিবেশিত হবে না।

বিটকোড দিয়ে তৈরি করা আর সমর্থিত নয়

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

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

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

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

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

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

v8 থেকে v9 এ স্থানান্তর করুন

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

Google Mobile Ads SDK ভার্সন 9.0.0 সর্বনিম্ন iOS ভার্সন iOS 11 সমর্থন করে।

Google Mobile Ads SDK ভার্সন 9.0.0 এ আপগ্রেড করলে iOS 10 ডিভাইসে আপনার অ্যাপটি কাজ করবে না, তবে, সেই ডিভাইসগুলিতে কোনও বিজ্ঞাপন পরিবেশিত হবে না।

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

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

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

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

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

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

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

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

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

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

এপিআই

নিচের টেবিলে কাস্টম ইভেন্ট API-এর সাথে সম্পর্কিত মধ্যস্থতা অ্যাডাপ্টার API-এর তালিকা দেওয়া হয়েছে যা 9.0.0 সংস্করণ থেকে ব্যবহার করা উচিত।

v8 সম্পর্কে v9 সম্পর্কে
GADCustomEventBanner সম্পর্কে
GADCustomEventইন্টারস্টিশিয়াল
GADCustomEventNativeAd
GADমধ্যস্থতা অ্যাডাপ্টার GADমধ্যস্থতাব্যানারবিজ্ঞাপন
GADমধ্যস্থতাআন্তঃস্থায়ীবিজ্ঞাপন
GADমধ্যস্থতাInterscrollerবিজ্ঞাপন
GADমধ্যস্থতাপুরস্কৃতবিজ্ঞাপন
GADমধ্যস্থতা নেটিভবিজ্ঞাপন
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

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

নিচের সারণীতে কাস্টম ইভেন্ট ডেলিগেট পদ্ধতির সাথে সম্পর্কিত মধ্যস্থতা বিজ্ঞাপন ইভেন্ট ডেলিগেট পদ্ধতিগুলির তালিকা দেওয়া হয়েছে যা 9.0.0 সংস্করণ থেকে শুরু করে ব্যবহার করা উচিত।

v8 সম্পর্কে v9 সম্পর্কে
GADCustomEventBannerপ্রতিনিধি
GADCustomEventইন্টারস্টিশিয়ালডেলিগেট
GADCustomEventNativeAdপ্রতিনিধি
GADমধ্যস্থতাবিষয়ক ইভেন্টপ্রতিনিধি GADমধ্যস্থতাবিজ্ঞাপন
-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 ব্যবহার করুন।
GADCustomNativeAd GADCustomNativeAdmediaView বন্ধ করা হয়েছে। পরিবর্তে mediaContent ব্যবহার করুন।
GoogleMobileAds এ অ্যাপ-মধ্যস্থ ক্রয় API গুলি GoogleMobileAds থেকে inAppPurchase API গুলি সরানো হয়েছে।

v7 থেকে v8 এ স্থানান্তর করুন

গুগল মোবাইল বিজ্ঞাপন SDK সংস্করণ 8.0.0 এ কিছু বড় পরিবর্তন আনা হয়েছে, পাশাপাশি API গুলির কিছু নাম পরিবর্তন এবং অপসারণও করা হয়েছে।

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

৮.০.০ ভার্সন থেকে শুরু করে, ইন্টারস্টিশিয়াল এবং পুরস্কৃত বিজ্ঞাপনগুলি আরও ধারাবাহিকতার জন্য একটি সাধারণ পূর্ণ-স্ক্রিন বিজ্ঞাপন স্টাইল ভাগ করে নেয়। এই নতুন পূর্ণ-স্ক্রিন বিজ্ঞাপন API গুলির ভার্সন ৭ এর পূর্ণ-স্ক্রিন বিজ্ঞাপন API গুলির থেকে দুটি প্রধান পার্থক্য রয়েছে:

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

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

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

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

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

    নতুন পদ্ধতিটি এই সুবিধাগুলি প্রদান করে:

    • লোড না হওয়া বিজ্ঞাপনের রেফারেন্স আপনার কাছে আর কখনও থাকবে না।
    • লোড হওয়ার সময় আপনাকে কোনও বিজ্ঞাপনের বস্তু ধরে রাখতে হবে না।
  2. ধারাবাহিক বিজ্ঞাপন ইভেন্ট।

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

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

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

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

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

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

v7 সম্পর্কে

সুইফট

import GoogleMobileAds
import UIKit

class ViewController: UIViewController, GADInterstitialDelegate {

  var interstitial: GADInterstitial!

  override func viewDidLoad() {
    super.viewDidLoad()
    interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910")
    interstitial.delegate = self
    let request = GADRequest()
    interstitial.load(request)
  }

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

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

অবজেক্টিভ-সি

@import GoogleMobileAds;
@import UIKit;

@interface ViewController () 

@property(nonatomic, strong) GADInterstitial *interstitial;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  self.interstitial = [[GADInterstitial alloc]
      initWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"];
  self.interstitial.delegate = self;
  GADRequest *request = [GADRequest request];
  [self.interstitial loadRequest:request];
}

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

/// Tells the delegate an ad request failed.
- (void)interstitial:(GADInterstitial *)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: GADInterstitialAd?

  override func viewDidLoad() {
    super.viewDidLoad()
    let request = GADRequest()
    GADInterstitialAd.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) GADInterstitialAd *interstitial;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  GADRequest *request = [GADRequest request];
  [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
                              request:request
                    completionHandler:^(GADInterstitialAd *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 = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910")
  interstitial.delegate = self
  ...
}

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

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

/// Tells the delegate the interstitial had been animated off the screen.
func interstitialDidDismissScreen(_ ad: GADInterstitial) {
  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: GADInterstitial) {
  print("Interstitial ad will leave application.")
}

অবজেক্টিভ-সি

- (void)viewDidLoad {
  [super viewDidLoad];
  self.interstitial = [[GADInterstitial alloc] initWithAdUnitID:"ca-app-pub-3940256099942544/4411468910"];
  self.interstitial.delegate = self;
  ...
}

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

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

/// Tells the delegate the interstitial had been animated off the screen.
- (void)interstitialDidDismissScreen:(GADInterstitial *)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:(GADInterstitial *)ad {
  NSLog(@"Interstitial ad will leave application.");
}

v8 সম্পর্কে

সুইফট

override func viewDidLoad() {
  super.viewDidLoad()
  let request = GADRequest()
  GADInterstitialAd.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];
  GADRequest *request = [GADRequest request];
  [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
                              request:request
                    completionHandler:^(GADInterstitialAd *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(GADRequest()) { 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;
  GADRequest *request = [GADRequest 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 = GADRequest()
  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];

  GADRequest *request = [GADRequest 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 = GADRequest()
  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];

  GADRequest *request = [GADRequest 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 সম্পর্কে
ডিএফপি ইন্টারস্টিশিয়াল GAMইন্টারস্টিশিয়ালবিজ্ঞাপন
DFPRequest সম্পর্কে GAMRequest সম্পর্কে
GADRequestError সম্পর্কে এনএসইআরআর
GADUnifiedNativeAdView GADNativeAdView সম্পর্কে
GADUnifiedNativeবিজ্ঞাপন GADNativeAd সম্পর্কে
GADUnifiedNativeAdAssetআইডেন্টিফায়ার GADNativeAdAssetআইডেন্টিফায়ার
GADUnifiedNativeAdপ্রতিনিধি GADNativeAdপ্রতিনিধি
GADUnifiedNativeAdঅনিশ্চিতক্লিকডেলিগেট GADNativeAdUnconfirmedClickDelegate
GADNativeCustomTemplateAd GADCustomNativeAd সম্পর্কে
GADNativeCustomTemplateAdLoaderDelegate GADCustomNativeAdLoaderপ্রতিনিধি
GADNativeAdপ্রতিনিধি GADCustomNativeAdপ্রতিনিধি
GADInAppPurchase সম্পর্কে সরানো হয়েছে
GADইন্টারস্টিশিয়াল GADইন্টারস্টিশিয়ালবিজ্ঞাপন
GADNativeExpressAdView সম্পর্কে সরানো হয়েছে
GADReward-ভিত্তিক ভিডিও বিজ্ঞাপন সরানো হয়েছে
GADInstreamবিজ্ঞাপন সরানো হয়েছে
GADInstreamAdView সম্পর্কে সরানো হয়েছে

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

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

  • পূর্বে অবচিত পদ্ধতি এবং বৈশিষ্ট্যগুলি সরানো হয়েছে।
  • -willLeaveApplication: সকল ফরম্যাটের জন্য ডেলিগেট পদ্ধতিগুলি সরানো হয়েছে।
  • বিজ্ঞাপন নেটওয়ার্ক ক্লাসের নাম GADResponseInfo প্রপার্টিতে স্থানান্তরিত হয়েছে।
  • পরীক্ষামূলক ডিভাইস শনাক্তকারীটি GADRequestConfiguration সম্পত্তিতে স্থানান্তরিত হয়েছে।
v7.68.0 ক্লাস v7.68.0 API v8.0.0 API মন্তব্য
GADMobileAds সম্পর্কে +অ্যাপ্লিকেশন আইডির সাথে কনফিগার করুন: -স্টার্টউইথকম্পলিশনহ্যান্ডলার: অ্যাপ আইডি এখন Info.plist-এ সেট করা আছে।
+অটোমেটেডইনঅ্যাপ ক্রয় রিপোর্টিং অক্ষম করুন -অটোমেটেডইনঅ্যাপ ক্রয় রিপোর্টিং অক্ষম করুন
+SDK ক্র্যাশ রিপোর্টিং অক্ষম করুন -SDK ক্র্যাশ রিপোর্টিং অক্ষম করুন
GADRequest সম্পর্কে পরীক্ষা ডিভাইস GADRequestConfiguration .testdeviceidentifiers testDeviceIdentifiers প্রপার্টিটি সমস্ত বিজ্ঞাপন অনুরোধের ক্ষেত্রে প্রযোজ্য, যেখানে পুরনো testDevices প্রপার্টিটি প্রতি-অনুরোধের জন্য সেট করা ছিল।
লিঙ্গ সরানো হয়েছে
জন্মদিন সরানো হয়েছে
+sdk ভার্সন GADMobileAds.sharedInstance .sdkVersion সম্পর্কে
-জন্মদিন সেট করুনমাস:দিন:বছরের সাথে: সরানো হয়েছে
-বর্ণনা সহ অবস্থান সেট করুন: -অক্ষাংশ: দ্রাঘিমাংশ: নির্ভুলতার সাথে অবস্থান সেট করুন:
-শিশু নির্দেশিত চিকিৎসার জন্য ট্যাগ: [GADMobileAds.sharedInstance.requestConfiguration ট্যাগForChildDirectedTreatment]
GADErrorCode সম্পর্কে kGADError* GADError* সমস্ত ত্রুটি কোড ধ্রুবক থেকে k উপসর্গ বাদ দেওয়া হয়েছে।
GADBannerView সম্পর্কে অটোরিফ্রেশ করা হয়েছে স্বয়ংক্রিয় লোড সক্ষম
inAppPurchaseDelegate সম্পর্কে সরানো হয়েছে
mediatedAdView সম্পর্কে সরানো হয়েছে
অ্যাডনেটওয়ার্কক্লাসনাম রেসপন্সইনফো .এডনেটওয়ার্কক্লাসনাম
DFPBannerView সম্পর্কে -সেটভ্যালিডআকারসহআকার: -সেটভ্যালিডঅ্যাডসাইজ:
DFPBannerViewOptions সম্পর্কে -বিজ্ঞাপনের আকার প্রতিনিধি সরানো হয়েছে
GADBannerViewDelegate সম্পর্কে -বিজ্ঞাপন দেখুন গ্রহণ করেছেবিজ্ঞাপন: -ব্যানারভিউডিডরিসিভবিজ্ঞাপন:
-adView:didFailToReceive বিজ্ঞাপনের সাথে ত্রুটি: -bannerView:didFailToReceive বিজ্ঞাপনের সাথে ত্রুটি:
-adViewWillPresentScreen: -ব্যানারভিউউইলপ্রেজেন্টস্ক্রিন:
-বিজ্ঞাপনভিউডিসমিসস্ক্রিন: -ব্যানারভিউউইলডিসমিসস্ক্রিন:
-adViewDidDismissScreen: -ব্যানারভিউডিডডিসমিসস্ক্রিন:
-adViewWillLeaveআবেদন: সরানো হয়েছে
GADNativeCustomTemplateAd টেমপ্লেট আইডি GADCustomNativeAd.formatID
-performClickOnAssetWithKey: কাস্টমক্লিকহ্যান্ডলার: -পারফর্মক্লিকঅনঅ্যাসেটউইথকি:
GADNativeAdImageAd লোডারবিকল্প পছন্দের চিত্র ওরিয়েন্টেশন GADNativeAdMediaAdOptions .mediaAspectRatio
GADইন্টারস্টিশিয়াল inAppPurchaseDelegate সম্পর্কে সরানো হয়েছে
প্রস্তুত সরানো হয়েছে পরিবর্তে canPresentFrom RootViewController:error: ব্যবহার করুন।
hasBeenUsed সম্পর্কে সরানো হয়েছে
-init -initWithAdUnitID:
-সেট অ্যাডইউনিট আইডি: -initWithAdUnitID:
অ্যাডনেটওয়ার্কক্লাসনাম রেসপন্সইনফো .এডনেটওয়ার্কক্লাসনাম
-অন্তর্বর্তীকালীনছুটে যাবেআবেদন: সরানো হয়েছে
GADUnifiedNativeবিজ্ঞাপন ভিডিও কন্ট্রোলার মিডিয়াকন্টেন্ট.ভিডিওকন্ট্রোলার
অ্যাডনেটওয়ার্কক্লাসনাম রেসপন্সইনফো .এডনেটওয়ার্কক্লাসনাম