ব্যানার বিজ্ঞাপন হল আয়তক্ষেত্রাকার বিজ্ঞাপন যা একটি অ্যাপের লেআউটের একটি অংশ দখল করে। ব্যবহারকারীরা অ্যাপের সাথে ইন্টারঅ্যাক্ট করার সময় তারা স্ক্রিনে থাকে, হয় স্ক্রিনের উপরে বা নীচে অ্যাঙ্কর করা হয় বা ব্যবহারকারীর স্ক্রোল করার সাথে সাথে সামগ্রীর সাথে ইনলাইন থাকে। ব্যানার বিজ্ঞাপন একটি নির্দিষ্ট সময়ের পরে স্বয়ংক্রিয়ভাবে রিফ্রেশ করতে পারে। আরও তথ্যের জন্য ব্যানার বিজ্ঞাপনের ওভারভিউ দেখুন।
এই নির্দেশিকা আপনাকে দেখায় কিভাবে অ্যাঙ্কর করা অভিযোজিত ব্যানার বিজ্ঞাপন দিয়ে শুরু করতে হয়, যা আপনার নির্দিষ্ট করা বিজ্ঞাপনের প্রস্থ ব্যবহার করে প্রতিটি ডিভাইসের জন্য বিজ্ঞাপনের আকার অপ্টিমাইজ করে কর্মক্ষমতা বাড়ায়।
অ্যাঙ্কর করা অভিযোজিত ব্যানার বিজ্ঞাপনগুলি নিয়মিত ফিক্সড সাইজের বিজ্ঞাপনের পরিবর্তে নির্দিষ্ট আকৃতির অনুপাতের বিজ্ঞাপন। আকৃতির অনুপাত 320x50 শিল্প মানের অনুরূপ। একবার আপনি উপলব্ধ সম্পূর্ণ প্রস্থ উল্লেখ করলে, এটি আপনাকে সেই প্রস্থের জন্য সর্বোত্তম উচ্চতা সহ একটি বিজ্ঞাপন প্রদান করবে। একই ডিভাইসের অনুরোধ জুড়ে সর্বোত্তম উচ্চতা পরিবর্তিত হয় না এবং বিজ্ঞাপনটি রিফ্রেশ করার সময় আশেপাশের দৃশ্যগুলি সরানোর প্রয়োজন হয় না।
পূর্বশর্ত
- শুরু করুন গাইডটি সম্পূর্ণ করুন।
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি এবং পরীক্ষা করার সময়, নিশ্চিত করুন যে আপনি লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করছেন। এটি করতে ব্যর্থ হলে আপনার অ্যাকাউন্ট স্থগিত হতে পারে।
টেস্ট বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায় হল অ্যান্ড্রয়েড ব্যানারের জন্য আমাদের ডেডিকেটেড টেস্ট বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা:
ca-app-pub-3940256099942544/9214589741
প্রতিটি অনুরোধের জন্য পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য এটি বিশেষভাবে কনফিগার করা হয়েছে এবং আপনি কোডিং, পরীক্ষা এবং ডিবাগ করার সময় এটি আপনার নিজের অ্যাপে ব্যবহার করতে পারেন৷ আপনার অ্যাপ প্রকাশ করার আগে শুধু নিশ্চিত করুন যে আপনি এটিকে আপনার নিজের বিজ্ঞাপন ইউনিট আইডি দিয়ে প্রতিস্থাপন করেছেন।
মোবাইল বিজ্ঞাপন SDK-এর পরীক্ষার বিজ্ঞাপনগুলি কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, পরীক্ষা বিজ্ঞাপনগুলি দেখুন।
লেআউটে AdView যোগ করুন
আপনি বিজ্ঞাপনের আকার নির্ধারণ করে একটি ব্যানার তৈরি করুন। নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
একটি পূর্ণ-প্রস্থ নোঙ্গরযুক্ত অভিযোজিত বিজ্ঞাপন আকার তৈরি করুন:
জাভা
// Get the ad size with screen width. public AdSize getAdSize() { DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); int adWidthPixels = displayMetrics.widthPixels; if (VERSION.SDK_INT >= VERSION_CODES.R) { WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics(); adWidthPixels = windowMetrics.getBounds().width(); } float density = displayMetrics.density; int adWidth = (int) (adWidthPixels / density); return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth); }
কোটলিন
// Get the ad size with screen width. private val adSize: AdSize get() { val displayMetrics = resources.displayMetrics val adWidthPixels = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics windowMetrics.bounds.width() } else { displayMetrics.widthPixels } val density = displayMetrics.density val adWidth = (adWidthPixels / density).toInt() return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth) }
বিজ্ঞাপনের আকার ব্যবহার করে একটি
AdView
তৈরি করুন এবং এটি আপনার অ্যাপের লেআউটে যোগ করুন:জাভা
// Create a new ad view. adView = new AdView(this); adView.setAdUnitId(AD_UNIT_ID); adView.setAdSize(getAdSize()); // Replace ad container with new ad view. adContainerView.removeAllViews(); adContainerView.addView(adView);
কোটলিন
// Create a new ad view. val adView = AdView(this) adView.adUnitId = AD_UNIT_ID adView.setAdSize(adSize) this.adView = adView // Replace ad container with new ad view. binding.adViewContainer.removeAllViews() binding.adViewContainer.addView(adView)
একটি বিজ্ঞাপন লোড করুন
AdView
চালু হয়ে গেলে, পরবর্তী ধাপ হল একটি বিজ্ঞাপন লোড করা। এটি AdView
ক্লাসে loadAd()
পদ্ধতির মাধ্যমে করা হয়েছে। এটি একটি AdRequest
প্যারামিটার লাগে, যেটিতে রানটাইম তথ্য থাকে, যেমন টার্গেটিং তথ্য, একটি একক বিজ্ঞাপন অনুরোধ সম্পর্কে।
এখানে একটি উদাহরণ রয়েছে যা দেখায় কিভাবে একটি বিজ্ঞাপন লোড করতে হয়:
জাভা
// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
কোটলিন
// Start loading the ad in the background.
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)
সফল হলে, আপনার অ্যাপটি ব্যানার বিজ্ঞাপন প্রদর্শনের জন্য প্রস্তুত।
একটি বিজ্ঞাপন রিফ্রেশ করুন
আপনি যদি রিফ্রেশ করার জন্য আপনার বিজ্ঞাপন ইউনিট কনফিগার করেন, বিজ্ঞাপনটি লোড হতে ব্যর্থ হলে আপনাকে অন্য বিজ্ঞাপনের অনুরোধ করতে হবে না। Google মোবাইল বিজ্ঞাপন SDK আপনার AdMob UI-তে নির্দিষ্ট করা যেকোনো রিফ্রেশ রেটকে সম্মান করে। আপনি যদি রিফ্রেশ সক্ষম না করে থাকেন তবে একটি নতুন অনুরোধ জারি করুন৷ বিজ্ঞাপন ইউনিট রিফ্রেশ সম্পর্কে আরও বিশদ বিবরণের জন্য, যেমন একটি রিফ্রেশ রেট সেট করা, ব্যানার বিজ্ঞাপনের জন্য স্বয়ংক্রিয় রিফ্রেশ ব্যবহার করুন দেখুন।
বিজ্ঞাপন ঘটনা
আপনি বিজ্ঞাপনের জীবনচক্রের বেশ কয়েকটি ইভেন্ট শুনতে পারেন, যার মধ্যে লোডিং, বিজ্ঞাপনের ছাপ এবং ক্লিক, সেইসাথে বিজ্ঞাপন খোলা এবং বন্ধ ইভেন্টগুলি অন্তর্ভুক্ত রয়েছে। ব্যানার লোড করার আগে কলব্যাক সেট করার পরামর্শ দেওয়া হয়।জাভা
adView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
কোটলিন
adView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
AdListener
এর প্রতিটি ওভাররিডেবল পদ্ধতি একটি বিজ্ঞাপনের জীবনচক্রের একটি ইভেন্টের সাথে মিলে যায়।
ওভাররিডেবল পদ্ধতি | |
---|---|
onAdClicked() | একটি বিজ্ঞাপনের জন্য একটি ক্লিক রেকর্ড করা হলে onAdClicked() পদ্ধতিটি চালু করা হয়। |
onAdClosed() | onAdClosed() পদ্ধতিটি চালু করা হয় যখন একজন ব্যবহারকারী বিজ্ঞাপনের গন্তব্য URL দেখার পরে অ্যাপে ফিরে আসেন। আপনার অ্যাপ স্থগিত ক্রিয়াকলাপগুলি পুনরায় শুরু করতে বা নিজেকে ইন্টারঅ্যাকশনের জন্য প্রস্তুত করতে প্রয়োজনীয় অন্য কোনও কাজ করতে এটি ব্যবহার করতে পারে। Android API ডেমো অ্যাপে বিজ্ঞাপন শ্রোতা পদ্ধতি বাস্তবায়নের জন্য AdMob AdListener উদাহরণ দেখুন। |
onAdFailedToLoad() | onAdFailedToLoad() পদ্ধতিটি একমাত্র যা একটি প্যারামিটার অন্তর্ভুক্ত করে। LoadAdError টাইপের ত্রুটির প্যারামিটার বর্ণনা করে কী ত্রুটি ঘটেছে। আরও তথ্যের জন্য, ডিবাগিং অ্যাড লোড ত্রুটি ডকুমেন্টেশন পড়ুন। |
onAdImpression() | onAdImpression() পদ্ধতিটি চালু করা হয় যখন একটি বিজ্ঞাপনের জন্য একটি ইম্প্রেশন রেকর্ড করা হয়। |
onAdLoaded() | একটি বিজ্ঞাপন লোড করা শেষ হলে onAdLoaded() পদ্ধতিটি কার্যকর করা হয়। আপনি যদি নিশ্চিত না হন যে একটি বিজ্ঞাপন লোড হবে না হওয়া পর্যন্ত আপনার কার্যকলাপ বা খণ্ডে AdView যোগ করতে বিলম্ব করতে চান, উদাহরণস্বরূপ, আপনি এখানে তা করতে পারেন। |
onAdOpened() | onAdOpened() পদ্ধতিটি চালু করা হয় যখন একটি বিজ্ঞাপন একটি ওভারলে খোলে যা স্ক্রীনকে কভার করে। |
ভিডিও বিজ্ঞাপনের জন্য হার্ডওয়্যার ত্বরণ
আপনার ব্যানার বিজ্ঞাপন দৃশ্যে ভিডিও বিজ্ঞাপনগুলি সফলভাবে দেখানোর জন্য, হার্ডওয়্যার ত্বরণ সক্ষম করতে হবে।
হার্ডওয়্যার ত্বরণ ডিফল্টরূপে সক্ষম থাকে, তবে কিছু অ্যাপ এটিকে নিষ্ক্রিয় করতে বেছে নিতে পারে। এটি আপনার অ্যাপে প্রযোজ্য হলে, আমরা বিজ্ঞাপন ব্যবহার করে এমন Activity
ক্লাসের জন্য হার্ডওয়্যার ত্বরণ সক্ষম করার পরামর্শ দিই।
হার্ডওয়্যার ত্বরণ সক্ষম করা হচ্ছে
যদি আপনার অ্যাপটি বিশ্বব্যাপী হার্ডওয়্যার ত্বরণ চালু করার সাথে সঠিকভাবে আচরণ না করে, তাহলে আপনি পৃথক কার্যকলাপের জন্যও এটি নিয়ন্ত্রণ করতে পারেন। হার্ডওয়্যার ত্বরণ সক্ষম বা অক্ষম করতে, আপনি আপনার AndroidManifest.xml
এ <application>
এবং <activity>
উপাদানগুলির জন্য android:hardwareAccelerated
বৈশিষ্ট্যটি ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণটি সম্পূর্ণ অ্যাপের জন্য হার্ডওয়্যার ত্বরণ সক্ষম করে কিন্তু একটি কার্যকলাপের জন্য এটি অক্ষম করে:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
হার্ডওয়্যার ত্বরণ নিয়ন্ত্রণের বিকল্পগুলি সম্পর্কে আরও তথ্যের জন্য হার্ডওয়্যার ত্বরণ নির্দেশিকা দেখুন। মনে রাখবেন যে ক্রিয়াকলাপটি অক্ষম থাকলে হার্ডওয়্যার ত্বরণের জন্য পৃথক বিজ্ঞাপন দৃশ্যগুলি সক্ষম করা যাবে না, তাই ক্রিয়াকলাপে অবশ্যই হার্ডওয়্যার ত্বরণ সক্ষম থাকতে হবে।
অতিরিক্ত সম্পদ
গিটহাবের উদাহরণ
পরবর্তী পদক্ষেপ
সংকোচনযোগ্য ব্যানার
সংকোচনযোগ্য ব্যানার বিজ্ঞাপনগুলি হল ব্যানার বিজ্ঞাপন যা প্রাথমিকভাবে একটি বৃহত্তর ওভারলে হিসাবে উপস্থাপিত হয়, একটি বোতাম সহ বিজ্ঞাপনটিকে ছোট আকারে ভেঙে ফেলা হয়। আপনার কর্মক্ষমতা আরও অপ্টিমাইজ করতে এটি ব্যবহার বিবেচনা করুন. আরও বিশদ বিবরণের জন্য সঙ্কুচিত ব্যানার বিজ্ঞাপনগুলি দেখুন৷
ইনলাইন অভিযোজিত ব্যানার
নোঙর করা অভিযোজিত ব্যানারের তুলনায় ইনলাইন অভিযোজিত ব্যানার বড়, লম্বা ব্যানার। এগুলি পরিবর্তনশীল উচ্চতার, এবং ডিভাইসের পর্দার মতো লম্বা হতে পারে৷ স্ক্রোলযোগ্য বিষয়বস্তুতে ব্যানার বিজ্ঞাপন রাখে এমন অ্যাপগুলির জন্য অ্যাঙ্কর করা অভিযোজিত ব্যানার বিজ্ঞাপনগুলির উপর ইনলাইন অভিযোজিত ব্যানারগুলি সুপারিশ করা হয়৷ আরও বিস্তারিত জানার জন্য ইনলাইন অভিযোজিত ব্যানার দেখুন।