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

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

এই পৃষ্ঠায় বর্তমান ও পূর্ববর্তী সংস্করণগুলোর মাইগ্রেশন সম্পর্কে আলোচনা করা হয়েছে।

v24 থেকে v25 এ মাইগ্রেট করুন

নিম্নলিখিত উপবিভাগগুলিতে Google Mobile Ads SDK এর প্রধান সংস্করণ ২৪ এবং ২৫-এর মধ্যেকার বড় ধরনের পরিবর্তন এবং আচরণগত পার্থক্য বর্ণনা করা হয়েছে।

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

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

শ্রেণী কলব্যাকগুলি সরানো হয়েছে প্রতিস্থাপন
সিগন্যালকলব্যাক onFailure(String)
onAdFailedToShow(String)
onFailure(AdError)
onAdFailedToShow(AdError)
MediationAdLoadCallback
MediationInterstitialAdCallback
MediationRewardedAdCallback

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

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

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

v24 (অপ্রচলিত) v25 (প্রতিস্থাপন)
getCurrentOrientationAnchoredAdaptiveBannerAdSize(Context, int) getLargeAnchoredAdaptiveBannerAdSize(Context, int)
getLandscapeAnchoredAdaptiveBannerAdSize(Context, int) getLargeLandscapeAnchoredAdaptiveBannerAdSize(Context, int)
getPortraitAnchoredAdaptiveBannerAdSize(Context context, int width) getLargePortraitAnchoredAdaptiveBannerAdSize(Context context, int width)

mediation.VersionInfo ক্লাস অপসারণ।

com.google.android.gms.ads.mediation প্যাকেজ থেকে VersionInfo ক্লাসটি সরিয়ে ফেলা হয়েছে। এর পরিবর্তে com.google.android.gms.ads.VersionInfo প্যাকেজটি ব্যবহার করুন।

RtbSignalData ক্লাস থেকে getConfiguration() মেথডটি অপসারণ করা হয়েছে।

RtbSignalData তে অপ্রচলিত getConfiguration() মেথড API-টি সরিয়ে ফেলা হয়েছে। এর পরিবর্তে, getConfigurations() মেথডটি ব্যবহার করুন, যা একটি List<MediationConfiguration> লিস্ট রিটার্ন করে।

v23 থেকে v24-এ মাইগ্রেট করুন

নিম্নলিখিত উপবিভাগগুলিতে Google Mobile Ads SDK এর প্রধান সংস্করণ ২৩ এবং ২৪-এর মধ্যেকার বড় ধরনের পরিবর্তন এবং আচরণগত পার্থক্য বর্ণনা করা হয়েছে।

অ্যান্ড্রয়েড এপিআই-এর সর্বনিম্ন স্তর হলো ২৩

সংস্করণ 24.0.0 থেকে শুরু করে, Google Mobile Ads SDK চালানোর জন্য সমস্ত অ্যাপকে ন্যূনতম Android API লেভেল 23-এ চলতে হবে। API লেভেল সামঞ্জস্য করতে, আপনার অ্যাপ-স্তরের build.gradle ফাইলে minSdk মান 23 বা তার বেশিতে পরিবর্তন করুন।

অপ্টিমাইজড প্রারম্ভিককরণ এবং লোডিং-এ পরিবর্তন

ডিফল্টরূপে, OPTIMIZE_INITIALIZATION এবং OPTIMIZE_AD_LOADING ফ্ল্যাগ দুটি true তে সেট করা থাকে। এই ফ্ল্যাগগুলো সম্পর্কে আরও তথ্যের জন্য, 'Optimize initialization and loading ' দেখুন।

firebase-ads এবং firebase-ads-lite নির্ভরতাগুলি সরানো হয়েছে

সংস্করণ 24.0.0 থেকে শুরু করে, SDK রিলিজগুলোতে আর firebase-ads এবং firebase-ads-lite ডিপেন্ডেন্সিগুলো বিতরণ করা হয় না। এর পরিবর্তে play-services-ads ডিপেন্ডেন্সিটি ব্যবহার করুন।

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

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

অ্যাপ খোলার বিজ্ঞাপনের জন্য অপ্রচলিত ওরিয়েন্টেশন এপিআইগুলো সরিয়ে ফেলা হয়েছে।

  • AppOpenAd.load() মেথডগুলো, যেগুলো ওরিয়েন্টেশন ইনপুট প্যারামিটার গ্রহণ করত, সেগুলো সরিয়ে ফেলা হয়েছে। এর পরিবর্তে এমন AppOpenAd.load() মেথড ব্যবহার করুন যেগুলো কোনো ওরিয়েন্টেশন গ্রহণ করে না।
  • AppOpenAdOrientation enum-টি সরানো হয়েছে।

মেডিয়েশন অ্যাডাপ্টারগুলির জন্য সরলীকৃত রিওয়ার্ড কলব্যাক

সংস্করণ 24.0.0-এ MediationRewardedAdCallbackonUserEarnedReward() কলব্যাকটি যোগ করা হয়েছে এবং onUserEarnedReward(RewardItem) অপ্রচলিত ঘোষণা করা হয়েছে। ব্যবহারকারী যখন কোনো পুরস্কার অর্জন করবে, তখন থেকে মিডিয়েশন অ্যাডাপ্টারগুলোকে অবশ্যই onUserEarnedReward() কল করা শুরু করতে হবে।

মিডিয়েশন অ্যাডাপ্টার থেকে কলব্যাক ফরওয়ার্ড করার সময়, Google Mobile Ads SDK সকল সংস্করণ Ad Manager UI-তে OnUserEarnedRewardListener এ সংজ্ঞায়িত রিওয়ার্ডটি ফেরত দেয়।

ক্লাসগুলো সরিয়ে দেওয়া হয়েছে

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

  • DynamicHeightSearchAdRequest
  • SearchAdRequest
  • SearchAdView

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

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

শ্রেণী পদ্ধতি
পুরস্কৃত ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড কলব্যাক onRewardedInterstitialAdLoaded()
onRewardedInterstitialAdFailedToLoad(int)
onRewardedInterstitialAdFailedToLoad(LoadAdError)

অপ্রচলিত পদ্ধতি

নিম্নলিখিত পদ্ধতিগুলো অপ্রচলিত এবং এগুলোর কোনো প্রতিস্থাপন নেই:

শ্রেণী পদ্ধতি
অ্যাডাপ্টার loadInterscrollerAd()
RtbAdapter loadRtbInterscrollerAd()

v22 থেকে v23-এ মাইগ্রেট করুন

নিম্নলিখিত উপবিভাগগুলিতে Google Mobile Ads SDK এর প্রধান সংস্করণ ২২ এবং ২৩-এর মধ্যেকার বড় ধরনের পরিবর্তন এবং আচরণগত পার্থক্য বর্ণনা করা হয়েছে।

অ্যান্ড্রয়েড এপিআই-এর সর্বনিম্ন স্তর হলো ২১

সংস্করণ 23.0.0 থেকে শুরু করে, Google Mobile Ads SDK চালানোর জন্য সমস্ত অ্যাপকে ন্যূনতম Android API লেভেল 21-এ থাকতে হবে। API লেভেল পরিবর্তন করতে, আপনার অ্যাপ-স্তরের build.gradle ফাইলে minSdkVersion এর মান 21 বা তার বেশিতে পরিবর্তন করুন।

সুপারক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত AdManagerAdRequest.Builder মেথডগুলোকে চেইন করা যেতে পারে।

সংস্করণ 23.0.0-এ, এর প্যারেন্ট থেকে উত্তরাধিকারসূত্রে প্রাপ্ত AdManagerAdRequest.Builder মেথডগুলোকে একটিমাত্র কলের মাধ্যমে একটি AdManagerAdRequest তৈরি করার জন্য একসাথে চেইন করা যেতে পারে:

জাভা

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
    .addCustomTargeting("age", "25") // AdManagerAdRequest.Builder method.
    .setContentUrl("https://www.example.com") // Method inherited from parent.
    .build(); // Builds an AdManagerAdRequest.

কোটলিন

var request = AdManagerAdRequest.Builder()
  .addCustomTargeting("age", "25") // AdManagerAdRequest.Builder method.
  .setContentUrl("https://www.example.com") // Method inherited from parent.
  .build() // Builds an AdManagerAdRequest.

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

v22.0.0 এপিআই v23.0.0 এপিআই
AdRequest.Builder.addTestDevice() RequestConfiguration.Builder.setTestDeviceIds()
AdRequest.Builder.tagForChildDirectedTreatment() RequestConfiguration.Builder.setTagForChildDirectedTreatment()
AdRequest.Builder.setIdesignedForFamilies() RequestConfiguration.Builder.setMaxAdContentRating()
AdFormat.UNKNOWN কোনো প্রতিস্থাপন নেই
AdLoader.Builder.forUnifiedNativeAd() AdLoader.Builder.forNativeAd()
AdLoader.Builder.forCustomTemplateAd() AdLoader.Builder.forCustomFormatAd()
AdLoader.Builder.withNativeAdOptions( formats ) AdLoader.Builder.withNativeAdOptions( nativead )
void MobileAds.setSameAppKeyEnabled() boolean MobileAds.putPublisherFirstPartyIdEnabled()

v21 থেকে v22 তে মাইগ্রেট করুন

নিম্নলিখিত উপবিভাগগুলিতে Google Mobile Ads SDK এর প্রধান সংস্করণ ২১ এবং ২২-এর মধ্যেকার বড় ধরনের পরিবর্তন এবং আচরণগত পার্থক্য বর্ণনা করা হয়েছে।

Google Mobile Ads SDK সংস্করণ পেতে MobileAds.getVersion() ব্যবহার করুন।

সংস্করণ 22.0.0-এ MobileAds.getVersionString() পদ্ধতিটি সরিয়ে MobileAds.getVersion() পদ্ধতি ব্যবহার করা হয়েছে।

নতুন পদ্ধতিটি প্রত্যাশিত এক্সটার্নাল ভার্সন নম্বরটি রিটার্ন করে—উদাহরণস্বরূপ, 22.0.0 । এই পরিবর্তন সম্পর্কে আরও তথ্যের জন্য, “Use the new Google Mobile Ads SDK getVersion() method” দেখুন।

অপ্রচলিত NativeCustomFormatAd.getVideoMediaView() অপসারণ

ভার্সন ২১-এ, Google Mobile Ads SDK একটি নেটিভ কাস্টম অ্যাড ফরম্যাটের জন্য মিডিয়া অ্যাসেট পেতে NativeCustomFormatAd.getVideoMediaView() মেথডটি প্রদান করেছে।

ভার্সন ২২ থেকে, আপনি নিজের MediaView তৈরি করে তার মিডিয়া কন্টেন্ট সেট করতে পারেন এবং ভিডিও কন্ট্রোলগুলো পাওয়ার জন্য MediaContent.getVideoController() ব্যবহার করতে পারেন।

v22

// Called when a custom native ad loads.
@Override
public void onCustomFormatAdLoaded(NativeCustomFormatAd ad) {
    // Assumes you have a FrameLayout in your view hierarchy with the ID media_placeholder.
    FrameLayout mediaPlaceholder = (FrameLayout) findViewById(R.id.media_placeholder);

    MediaContent mediaContent = ad.getMediaContent();
    if (mediaContent != null && mediaContent.hasVideoContent()) {
        // Create a MediaView and set its media content.
        MediaView mediaView = new MediaView(mediaPlaceholder.getContext());
        mediaView.setMediaContent(mediaContent);
        mediaPlaceholder.addView(mediaView);
    }
}

v21

// Called when a custom native ad loads.
@Override
public void onCustomFormatAdLoaded(NativeCustomFormatAd ad) {
    // Assumes you have a FrameLayout in your view hierarchy with the ID media_placeholder.
    FrameLayout mediaPlaceholder = (FrameLayout) findViewById(R.id.media_placeholder);

    VideoController videoController = ad.getVideoController();
    if (videoController.hasVideoContent()) {
        // Add the media view provided by the native ad.
        mediaPlaceholder.addView(ad.getVideoMediaView());
    }
}

আরও তথ্যের জন্য কাস্টম নেটিভ বিজ্ঞাপন নির্দেশিকা দেখুন।

অপসারণ বা প্রতিস্থাপন পদ্ধতি

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

v21.0.0 v22.0.0
MobileAds.getVersionString() MobileAds.getVersion()
NativeCustomFormatAd.getVideoMediaView() NativeCustomFormatAd.getMediaContent()
NativeCustomFormatAd.getVideoController() NativeCustomFormatAd.getMediaContent().getVideoController()
AdRequest.Builder.setAdInfo() AdRequest.Builder.setAdString()
MediationRewardedVideoadAdapter অ্যাডাপ্টার
MediationRewardedVideoDalListener
com.google.android.gms.ads.mediation.VersionInfo com.google.android.gms.ads.VersionInfo
com.google.android.gms.ads.doubleclick.AppEventListener com.google.android.gms.ads.admanager.AppEventListener

v20 থেকে v21 এ মাইগ্রেট করুন

নিম্নলিখিত উপবিভাগগুলিতে Google Mobile Ads SDK এর প্রধান সংস্করণ ২০ এবং ২১-এর মধ্যেকার বড় ধরনের পরিবর্তন এবং আচরণের পার্থক্য বর্ণনা করা হয়েছে:

minSdkVersion ১৯ বা তার বেশিতে আপডেট করুন।

সংস্করণ 21.0.0 থেকে শুরু করে, Google Mobile Ads SDK চালানোর জন্য সমস্ত অ্যাপকে ন্যূনতম Android API লেভেল 19-এ থাকতে হবে। API লেভেল সামঞ্জস্য করতে, আপনার অ্যাপের বিল্ড ফাইলে minSdkVersion এর মান 19 বা তার বেশিতে পরিবর্তন করুন।

কঠোরভাবে বাতিলযোগ্যতা প্রয়োগ করুন

কঠোর নালযোগ্যতা কার্যকর করার প্রস্তুতি হিসেবে, পূর্বে যে সমস্ত API-তে নালযোগ্যতা স্পষ্টভাবে সংজ্ঞায়িত করা ছিল না, সেগুলিতে @NonNull অ্যানোটেশন যুক্ত করা হয়েছে।

এই পরিবর্তনটি কোটলিন অ্যাপ এবং জাভা নাল চেকিং ফ্রেমওয়ার্ক ব্যবহারকারী অ্যাপগুলিকে অকার্যকর করে দিতে পারে, যদি নাল সেফটি লঙ্ঘন ঘটে এবং সেগুলি পূর্বে null ভ্যালুগুলিকে নিরাপদ উপায়ে পরিচালনা না করে থাকে ( নাল-সেফটি বিষয়ে কোটলিন ডকুমেন্টেশন দেখুন)।

addNetworkExtras() মেথড অপসারণ

addNetworkExtras() মেথডটি, যা একটি নির্দিষ্ট অ্যাড নেটওয়ার্ক অ্যাডাপ্টারে NetworkExtras ইনস্ট্যান্স হিসেবে অতিরিক্ত প্যারামিটার পাস করত, SDK ভার্সন 20.3.0-এ ডেপ্রিকেটেড করা হয়েছে এবং ভার্সন 21.0.0-এ এটি সরিয়ে ফেলা হবে। এর পরিবর্তে একই AdRequest.Builder ক্লাস থেকে addNetworkExtrasBundle() মেথডটি ব্যবহার করুন।

অবস্থান অপসারণ পদ্ধতি

সংস্করণ 21.0.0 থেকে নিম্নলিখিত অবস্থান পদ্ধতিগুলো সরিয়ে ফেলা হবে:

  • AdRequest.Builder ক্লাসের setLocation(Location location) মেথডটি মিডিয়েশন টার্গেটিং-এর উদ্দেশ্যে ব্যবহারকারীর অবস্থান নির্ধারণ করে।
  • AdRequest ক্লাসের getLocation() মেথডটি ব্যবহারকারীর লোকেশন টার্গেটিং তথ্য ফেরত দেয়, যা পূর্বে setLocation(Location location) মেথডে পাঠানো হয়েছিল।
  • MediationAdConfiguration ক্লাসের getLocation() মেথডটি ব্যবহারকারীর অবস্থান রিটার্ন করে, যদি AdRequest দ্বারা তা সংজ্ঞায়িত করা থাকে।

গুগল বিজ্ঞাপন টার্গেট করার জন্য লোকেশন ডেটা ব্যবহার করে না। প্রয়োজন হলে, থার্ড-পার্টি অ্যাড নেটওয়ার্কগুলোকে তথ্য সরবরাহ করার জন্য আপনার থার্ড-পার্টি এপিআই ব্যবহার করা উচিত।

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

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

Adapter ক্লাস এবং MediationAdLoadCallback ইন্টারফেসের ব্যবহারের কারণে সমস্ত কাস্টম ইভেন্ট ইন্টারফেস অপ্রচলিত হয়ে গেছে।

নিম্নলিখিত সারণিতে সংস্করণ 21.0.0 থেকে শুরু করে প্রতিটি কাস্টম ইভেন্ট ইন্টারফেসের জন্য আপনাকে অবশ্যই ব্যবহার করতে হবে এমন সংশ্লিষ্ট ক্লাস বা ইন্টারফেসের তালিকা দেওয়া হলো:

v20.0.0 ইন্টারফেস v21.0.0 ক্লাস/ ইন্টারফেস
কাস্টমইভেন্ট অ্যাডাপ্টার
কাস্টমইভেন্টব্যানার
কাস্টমইভেন্টইন্টারস্টিশিয়াল
কাস্টমইভেন্টনেটিভ
কাস্টমইভেন্টব্যানারলিসেনার অ্যাডাপ্টার , মিডিয়েশনঅ্যাডলোডকলব্যাক
কাস্টমইভেন্টইন্টারস্টিশিয়াললিসেনার
কাস্টমইভেন্টলিসেনার
কাস্টমইভেন্টনেটিভলিসেনার

v19 থেকে v20 তে মাইগ্রেট করুন

ভার্সন 20.0.0-এ অনেক বড় ধরনের পরিবর্তন আনা হয়েছে। ভার্সন 19.7.0 অনেক নতুন API চালু করেছিল এবং ভার্সন 20.0.0-এর প্রস্তুতির জন্য অনেক ক্লাসকে অপ্রচলিত বা পুনঃনামকরণ করা হয়েছিল। এই নির্দেশিকাটি ভার্সন 20.0.0-এর প্রধান পরিবর্তনগুলো তুলে ধরেছে।

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

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

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

  • একটি স্থির লোড পদ্ধতি
  • একটি অনুরূপ লোড কলব্যাক বা হ্যান্ডলার প্রক্রিয়া
  • প্রেজেন্টেশন কলব্যাকের জন্য FullScreenContentCallback ক্লাসের উপর নির্ভরতা

লিগ্যাসি রিওয়ার্ডেডভিডিওঅ্যাড এপিআই অপসারণ

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

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

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

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

জাভা

public class MyActivity extends AppCompatActivity {
  ...
  private AdSize getFullWidthAdaptiveSize() {
    Display display = getWindowManager().getDefaultDisplay();
    DisplayMetrics outMetrics = new DisplayMetrics();
    display.getMetrics(outMetrics);

    float widthPixels = outMetrics.widthPixels;
    float density = outMetrics.density;

    int adWidth = (int) (widthPixels / density);
    return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
  }
}

কোটলিন

class MyActivity : AppCompatActivity() {
  ...
  private val adaptiveAdSize: AdSize
    get() {
      val display = windowManager.defaultDisplay
      val outMetrics = DisplayMetrics()
      display.getMetrics(outMetrics)

      val density = outMetrics.density

      var adWidthPixels = ad_view_container.width.toFloat()
      if (adWidthPixels == 0f) {
        adWidthPixels = outMetrics.widthPixels.toFloat()
      }

      val adWidth = (adWidthPixels / density).toInt()
      return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
    }
}

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

সমস্ত বিজ্ঞাপন ফরম্যাটের জন্য onAdLeftApplication কলব্যাকটি সরিয়ে ProcessLifecycleOwner ব্যবহার করা হয়েছে। একটি OS-স্তরের API ব্যবহার করলে, ব্যবহারকারীরা আপনার অ্যাপ ছেড়ে গেলেই আপনাকে জানানো হয়, তা বিজ্ঞাপনের সাথে ইন্টারঅ্যাকশনের কারণে হোক বা না হোক।

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

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

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

  • UnifiedNativeAd সাথে সম্পর্কিত বেশিরভাগ ক্লাসের নাম পরিবর্তন করে NativeAd রাখা হয়েছে।
  • MobileAds.Settings , NativeExpressAdView , NativeAppInstallAd , NativeContentAd এবং InstreamAd ক্লাস ও ভিউগুলো সরিয়ে ফেলা হয়েছে।
  • Publisher প্রিফিক্সযুক্ত সমস্ত ক্লাসকে AdManager প্রিফিক্স দ্বারা প্রতিস্থাপন করা হয়েছে।
  • InterstitialAd প্যাকেজের নাম পরিবর্তন করা হয়েছে।
১৯.৫.০ ক্লাস ২০.০.০ ক্লাস
com.google.android.gms.ads. com.google.android.gms.ads.
পুরস্কার। পুরস্কৃত ভিডিও বিজ্ঞাপন পুরস্কৃত। পুরস্কৃত বিজ্ঞাপন
পুরস্কার। পুরস্কৃত ভিডিও বিজ্ঞাপন শ্রোতা পুরস্কৃত।পুরস্কৃতবিজ্ঞাপনলোডকলব্যাক এবং পূর্ণস্ক্রিনকন্টেন্টকলব্যাক
পুরস্কার।পুরস্কার আইটেম পুরস্কৃত। পুরস্কার সামগ্রী
পুরস্কৃত। পুরস্কৃত বিজ্ঞাপন কলব্যাক OnUserEarnedRewardListener
ফরম্যাটস.ইউনিফাইডনেটিভঅ্যাডভিউ nativead.NativeadView
ফরম্যাটস.ইউনিফাইডনেটিভঅ্যাড nativead.NativeAd
ফরম্যাটস.ইউনিফাইডনেটিভঅ্যাডঅ্যাসেটনেমস nativead.NativeAdAssetNames
formats.UnifiedNativeAd.OnUnifiedNativeAdLoadedListener Nativead.NativeAd.OnNativeAdLoaded Listener
ফরম্যাটস.অ্যাডচয়েসেসভিউ nativead.AdChoicesView
ফরম্যাটস.নেটিভঅ্যাড.অ্যাডচয়েসেসইনফো nativead.NativeAd.AdChoicesInfo
ফরম্যাটস.মিডিয়াভিউ nativead.MediaView
ফরম্যাটস.নেটিভঅ্যাডভিউহোল্ডার nativead.NativeAdViewHolder
ফরম্যাটস.নেটিভঅ্যাডঅপশনস nativead.NativeadOptions
ফরম্যাটস.নেটিভকাস্টমটেমপ্লেটঅ্যাড nativead.NativeCustomFormatAd
formats.NativeCustomTemplateAd .OnCustomTemplateAdLoadedListener nativead.NativeCustomFormatAd .OnCustomFormatAdLoadedListener
মোবাইল বিজ্ঞাপন সেটিংস অপসারণ করা হয়েছে
ডাবলক্লিক.পাবলিশারঅ্যাডরিকোয়েস্ট admanager.AdManagerAdRequest
ডাবলক্লিক.পাবলিশারঅ্যাডভিউ admanager.AdManagerAdView
ফরম্যাট.প্রকাশকবিজ্ঞাপনভিউবিকল্প ফরম্যাটস.অ্যাডম্যানেজারঅ্যাডভিউঅপশনস
ডাবলক্লিক.প্রকাশক ইন্টারস্টিশিয়াল বিজ্ঞাপন admanager.AdManagerInterstitialAd
ইন্টারস্টিশিয়াল বিজ্ঞাপন ইন্টারস্টিশিয়াল.ইন্টারস্টিশিয়াল বিজ্ঞাপন
নেটিভ এক্সপ্রেস অ্যাডভিউ অপসারণ করা হয়েছে
ইনস্ট্রিম.ইনস্ট্রিমঅ্যাড অপসারণ করা হয়েছে
mediation.admob.AdMobExtras অপসারণ করা হয়েছে
পারস্পরিক সম্পর্ককারী অপসারণ করা হয়েছে
অনুসন্ধান.অনুসন্ধানবিজ্ঞাপনঅনুরোধ অপসারণ করা হয়েছে
ইন্টারফেস AdRequest.TagForUnderAgeOfConsent অপসারণ করা হয়েছে
ইন্টারফেস AdRequest.MaxAdContentRating অপসারণ করা হয়েছে
ফরম্যাটস.নেটিভঅ্যাপইনস্টলঅ্যাড native.NativeAd
ফরম্যাটস.নেটিভঅ্যাপইনস্টলঅ্যাডভিউ native.NativeadView
mediation.NativeAppInstallAdMapper মধ্যস্থতা।ইউনিফাইডনেটিভঅ্যাডম্যাপার
ফরম্যাটস.নেটিভকন্টেন্টঅ্যাড native.NativeAd
ফরম্যাটস.নেটিভকন্টেন্টঅ্যাডভিউ native.NativeadView
মধ্যস্থতা.নেটিভকন্টেন্টঅ্যাডম্যাপার মধ্যস্থতা।ইউনিফাইডনেটিভঅ্যাডম্যাপার

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

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

  • MobileAds ক্লাস থেকে পুরোনো ইনিশিয়ালাইজেশন মেথডগুলো সরিয়ে ফেলা হয়েছে।
  • AdRequest.Builder() ক্লাসের কিছু মেথড হয় সরিয়ে ফেলা হয়েছে অথবা RequestConfiguration ক্লাসে স্থানান্তর করা হয়েছে।
  • RewardedAd এবং InterstitialAd API-গুলো সকল ফুল-স্ক্রিন ফরম্যাটের সাথে সামঞ্জস্যপূর্ণ করার জন্য আপডেট করা হয়েছে।
  • কোরিলেটর বৈশিষ্ট্যগুলো সরিয়ে ফেলা হয়েছে।
শ্রেণী v19.5.0 এপিআই v20.0.0 এপিআই নোট
বিজ্ঞাপনের আকার getPortraitBanner AdSizeWithWidth() getPortraitAnchored AdaptiveBannerAdSize()
getLandscapeBanner AdSizeWithWidth() getLandscapeAnchored AdaptiveBannerAdSize()
getCurrentOrientation BannerAdSizeWithWidth() getCurrentOrientationAnchored AdaptiveBannerAdSize()
মোবাইল বিজ্ঞাপন initialize(Context, String) MobileAds.initialize(Context, OnInitializationComplete Listener) অ্যাপ আইডিটি এখন AndroidManifest.xml-এ সেট করা হয়েছে।
initialize(Context, String, MobileAds.Settings) initialize(Context, OnInitializationComplete Listener) সেটিংস ক্লাসটি অপ্রচলিত হয়ে গেছে।
getRewardedVideo AdInstance() অপসারণ করা হয়েছে এর পরিবর্তে রিওয়ার্ডেডঅ্যাড এপিআই ব্যবহার করুন।
অ্যাডলিসেনার onAdFailedToLoad(int) onAd FailedToLoad(LoadAdError)
onAdLeftApplication() অপসারণ করা হয়েছে ফুল-স্ক্রিন বিজ্ঞাপন ফরম্যাটগুলো AdListener-এর পরিবর্তে FullscreenContentCallback ব্যবহার করে, এবং FullscreenContentCallback-এ এর কোনো সমতুল্য মেথড নেই। মেথডটি AdListener থেকে সরিয়ে দেওয়া হয়েছে।
ভিডিও কন্ট্রোলার getAspectRatio() MediaContent.getAspectRatio()
প্রকাশকের বিজ্ঞাপন অনুরোধ লিঙ্গ পান() অপসারণ করা হয়েছে
জন্মদিন পান() অপসারণ করা হয়েছে
getNetworkExtras() অপসারণ করা হয়েছে
সেট ম্যানুয়াল ইমপ্রেশন সক্রিয়() অপসারণ করা হয়েছে
আপডেটকোরিলেটর() অপসারণ করা হয়েছে বিজ্ঞাপনের বিষয়বস্তু ফিল্টারিং দেখুন।
PublisherAdRequest.Builder জন্মদিন সেট করুন() অপসারণ করা হয়েছে
লিঙ্গ নির্ধারণ করুন() অপসারণ করা হয়েছে
setIdesignedForFamilies() অপসারণ করা হয়েছে নির্দেশিকা দেখুন।
addTestDevice() RequestConfiguration .Builder .setTestDeviceIds() টেস্ট বিজ্ঞাপন সক্ষম করুন দেখুন।
tagForChildDirectedTreatment() RequestConfiguration .Builder.setTagFor ChildDirectedTreatment() বিজ্ঞাপনের বিষয়বস্তু ফিল্টারিং দেখুন।
setTagFor UnderAgeOfConsent() RequestConfiguration .Builder.setTagFor UnderAgeOfConsent()
setMaxAdContentRating() RequestConfiguration .Builder .setMaxAdContentRating()
অ্যাডভিউ getMediationAdapter ক্লাসের নাম() ResponseInfo .getMediationAdapter ClassName() AdView getResponseInfo() মেথড ব্যবহার করে একটি ResponseInfo অবজেক্ট পাওয়া যায়।
নেটিভ অ্যাড অপশন setImageOrientation() setMediaAspectRatio()
ছবির অভিমুখ পান getMediaAspectRatio()
পুরস্কৃত বিজ্ঞাপন লোডঅ্যাড(বিজ্ঞাপন অনুরোধ, পুরস্কৃত বিজ্ঞাপন লোড কলব্যাক) RewardedAd.load(Context, String, AdRequest, RewardedAdLoadCallback) RewardedAd এখন অন্যান্য ফুল-স্ক্রিন ফরম্যাটের মতোই স্ট্যাটিক লোড পদ্ধতি ব্যবহার করে।
loadAd(PublisherAdRequest, RewardedAdLoadCallback) RewardedAd.load(Context, String, AdManagerAdRequest, RewardedAdLoadCallback)
isLoaded() অপসারণ করা হয়েছে স্ট্যাটিক লোড মেথডের কলব্যাকটি আগে থেকে লোড করা একটি বিজ্ঞাপন প্রদান করে।
দেখাও(অ্যাক্টিভিটি, রিওয়ার্ডেড অ্যাড কলব্যাক) দেখাও(অ্যাক্টিভিটি, অনইউজারআর্নডরিওয়ার্ডলিসেনার) এই প্রদর্শন পদ্ধতিটি বৃহত্তর পূর্ণ-পর্দা বিন্যাস নীতি অনুসরণ করে।
পুরস্কৃত বিজ্ঞাপন লোড কলব্যাক onRewardedAd FailedToLoad(int) onAd FailedToLoad(LoadAdError)
onRewardedAd লোড হতে ব্যর্থ হয়েছে (LoadAdError) onAd FailedToLoad(LoadAdError)
onRewardedAdLoaded() onAdLoaded(পুরস্কারপ্রাপ্ত বিজ্ঞাপন)
অ্যাপওপেনঅ্যাডলোডকলব্যাক onAppOpenAd FailedToLoad(int) onAd FailedToLoad(LoadAdError)
onAppOpenAd লোড হতে ব্যর্থ হয়েছে (LoadAdError) onAd FailedToLoad(LoadAdError)
onAppOpenAd লোড হয়েছে(AppOpenAd) onAdLoaded(AppOpenAd)
পুরস্কৃত ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড কলব্যাক onRewardedInterstitialAd FailedToLoad(int) onAd FailedToLoad(LoadAdError)
onRewardedInterstitialAd লোড হতে ব্যর্থ হয়েছে (LoadAdError) onAd FailedToLoad(LoadAdError)
onRewardedInterstitialAd Loaded(RewardedInterstitialad) onAd Loaded(RewardedInterstitialAd)
প্রকাশক ইন্টারস্টিশিয়াল বিজ্ঞাপন নতুন প্রকাশক ইন্টারস্টিশিয়াল বিজ্ঞাপন() InterstitialAd.load(Context, String, AdRequest, InterstitialAdLoadCallback) InterstitialAd এখন অন্যান্য ফুল-স্ক্রিন ফরম্যাটের মতোই স্ট্যাটিক লোড পদ্ধতি ব্যবহার করে।
setAdListener()
ডাইনামিকহাইটসার্চঅ্যাড অনুরোধ getNetworkExtras() অপসারণ করা হয়েছে NetworkExtras ক্লাসটি অপ্রচলিত হয়ে গেছে।
অ্যাডলোডার forContentAd() অপসারণ করা হয়েছে
forAppInstallAd() অপসারণ করা হয়েছে
withCorrelator() অপসারণ করা হয়েছে
getMediationAdapter ক্লাসের নাম() অপসারণ করা হয়েছে