পুরস্কার প্রদানকারী বিজ্ঞাপন ব্যবহারকারীদের ভিডিও বিজ্ঞাপন, খেলার যোগ্য বিজ্ঞাপন এবং সমীক্ষার সাথে ইন্টার্যাক্ট করার জন্য অ্যাপ-মধ্যস্থ আইটেম দেয়। বিস্তারিত জানতে, পুরস্কার প্রদানকারী বিজ্ঞাপন ইউনিটের ওভারভিউ দেখুন।
উপস্থাপনার লেটেন্সি কমাতে এবং ব্যবহারকারী পুরস্কার জেতার সময় বিজ্ঞাপন উপলভ্য আছে কিনা তা নিশ্চিত করতে, Google Mobile Ads SDK for React Native ব্যাকগ্রাউন্ড লোডিং, ক্যাশিং এবং বাফার রিপ্লেনিশমেন্ট ম্যানেজ করার জন্য বিজ্ঞাপন প্রিলোড করার সুবিধা ব্যবহার করে।
এই নির্দেশিকা থেকে আপনি জানতে পারবেন যে কীভাবে React Native অ্যাপে পুরস্কার প্রদানকারী বিজ্ঞাপন ইন্টিগ্রেট করতে হয়।
পূর্বশর্ত
চালিয়ে যাওয়ার আগে, নিম্নলিখিত কাজগুলি করুন:
- Google Mobile Ads SDK for React Native সেট-আপ করুন।
- টেস্ট বিজ্ঞাপন চালু করুন এবং নিম্নলিখিত টেস্ট বিজ্ঞাপন ইউনিট ব্যবহার করুন:
Android
ca-app-pub-3940256099942544/5224354917
iOS
ca-app-pub-3940256099942544/1712485313
বিজ্ঞাপন প্রিলোড করা সম্পর্কে বোঝা
Google Mobile Ads SDK for React Native-এ বিজ্ঞাপন প্রিলোড করার সুবিধা বিজ্ঞাপন লোড ও ক্যাশ করার প্রসেস অটোমেট করে।
বিজ্ঞাপন প্রিলোড করার সুবিধাগুলি হল:
- রেফারেন্স ম্যানেজমেন্ট: বিজ্ঞাপন দেখানো না হওয়া পর্যন্ত রেফারেন্স বজায় রাখে।
- অটোমেটিক রিলোড করা: ক্যাশে থেকে কোনও বিজ্ঞাপন ফিরিয়ে আনা হলে নতুন বিজ্ঞাপন লোড করে।
- ম্যানেজ করা রিট্রাই: কোনও বিজ্ঞাপন লোড না হলে নতুন বিজ্ঞাপন লোড করে।
- মেয়াদ শেষ হওয়া ম্যানেজ করা: মেয়াদ শেষ হওয়ার আগে বিজ্ঞাপন রিফ্রেশ করে।
- ক্যাশ অপ্টিমাইজেশন: সর্বোচ্চ অগ্রাধিকারের বিজ্ঞাপন ডেলিভার করার জন্য ক্যাশ অর্ডার অপ্টিমাইজ করে।
ম্যানুয়ালি বিজ্ঞাপন লোড করতে, পুরস্কার প্রদানকারী একটি বিজ্ঞাপন লোড করুন দেখুন।
প্রিলোড করা শুরু করুন
বিজ্ঞাপন প্রিলোড করা শুরু করতে,
RewardedAdPreloader.start
মেথড কল করুন এবং বাফার স্টেট পরিবর্তন মনিটর করতে আপনার preloadId ভ্যালু, কনফিগারেশন সেটিংস ও ইভেন্ট
কলব্যাক পাস করুন:
export function startRewardedAdPreloader(
adUnitId: string,
preloadId: string,
customPreloadCallback?: PreloadCallback,
): boolean {
const started = RewardedAdPreloader.start(
preloadId,
{
request: {adUnitId},
bufferSize: 2,
},
{
// Called when an ad is preloaded into the buffer.
onAdPreloaded: (event) => {
console.log(`Rewarded ad preloaded for ${event.preloadId}`);
customPreloadCallback?.onAdPreloaded?.(event);
},
// Called when an ad fails to preload.
onAdFailedToPreload: (error: LoadAdError) => {
console.error('Failed to preload rewarded ad:', error.message);
customPreloadCallback?.onAdFailedToPreload?.(error);
},
// Called when all preloaded ads in the buffer have been shown.
onAdsExhausted: () => {
console.log('Rewarded ad buffer exhausted.');
customPreloadCallback?.onAdsExhausted?.();
},
},
);
return started;
}
প্রিলোড আইডি হল একটি স্ট্রিং যা অনন্যভাবে একটি বিজ্ঞাপন প্রিলোডিং কনফিগারেশন শনাক্ত করে। আপনার অ্যাপে একটি প্রিলোডিং কনফিগারেশনের জন্য বিজ্ঞাপন ইউনিট আইডি ব্যবহার করলে, আপনি সেই বিজ্ঞাপন ইউনিট আইডিকে প্রিলোড আইডি হিসেবে ব্যবহার করতে পারবেন। আপনার অ্যাপে একই বিজ্ঞাপন ইউনিট আইডির জন্য একাধিক প্রিলোডার প্রয়োজন হলে, প্রতিটি প্রিলোড আইডির জন্য আলাদা স্ট্রিং পাস করুন।
আপনার অ্যাপ বাফার থেকে প্রিলোড করা বিজ্ঞাপন পোল করলে, Google Mobile Ads SDK for React Native
বাফার রিফিল করার জন্য ব্যাকগ্রাউন্ডে রিপ্লেসমেন্ট বিজ্ঞাপনের অনুরোধ করে। বাফারে কোনও
প্রিলোড করা বিজ্ঞাপন না থাকলে, Google Mobile Ads SDK for React Native,
onAdsExhausted কল করে।
প্রিলোড ক্যাশে সীমা
Google Mobile Ads SDK for React Native সমস্ত বিজ্ঞাপন ইউনিট এবং প্রিলোড আইডি জুড়ে প্রিলোড করা বিজ্ঞাপনের মোট সংখ্যার উপর অ্যাপ-ব্যাপী সীমা প্রয়োগ করে:
- ডিফল্ট সীমা: Google মেমরিতে সর্বাধিক ছয়টি প্রিলোড করা বিজ্ঞাপন রাখে। এই সীমা সব ফর্ম্যাট ও প্রিলোড আইডি জুড়ে শেয়ার করা হয়।
- সাজেস্ট করা বাফার সাইজ: প্রতিটি প্রিলোড আইডির জন্য দুটি।
আপনার অ্যাপ যদি অ্যাপ-ব্যাপী সীমায় পৌঁছে যায়, তাহলে আগে থেকে লোড করা বিজ্ঞাপনের জন্য ব্যাকগ্রাউন্ড অনুরোধ পজ হয়ে যায়, যতক্ষণ না পর্যন্ত ক্যাশে থেকে বিদ্যমান বিজ্ঞাপনগুলি পোল করা বা ধ্বংস করা হয়। এছাড়াও, স্ক্রিনে ফুল-স্ক্রিন বিজ্ঞাপন দেখানো হলে প্রিলোড করা সাময়িকভাবে পজ করা হয়।
পোল করুন এবং বিজ্ঞাপনটি দেখান
বিজ্ঞাপন দেখানোর আগে,
RewardedAdPreloader.isAdAvailable
মেথড কল করে বিজ্ঞাপন উপলভ্য আছে কিনা তা যাচাই করুন। বিজ্ঞাপন ফিরিয়ে আনতে,
RewardedAdPreloader.pollAd মেথড কল করুন।
বিজ্ঞাপন বাতিল করা বা ডিসপ্লে না হওয়ার মতো প্রেজেন্টেশন ইভেন্ট শুনতে,
show পদ্ধতি কল করার আগে বিজ্ঞাপন ইনস্ট্যান্সে
adEventCallback প্রপার্টি সেট করুন:
নিম্নলিখিত উদাহরণটি বিজ্ঞাপনের উপলভ্যতা চেক করে এবং বিজ্ঞাপন দেখানোর আগে প্রেজেন্টেশন ইভেন্ট শোনে:
export function showPreloadedRewardedAd(
preloadId: string,
onRewardEarned: (reward: Reward) => void,
customAdEventCallback?: FullScreenAdEventCallback,
) {
if (!RewardedAdPreloader.isAdAvailable(preloadId)) {
console.log('No preloaded rewarded ad available right now.');
return;
}
const ad = RewardedAdPreloader.pollAd(preloadId);
if (!ad) {
return;
}
ad.adEventCallback = {
// Called when the ad is presented on screen.
onAdShowedFullScreenContent: () => {
console.log('Preloaded rewarded ad showed full screen content.');
customAdEventCallback?.onAdShowedFullScreenContent?.();
},
// Called when the ad is closed by the user.
onAdDismissedFullScreenContent: () => {
console.log('Preloaded rewarded ad dismissed full screen content.');
customAdEventCallback?.onAdDismissedFullScreenContent?.();
ad.destroy();
},
// Called when presentation fails.
onAdFailedToShowFullScreenContent: (error) => {
console.error('Failed to show preloaded rewarded ad:', error);
customAdEventCallback?.onAdFailedToShowFullScreenContent?.(error);
ad.destroy();
},
// Called when an impression is recorded.
onAdImpression: () => {
console.log('Preloaded rewarded ad recorded an impression.');
customAdEventCallback?.onAdImpression?.();
},
// Called when the user taps the ad.
onAdClicked: () => {
console.log('Preloaded rewarded ad was clicked.');
customAdEventCallback?.onAdClicked?.();
},
// Called when the ad is estimated to have earned money.
onAdPaid: (adValue) => {
console.log(
`Preloaded rewarded ad paid: ${adValue.amountMicros}` +
` ${adValue.currencyCode}`,
);
customAdEventCallback?.onAdPaid?.(adValue);
},
};
ad.show(onRewardEarned);
}
মেমরি ও রিসোর্স রিলিজ করতে,
onAdDismissedFullScreenContent
এবং
onAdFailedToShowFullScreenContent
কলব্যাকে ad.destroy মেথড কল করুন।
উত্তরের তথ্য পড়ুন
ক্যাশে থেকে বিজ্ঞাপন না সরিয়ে পরবর্তী প্রিলোড করা বিজ্ঞাপনের জন্য রেসপন্স সংক্রান্ত তথ্য খতিয়ে দেখতে,
RewardedAdPreloader.peekAdResponseInfo
মেথড কল করুন:
export function peekRewardedAdResponseInfo(
preloadId: string,
): ResponseInfo | null {
const responseInfo = RewardedAdPreloader.peekAdResponseInfo(preloadId);
if (responseInfo) {
console.log('Next preloaded rewarded ad response info:', responseInfo);
}
return responseInfo;
}
কোনও বিজ্ঞাপন উপলভ্য থাকলে, peekAdResponseInfo পদ্ধতিটি লোড করা বিজ্ঞাপন সোর্স এবং নেটওয়ার্ক অ্যাডাপ্টার সম্পর্কে তথ্য সহ একটি ResponseInfo অবজেক্ট রিটার্ন করে।
ঐচ্ছিক: সার্ভার-সাইড যাচাইকরণ কলব্যাক যাচাই করুন
আপনার অ্যাপে সার্ভার-সাইড যাচাইকরণ (SSV) কলব্যাকে ব্যবহারকারীর আইডি বা কাস্টম পুরস্কার মেটাডেটার মতো কাস্টম যাচাইকরণ প্যারামিটার প্রয়োজন হলে,
show
কল করার আগে পোল করা বিজ্ঞাপন ইনস্ট্যান্সে
serverSideVerificationOptions
প্রপার্টি সেট করুন।
আপনার সেট করা ভ্যালু SSV কলব্যাক কোয়েরি প্যারামিটারে পাস করা হয়:
userId: ব্যবহারকারীকে শনাক্ত করতেuser_idকোয়েরি প্যারামিটারে পাস করে।customData: কাস্টম মেটাডেটা ফরওয়ার্ড করার জন্যcustom_dataকোয়েরি প্যারামিটারে পাস করে।
নিম্নলিখিত উদাহরণটি বিজ্ঞাপন দেখানোর আগে পুরস্কার প্রদানকারী বিজ্ঞাপন অবজেক্টে
ServerSideVerificationOptions
(customData এবং
userId) সেট করে:
রিসোর্স ক্লিন-আপ করুন
সেশনের বাকি সময়ের জন্য নির্দিষ্ট প্রিলোড আইডির জন্য বিজ্ঞাপন দেখানোর প্রয়োজন না হলে,
RewardedAdPreloader.destroy
মেথড কল করুন। এই প্রসেস সেই প্রিলোড আইডির জন্য প্রিলোড করা বন্ধ করে এবং মেমরি থেকে অব্যবহৃত
প্রিলোড করা বিজ্ঞাপন সরিয়ে দেয়।
নিম্নলিখিত উদাহরণটি প্রিলোড করা বন্ধ করে দেয়:
export function destroyRewardedAdPreloader(preloadId: string) {
RewardedAdPreloader.destroy(preloadId);
}
ব্যবহারকারী বিজ্ঞাপন বাতিল করে দিলে বা বিজ্ঞাপন দেখানো না গেলে, আলাদা আলাদা পোল করা বিজ্ঞাপনের ইনস্ট্যান্স সরিয়ে দিন। বিস্তারিত জানতে, পোল ও বিজ্ঞাপন দেখানো দেখুন।
সম্পূর্ণ উদাহরণ দেখুন
নিচে দেওয়া উদাহরণ কম্পোনেন্ট মাউন্ট করার সময় প্রিলোড করা শুরু করে, উপলভ্য বিজ্ঞাপনের সংখ্যা ট্র্যাক করে এবং প্রিলোড করা পুরস্কার প্রদানকারী বিজ্ঞাপন দেখানোর জন্য কন্ট্রোল প্রদান করে:
নিম্নলিখিতগুলি পরিবর্তন করুন:
- REWARDED_AD_UNIT_ID-এর জায়গায় আপনার বিজ্ঞাপন ইউনিট আইডি লিখুন।
- আপনার প্রিলোডার আইডি সহ PRELOAD_ID।
পরবর্তী ধাপ
পুরস্কার প্রদানকারী বিজ্ঞাপন ইন্টিগ্রেট করার পরে, নিম্নলিখিত বিষয়গুলি এক্সপ্লোর করুন: