আইকন অ্যাড হলো ছোট অ্যাপ আইকন, যা অপারেটিং সিস্টেমের ইউজার এক্সপেরিয়েন্সের পরিপূরক এবং লক স্ক্রিন ও শেয়ার স্ক্রিনের মতো বেশিরভাগ ওএস-স্তরের কার্যকলাপের সাথে ব্যবহারের জন্য নমনীয়। আপনি আইকন অ্যাডগুলো এককভাবে বা একাধিক গ্রুপে প্রদর্শন করতে পারেন। প্রতিটি অ্যাডে কিছু টেক্সট এবং স্ট্রিং এলিমেন্ট থাকে, যা রেন্ডার করার দায়িত্ব আপনার অ্যাপের। নিচের ছবিগুলোতে একটি অ্যাপ ফোল্ডারে প্রদর্শিত আইকন অ্যাড দেখানো হয়েছে:
এই নির্দেশিকাটি আপনাকে দেখাবে কীভাবে আইকন বিজ্ঞাপনের জন্য অনুরোধ করতে এবং তা প্রদর্শন করতে হয়।
পূর্বশর্ত
শুরু করার আগে, আপনার কাছে GMA Next-Gen SDK 0.8.0-alpha01 বা তার উচ্চতর সংস্করণ থাকতে হবে।
সর্বদা টেস্ট অ্যাড দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি ও পরীক্ষা করার সময়, লাইভ বা প্রোডাকশন অ্যাডের পরিবর্তে টেস্ট অ্যাড ব্যবহার করুন। টেস্ট অ্যাড ব্যবহার না করলে আপনার অ্যাকাউন্ট সাসপেন্ড হতে পারে।
টেস্ট অ্যাড পেতে হয় আপনার অ্যাড ইউনিটগুলো ব্যবহার করুন এবং টেস্ট ডিভাইসগুলো চালু করুন, অথবা অ্যান্ড্রয়েড আইকন অ্যাডের জন্য নিম্নলিখিত ডেডিকেটেড টেস্ট অ্যাড ইউনিট আইডিটি ব্যবহার করুন:
ca-app-pub-3940256099942544/1476272466
একটি আইকন বিজ্ঞাপন লোড করুন
আপনার আইকন বিজ্ঞাপন অনুরোধের সাথে একটি আইকন বিজ্ঞাপন লোড করুন এবং বিজ্ঞাপন লোড ইভেন্টগুলি পরিচালনা করুন:
কোটলিন
private fun loadIconAd() {
val request =
IconAdRequest.Builder(AD_UNIT_ID)
// The "AdChoices" badge is rendered at the top right corner of the icon ad
// if left unspecified.
.setAdChoicesPlacement(AdChoicesPlacement.BOTTOM_RIGHT)
// It is recommended to specify the placement of your icon ad
// to help Google optimize your icon ad performance.
.setIconAdPlacement(IconAdPlacement.BROWSER)
.build()
IconAd.load(
request,
object : AdLoadCallback<IconAd> {
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.w(Constant.TAG, "Icon ad failed to load: $adError")
showToast("Icon ad failed to load.")
}
override fun onAdLoaded(ad: IconAd) {
Log.d(Constant.TAG, "Icon ad loaded")
// Always call destroy() on ads on removal.
iconAd?.destroy()
iconAd = ad
setAdEventCallback(ad)
displayIconAd(ad)
}
},
)
}
জাভা
private void loadIconAd() {
IconAdRequest request =
new IconAdRequest.Builder(AD_UNIT_ID)
// The "AdChoices" badge is rendered at the top right corner of the icon ad
// if left unspecified.
.setAdChoicesPlacement(AdChoicesPlacement.BOTTOM_RIGHT)
// It is recommended to specify the placement of your icon ad
// to help Google optimize your icon ad performance.
.setIconAdPlacement(IconAdPlacement.BROWSER)
.build();
IconAd.load(
request,
new AdLoadCallback<IconAd>() {
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
Log.w(Constant.TAG, "Icon ad failed to load :" + adError);
showToast("Icon ad failed to load with error code: " + adError.getCode());
}
@Override
public void onAdLoaded(@NonNull IconAd ad) {
Log.d(Constant.TAG, "Icon ad loaded.");
// Always call destroy() on ads on removal.
if (iconAd != null) {
iconAd.destroy();
}
iconAd = ad;
setAdEventCallback(ad);
displayIconAd(ad);
}
});
}
একটি আইকন বিজ্ঞাপন ভিউ তৈরি করুন
আইকন অ্যাডের অ্যাসেটগুলোর রুট এলিমেন্ট হিসেবে অবশ্যই IconAdView ব্যবহার করতে হবে। আইকন অ্যাড ভিউ-এর ভেতরে আপনার অ্যাডের সমস্ত ভিজ্যুয়াল এলিমেন্ট রাখুন।
নিম্নলিখিত উদাহরণটি একটি আইকন বিজ্ঞাপনের জন্য ভিউ তৈরি করার লেআউট দেখায়:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.libraries.ads.mobile.sdk.iconad.IconAdView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/icon_ad_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#00FFC107"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/ad_badge"
android:width="15dp"
android:height="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFC107"
android:text="Ad"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<TextView
android:id="@+id/ad_headline"
android:textStyle="normal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:autoText="true"
android:inputType="text|textMultiLine"
android:textColor="#808080"
android:textSize="12sp" />
</LinearLayout>
<com.google.android.material.imageview.ShapeableImageView xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/ad_icon"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:background="@android:color/holo_green_light"
android:contentDescription="@string/content_description_icon_ad"
android:theme="@style/Theme.AppCompat.Light"
app:shapeAppearanceOverlay="@style/roundedCorners"
app:strokeColor="@null" />
<RatingBar
android:id="@+id/ad_stars"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:isIndicator="true"
android:numStars="5"
android:stepSize="0.5" />
<Button
android:id="@+id/ad_call_to_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:textSize="12sp" />
</LinearLayout>
</com.google.android.libraries.ads.mobile.sdk.iconad.IconAdView>
স্ক্রিনে আইকন বিজ্ঞাপনটি প্রদর্শন করুন
স্ক্রিনে আইকন বিজ্ঞাপনটি প্রদর্শন করতে, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:
আইকন অ্যাড ভিউটি ইনফ্লেট করুন এবং আপনার ভিউ হায়ারার্কিতে যোগ করুন।
প্রতিটি চাইল্ড ভিউতে সংশ্লিষ্ট আইকন এবং অ্যাসেট যুক্ত করুন।
নিম্নলিখিত উদাহরণটিতে স্ক্রিনে আইকন বিজ্ঞাপনটি প্রদর্শন করার পূর্ববর্তী ধাপগুলো দেখানো হয়েছে:
কোটলিন
val iconAdViewBinding = IconAdBinding.inflate(layoutInflater)
// Add the ad view to the active view hierarchy.
binding.iconAdContainer.addView(iconAdViewBinding.root)
val iconAdView = iconAdViewBinding.root
// Populate the view elements with their respective icon ad asset.
iconAdView.callToActionView = iconAdViewBinding.adCallToAction
iconAdView.headlineView = iconAdViewBinding.adHeadline
iconAdView.iconView = iconAdViewBinding.adIcon
iconAdView.starRatingView = iconAdViewBinding.adStars
জাভা
IconAdBinding iconAdViewBinding = IconAdBinding.inflate(getLayoutInflater());
// Add the ad view to the active view hierarchy.
binding.iconAdContainer.addView(iconAdViewBinding.getRoot());
IconAdView iconAdView = iconAdViewBinding.getRoot();
// Populate the view elements with their respective icon ad asset.
iconAdView.setCallToActionView(iconAdViewBinding.adCallToAction);
iconAdView.setHeadlineView(iconAdViewBinding.adHeadline);
iconAdView.setIconView(iconAdViewBinding.adIcon);
iconAdView.setStarRatingView(iconAdViewBinding.adStars);
আইকন বিজ্ঞাপনটিকে ক্লিকযোগ্য করুন
যখন registerIconAd() কল করা হয়, তখন GMA Next-Gen SDK ম্যাপ করা প্রতিটি অ্যাসেট ভিউয়ের জন্য ক্লিক লিসেনার রেজিস্টার করে। আইকন অ্যাড রেজিস্টার করার আগে, আপনার ভিউ হায়ারার্কিতে আইকন অ্যাড ভিউয়ের প্রোপার্টিগুলোকে তাদের সংশ্লিষ্ট ভিউয়ের সাথে ম্যাপ করুন:
কোটলিন
// Map each asset view property to the corresponding view in your view hierarchy.
iconAdViewBinding.adCallToAction.text = iconAd.callToAction
iconAdViewBinding.adHeadline.text = iconAd.headline
iconAdViewBinding.adIcon.setImageDrawable(iconAd.icon.drawable)
iconAd.starRating?.toFloat().also { value ->
if (value != null) {
iconAdViewBinding.adStars.rating = value
}
}
// Register the icon ad with the view presenting it.
iconAdView.registerIconAd(iconAd)
জাভা
// Map each asset view property to the corresponding view in your view hierarchy.
iconAdViewBinding.adCallToAction.setText(iconAd.getCallToAction());
iconAdViewBinding.adHeadline.setText(iconAd.getHeadline());
iconAdViewBinding.adIcon.setImageDrawable(iconAd.getIcon().getDrawable());
if (iconAd.getStarRating() != null) {
iconAdViewBinding.adStars.setRating(iconAd.getStarRating().floatValue());
}
// Register the icon ad with the view presenting it.
iconAdView.registerIconAd(iconAd);
ঐচ্ছিক: আইকন বিজ্ঞাপন ইভেন্ট কলব্যাক সেট করুন
আইকন বিজ্ঞাপনের লাইফসাইকেল ইভেন্টগুলো পরিচালনা করতে, ইভেন্ট কলব্যাক সেট করুন:
কোটলিন
iconAd.adEventCallback =
object : IconAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Icon ad showed full screen content.
}
override fun onAdDismissedFullScreenContent() {
// Icon ad dismissed full screen content.
}
override fun onAdFailedToShowFullScreenContent(
fullScreenContentError: FullScreenContentError
) {
// Icon ad failed to show full screen content.
}
override fun onAdImpression() {
// Icon ad recorded an impression.
}
override fun onAdClicked() {
// Icon ad recorded a click.
}
override fun onAdPaid(value: AdValue) {
// Icon ad estimated to have earned money.
}
}
জাভা
iconAd.setAdEventCallback(
new IconAdEventCallback() {
@Override
public void onAdShowedFullScreenContent() {
// Icon ad showed full screen content.
}
@Override
public void onAdDismissedFullScreenContent() {
// Icon ad dismissed full screen content.
}
@Override
public void onAdFailedToShowFullScreenContent(
@NonNull FullScreenContentError fullScreenContentError) {
// Icon ad failed to show full screen content.
}
@Override
public void onAdImpression() {
// Icon ad recorded an impression.
}
@Override
public void onAdClicked() {
// Icon ad recorded a click.
}
@Override
public void onAdPaid(@NonNull AdValue value) {
// Icon ad estimated to have earned money.
}
});
কর্মক্ষমতা অপ্টিমাইজ করুন
নিম্নলিখিত বিভাগগুলিতে আইকন বিজ্ঞাপনের পারফরম্যান্স অপ্টিমাইজ করার জন্য ঐচ্ছিক বাস্তবায়ন পদক্ষেপগুলি আলোচনা করা হয়েছে।
একাধিক বিজ্ঞাপন লোড করতে কোরিলেটর ব্যবহার করুন
একসাথে দেখানোর জন্য একাধিক আইকন বিজ্ঞাপন লোড করার সময়, লোড হওয়া বিজ্ঞাপনগুলো যেন অনন্য হয় তা নিশ্চিত করতে একই কোরিলেটর মান ব্যবহার করে ক্রমানুসারে অনুরোধ পাঠান। কোরিলেটরের মেয়াদ ১০ সেকেন্ড। সার্ভার ১০ সেকেন্ডের বেশি ব্যবধানে করা অনুরোধগুলোকে পারস্পরিক সম্পর্কযুক্ত বলে বিবেচনা করে না।
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে বিজ্ঞাপন অনুরোধে একটি কোরিলেটর মান সেট করতে হয়:
কোটলিন
val correlator = Correlator.generateCorrelator()
val request =
IconAdRequest.Builder("ca-app-pub-3940256099942544/1476272466")
.setCorrelator(correlator)
.build()
জাভা
Correlator correlator = Correlator.generateCorrelator();
IconAdRequest request =
new IconAdRequest.Builder("ca-app-pub-3940256099942544/1476272466")
.setCorrelator(correlator)
.build();
আইকন বিজ্ঞাপনের স্থান নির্ধারণ করুন
আপনার আইকন বিজ্ঞাপনের অবস্থান বুঝতে এবং এর পারফরম্যান্স অপ্টিমাইজ করতে গুগলকে সাহায্য করার জন্য, অনুরোধ করার সময়েই আপনি আইকন বিজ্ঞাপনগুলো কোথায় প্রদর্শন করতে চান তা নির্দিষ্ট করে দেওয়ার পরামর্শ দেওয়া হয়।
আপনার ব্যবহারের ক্ষেত্রের সাথে সবচেয়ে ঘনিষ্ঠভাবে মেলে এমন IconAdPlacement enum মানটি ব্যবহার করুন:
কোটলিন
val request =
IconAdRequest.Builder("ca-app-pub-3940256099942544/1476272466")
.setIconAdPlacement(IconAdPlacement.BROWSER)
.build()
জাভা
IconAdRequest request =
new IconAdRequest.Builder("ca-app-pub-3940256099942544/1476272466")
.setIconAdPlacement(IconAdPlacement.BROWSER)
.build();