ইন্টারস্টিশিয়াল বিজ্ঞাপন হলো পূর্ণ-স্ক্রিনের বিজ্ঞাপন যা মূল অ্যাপের ইন্টারফেসকে ঢেকে দেয়। এগুলি সাধারণত অ্যাপের কার্যপ্রবাহের স্বাভাবিক পরিবর্তনের মুহূর্তে দেখানো হয়, যেমন বিভিন্ন কার্যকলাপের মাঝে বা গেমের দুটি লেভেলের মধ্যবর্তী বিরতিতে। যখন কোনো অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখায়, তখন ব্যবহারকারীর কাছে দুটি বিকল্প থাকে: হয় বিজ্ঞাপনটিতে ট্যাপ করে তার গন্তব্যে চলে যাওয়া, অথবা সেটি বন্ধ করে অ্যাপে ফিরে আসা।
এই নির্দেশিকায় একটি অ্যান্ড্রয়েড অ্যাপে কীভাবে ইন্টারস্টিশিয়াল বিজ্ঞাপন যুক্ত করতে হয় তা ব্যাখ্যা করা হয়েছে।
পূর্বশর্ত
সর্বদা টেস্ট অ্যাড দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি ও পরীক্ষা করার সময়, লাইভ বা প্রোডাকশন অ্যাডের পরিবর্তে টেস্ট অ্যাড ব্যবহার করুন। এটি করতে ব্যর্থ হলে আপনার অ্যাকাউন্ট সাসপেন্ড হতে পারে।
টেস্ট বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায় হলো অ্যান্ড্রয়েড ইন্টারস্টিশিয়ালের জন্য আমাদের নির্দিষ্ট টেস্ট অ্যাড ইউনিট আইডি ব্যবহার করা:
/21775744923/example/interstitial
প্রতিটি অনুরোধের জন্য পরীক্ষামূলক বিজ্ঞাপন দেখানোর জন্য এটি বিশেষভাবে কনফিগার করা হয়েছে, এবং কোডিং, টেস্টিং ও ডিবাগিং করার সময় আপনি আপনার নিজের অ্যাপে এটি নির্দ্বিধায় ব্যবহার করতে পারেন। শুধু আপনার অ্যাপটি প্রকাশ করার আগে নিশ্চিত হয়ে নেবেন যে আপনি এটিকে আপনার নিজের অ্যাড ইউনিট আইডি দিয়ে প্রতিস্থাপন করেছেন।
GMA Next-Gen SDK টেস্ট অ্যাড সম্পর্কে বিস্তারিত জানতে, ‘টেস্ট অ্যাড সক্ষম করুন’ দেখুন।
একটি বিজ্ঞাপন লোড করুন
বিজ্ঞাপন লোড করার জন্য, GMA Next-Gen SDK নিম্নলিখিত সুবিধাগুলো প্রদান করে:
একক বিজ্ঞাপন লোডিং এপিআই দিয়ে লোড করুন।
অ্যাড প্রি-লোডিং এপিআই (API) ব্যবহার করে লোড করুন, যা ম্যানুয়াল অ্যাড লোডিং এবং ক্যাশিংয়ের প্রয়োজনীয়তা দূর করে।
একক বিজ্ঞাপন লোডিং এপিআই দিয়ে লোড করুন
নিচের উদাহরণটি আপনাকে দেখাবে কীভাবে একটি একক বিজ্ঞাপন লোড করতে হয়:
কোটলিন
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.MobileAds
class InterstitialActivity : Activity() {
private var interstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Load ads after you initialize GMA Next-Gen SDK.
InterstitialAd.load(
AdRequest.Builder(AD_UNIT_ID).build(),
object : AdLoadCallback<InterstitialAd> {
override fun onAdLoaded(ad: InterstitialAd) {
// Interstitial ad loaded.
interstitialAd = ad
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Interstitial ad failed to load.
interstitialAd = null
}
},
)
}
companion object {
// Sample interstitial ad unit ID.
const val AD_UNIT_ID = "/21775744923/example/interstitial"
}
}
জাভা
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
class InterstitialActivity extends Activity {
// Sample interstitial ad unit ID.
private static final String AD_UNIT_ID = "/21775744923/example/interstitial";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load ads after you initialize GMA Next-Gen SDK.
InterstitialAd.load(
new AdRequest.Builder(AD_UNIT_ID).build(),
new AdLoadCallback<InterstitialAd>() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// Interstitial ad loaded.
AdLoadCallback.super.onAdLoaded(interstitialAd);
InterstitialActivity.this.interstitialAd = interstitialAd;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
// Interstitial ad failed to load.
AdLoadCallback.super.onAdFailedToLoad(adError);
interstitialAd = null;
}
}
);
}
}
বিজ্ঞাপন প্রি-লোডিং এপিআই দিয়ে লোড করুন
প্রি-লোডিং শুরু করতে, নিম্নলিখিতগুলি করুন:
একটি বিজ্ঞাপন অনুরোধের মাধ্যমে প্রিলোড কনফিগারেশন শুরু করুন।
আপনার অ্যাড ইউনিট আইডি এবং প্রিলোড কনফিগারেশন ব্যবহার করে ইন্টারস্টিশিয়াল বিজ্ঞাপনের জন্য প্রিলোডারটি চালু করুন:
কোটলিন
private fun startPreloading(adUnitId: String) {
val adRequest = AdRequest.Builder(adUnitId).build()
val preloadConfig = PreloadConfiguration(adRequest)
InterstitialAdPreloader.start(adUnitId, preloadConfig)
}
জাভা
private void startPreloading(String adUnitId) {
AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest);
InterstitialAdPreloader.start(adUnitId, preloadConfig);
}
আপনি বিজ্ঞাপন দেখানোর সাথে সাথে সেগুলো ক্রমাগত উপলব্ধ হতে থাকে। নিচের উদাহরণটি প্রি-লোডার থেকে একটি বিজ্ঞাপনের জন্য পোল করে:
কোটলিন
// Polling returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd(adUnitId)
জাভা
// Polling returns the next available ad and loads another ad in the background.
final InterstitialAd ad = InterstitialAdPreloader.pollAd(adUnitId);
InterstitialAdEventCallback সেট করুন
` InterstitialAdEventCallback আপনার InterstitialAd প্রদর্শনের সাথে সম্পর্কিত ইভেন্টগুলি পরিচালনা করে। ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখানোর আগে, কলব্যাকটি সেট করতে ভুলবেন না:
কোটলিন
// Listen for ad events.
interstitialAd?.adEventCallback =
object : InterstitialAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Interstitial ad did show.
}
override fun onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
interstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(
fullScreenContentError: FullScreenContentError
) {
// Interstitial ad failed to show.
interstitialAd = null
}
override fun onAdImpression() {
// Interstitial ad did record an impression.
}
override fun onAdClicked() {
// Interstitial ad did record a click.
}
}
জাভা
// Listen for ad events.
interstitialAd.setAdEventCallback(
new InterstitialAdEventCallback() {
@Override
public void onAdShowedFullScreenContent() {
// Interstitial ad did show.
InterstitialAdEventCallback.super.onAdShowedFullScreenContent();
}
@Override
public void onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
InterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
interstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(
@NonNull FullScreenContentError fullScreenContentError) {
// Interstitial ad failed to show.
InterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
fullScreenContentError);
initerstitialAd = null;
}
@Override
public void onAdImpression() {
// Interstitial ad did record an impression.
InterstitialAdEventCallback.super.onAdImpression();
}
@Override
public void onAdClicked() {
// Interstitial ad did record a click.
InterstitialAdEventCallback.super.onAdClicked();
}
}
);
বিজ্ঞাপনটি দেখান
মধ্যবর্তী বিজ্ঞাপন দেখানোর জন্য show() মেথডটি ব্যবহার করুন।
কোটলিন
// Show the ad.
interstitialAd?.show(this@InterstitialActivity)
জাভা
// Show the ad.
interstitialAd.show(InterstitialActivity.this);
কিছু সর্বোত্তম অনুশীলন
- আপনার অ্যাপের জন্য ইন্টারস্টিশিয়াল বিজ্ঞাপন সঠিক ধরনের বিজ্ঞাপন কিনা, তা বিবেচনা করুন।
- যেসব অ্যাপে স্বাভাবিক পরিবর্তনের সুযোগ থাকে, সেখানে ইন্টারস্টিশিয়াল বিজ্ঞাপন সবচেয়ে ভালো কাজ করে। অ্যাপের মধ্যে কোনো কাজ শেষ হওয়া, যেমন একটি ছবি শেয়ার করা বা গেমের একটি লেভেল সম্পূর্ণ করা, এমন একটি মুহূর্ত তৈরি করে। আপনার অ্যাপের কার্যপ্রবাহের কোন কোন পর্যায়ে আপনি ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখাবেন এবং ব্যবহারকারী কীভাবে প্রতিক্রিয়া জানাতে পারেন, তা অবশ্যই বিবেচনা করুন।
- মধ্যবর্তী বিজ্ঞাপন দেখানোর সময় কাজটি থামিয়ে রাখতে মনে রাখবেন।
- বিভিন্ন ধরণের ইন্টারস্টিশিয়াল বিজ্ঞাপন রয়েছে: টেক্সট, ছবি, ভিডিও এবং আরও অনেক কিছু। এটা নিশ্চিত করা গুরুত্বপূর্ণ যে, যখন আপনার অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করে, তখন এটি যেন কিছু রিসোর্সের ব্যবহারও স্থগিত রাখে, যাতে বিজ্ঞাপনটি সেগুলোর সুবিধা নিতে পারে। উদাহরণস্বরূপ, যখন আপনি একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখানোর সিদ্ধান্ত নেবেন, তখন আপনার অ্যাপ থেকে উৎপাদিত যেকোনো অডিও আউটপুট অবশ্যই থামিয়ে দেবেন।
- লোড করার জন্য পর্যাপ্ত সময় দিন।
- যেমন সঠিক সময়ে ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখানো নিশ্চিত করা জরুরি, তেমনই ব্যবহারকারীকে যেন সেগুলোর লোড হওয়ার জন্য অপেক্ষা করতে না হয়, সেটাও নিশ্চিত করা জরুরি।
show()কল করার আগেload()কল করে বিজ্ঞাপনটি আগে থেকেই লোড করে রাখলে, এটি নিশ্চিত করা যায় যে বিজ্ঞাপনটি দেখানোর সময় আপনার অ্যাপে একটি সম্পূর্ণ লোড হওয়া ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রস্তুত থাকবে। - ব্যবহারকারীকে বিজ্ঞাপন দিয়ে ভারাক্রান্ত করবেন না।
- আপনার অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনের সংখ্যা বাড়ানো আয় বাড়ানোর একটি দুর্দান্ত উপায় বলে মনে হলেও, এটি ব্যবহারকারীর অভিজ্ঞতাকে খারাপ করতে পারে এবং ক্লিকথ্রু রেট কমিয়ে দিতে পারে। নিশ্চিত করুন যে ব্যবহারকারীরা যেন এত ঘন ঘন বাধাগ্রস্ত না হন যে তারা আপনার অ্যাপটি ব্যবহার করা আর উপভোগ করতে না পারেন।
উদাহরণ
GMA Next-Gen SDK এর ব্যবহার প্রদর্শনকারী উদাহরণ অ্যাপটি ডাউনলোড করে চালান।