পূর্বশর্ত
কাস্টম ইভেন্ট সেটআপ সম্পূর্ণ করুন।
একটি ইন্টারস্টিশিয়াল বিজ্ঞাপনের অনুরোধ করুন
কাস্টম ইভেন্ট লাইন আইটেম জলপ্রপাত মধ্যস্থতা শৃঙ্খলে পৌঁছে গেলে, একটি কাস্টম ইভেন্ট তৈরি করার সময় আপনি যে শ্রেণির নাম দিয়েছিলেন তাতে loadInterstitialAd()
পদ্ধতিটি কল করা হয়। এই ক্ষেত্রে, সেই পদ্ধতিটি SampleCustomEvent
এ রয়েছে, যা SampleInterstitialCustomEventLoader
এ loadInterstitialAd()
পদ্ধতিকে কল করে।
একটি ইন্টারস্টিশিয়াল বিজ্ঞাপনের জন্য অনুরোধ করতে, একটি ক্লাস তৈরি করুন বা সংশোধন করুন যা loadInterstitialAd()
বাস্তবায়নের জন্য Adapter
প্রসারিত করে। উপরন্তু, MediationInterstitialAd
বাস্তবায়নের জন্য একটি নতুন ক্লাস তৈরি করুন।
আমাদের কাস্টম ইভেন্ট উদাহরণে , SampleCustomEvent
Adapter
ক্লাস প্রসারিত করে এবং তারপরে SampleInterstitialCustomEventLoader
এ প্রতিনিধি করে।
জাভা
package com.google.ads.mediation.sample.customevent; import com.google.android.gms.ads.mediation.Adapter; import com.google.android.gms.ads.mediation.MediationAdConfiguration; import com.google.android.gms.ads.mediation.MediationAdLoadCallback; import com.google.android.gms.ads.mediation.MediationInterstitialAd; import com.google.android.gms.ads.mediation.MediationInterstitialAdCallback; ... public class SampleCustomEvent extends Adapter { private SampleInterstitialCustomEventLoader interstitialLoader; @Override public void loadInterstitialAd( @NonNull MediationInterstitialAdConfiguration adConfiguration, @NonNull MediationAdLoadCallback<MediationInterstitialAd, MediationInterstitialAdCallback> callback) { interstitialLoader = new SampleInterstitialCustomEventLoader(adConfiguration, callback); interstitialLoader.loadAd(); } }
SampleInterstitialCustomEventLoader
নিম্নলিখিত কাজের জন্য দায়ী:
ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড করা হচ্ছে এবং একবার লোড করা সম্পূর্ণ হলে একটি
MediationAdLoadCallback
পদ্ধতি চালু করা হচ্ছে।MediationInterstitialAd
অ্যাড ইন্টারফেস বাস্তবায়ন।Google মোবাইল বিজ্ঞাপন SDK-এ বিজ্ঞাপন ইভেন্ট কলব্যাক গ্রহণ এবং প্রতিবেদন করা
অ্যাড ম্যানেজার UI-তে সংজ্ঞায়িত ঐচ্ছিক প্যারামিটার বিজ্ঞাপন কনফিগারেশনে অন্তর্ভুক্ত করা হয়েছে। প্যারামিটারটি adConfiguration.getServerParameters().getString(MediationConfiguration.CUSTOM_EVENT_SERVER_PARAMETER_FIELD)
এর মাধ্যমে অ্যাক্সেস করা যেতে পারে। এই প্যারামিটারটি সাধারণত একটি বিজ্ঞাপন ইউনিট শনাক্তকারী যা একটি বিজ্ঞাপন অবজেক্ট ইনস্ট্যান্ট করার সময় একটি বিজ্ঞাপন নেটওয়ার্ক SDK-এর প্রয়োজন হয়।
জাভা
package com.google.ads.mediation.sample.customevent; import com.google.android.gms.ads.mediation.Adapter; import com.google.android.gms.ads.mediation.MediationInterstitialAdConfiguration; import com.google.android.gms.ads.mediation.MediationAdLoadCallback; import com.google.android.gms.ads.mediation.MediationInterstitialAd; import com.google.android.gms.ads.mediation.MediationInterstitialAdCallback; ... public class SampleInterstitialCustomEventLoader extends SampleAdListener implements MediationInterstitialAd { /** A sample third-party SDK interstitial ad. */ private SampleInterstitial sampleInterstitialAd; /** Configuration for requesting the interstitial ad from the third-party network. */ private final MediationInterstitialAdConfiguration mediationInterstitialAdConfiguration; /** Callback for interstitial ad events. */ private MediationInterstitialAdCallback interstitialAdCallback; /** Callback that fires on loading success or failure. */ private final MediationAdLoadCallback<MediationInterstitialAd, MediationInterstitialAdCallback> mediationAdLoadCallback; /** Constructor. */ public SampleInterstitialCustomEventLoader( @NonNull MediationInterstitialAdConfiguration mediationInterstitialAdConfiguration, @NonNull MediationAdLoadCallback<MediationInterstitialAd, MediationInterstitialAdCallback> mediationAdLoadCallback) { this.mediationInterstitialAdConfiguration = mediationInterstitialAdConfiguration; this.mediationAdLoadCallback = mediationAdLoadCallback; } /** Loads the interstitial ad from the third-party ad network. */ public void loadAd() { // All custom events have a server parameter named "parameter" that returns // back the parameter entered into the UI when defining the custom event. Log.i("InterstitialCustomEvent", "Begin loading interstitial ad."); String serverParameter = mediationInterstitialAdConfiguration.getServerParameters().getString( MediationConfiguration.CUSTOM_EVENT_SERVER_PARAMETER_FIELD); Log.d("InterstitialCustomEvent", "Received server parameter."); sampleInterstitialAd = new SampleInterstitial(mediationInterstitialAdConfiguration.getContext()); sampleInterstitialAd.setAdUnit(serverParameter); // Implement a SampleAdListener and forward callbacks to mediation. sampleInterstitialAd.setAdListener(this); // Make an ad request. Log.i("InterstitialCustomEvent", "start fetching interstitial ad."); sampleInterstitialAd.fetchAd( SampleCustomEvent.createSampleRequest(mediationInterstitialAdConfiguration)); } public SampleAdRequest createSampleRequest( MediationAdConfiguration mediationAdConfiguration) { SampleAdRequest request = new SampleAdRequest(); request.setTestMode(mediationAdConfiguration.isTestRequest()); request.setKeywords(mediationAdConfiguration.getMediationExtras().keySet()); return request; } }
বিজ্ঞাপনটি সফলভাবে আনা হয়েছে বা কোন ত্রুটির সম্মুখীন হয়েছে তার উপর নির্ভর করে, আপনি হয় onSuccess()
অথবা onFailure()
কল করবেন। onSuccess()
কে বলা হয় ক্লাসের একটি ইন্সট্যান্স পাস করে যা MediationInterstitialAd
প্রয়োগ করে।
সাধারণত, এই পদ্ধতিগুলি আপনার অ্যাডাপ্টার প্রয়োগ করে তৃতীয় পক্ষের SDK থেকে কলব্যাকের ভিতরে প্রয়োগ করা হয়। এই উদাহরণের জন্য, নমুনা SDK-তে প্রাসঙ্গিক কলব্যাক সহ একটি SampleAdListener
আছে:
জাভা
@Override public void onAdFetchSucceeded() { interstitialAdCallback = mediationAdLoadCallback.onSuccess(this); } @Override public void onAdFetchFailed(SampleErrorCode errorCode) { mediationAdLoadCallback.onFailure(SampleCustomEventError.createSampleSdkError(errorCode)); }
MediationInterstitialAd
বিজ্ঞাপন প্রদর্শনের জন্য একটি showAd()
পদ্ধতি প্রয়োগ করতে হবে:
জাভা
@Override public void showAd(@NonNull Context context) { sampleInterstitialAd.show(); }
মধ্যস্থতা ইভেন্টগুলি Google মোবাইল বিজ্ঞাপন SDK-এ ফরওয়ার্ড করুন
একবার onSuccess()
কল করা হলে, প্রত্যাবর্তিত MediationInterstitialAdCallback
অবজেক্টটি তৃতীয় পক্ষের SDK থেকে Google মোবাইল বিজ্ঞাপন SDK-এ উপস্থাপনা ইভেন্টগুলি ফরওয়ার্ড করতে অ্যাডাপ্টার দ্বারা ব্যবহার করা যেতে পারে। SampleInterstitialCustomEventLoader
ক্লাস নমুনা বিজ্ঞাপন নেটওয়ার্ক থেকে Google মোবাইল বিজ্ঞাপন SDK-তে কলব্যাক ফরওয়ার্ড করতে SampleAdListener
ইন্টারফেসকে প্রসারিত করে।
এটি গুরুত্বপূর্ণ যে আপনার কাস্টম ইভেন্ট যতটা সম্ভব এই কলব্যাকগুলিকে ফরোয়ার্ড করে, যাতে আপনার অ্যাপ Google মোবাইল বিজ্ঞাপন SDK থেকে এই সমতুল্য ইভেন্টগুলি পায়৷ এখানে কলব্যাক ব্যবহার করার একটি উদাহরণ:
জাভা
@Override public void onAdFullScreen() { interstitialAdCallback.reportAdImpression(); interstitialAdCallback.onAdOpened(); } @Override public void onAdClosed() { interstitialAdCallback.onAdClosed(); }
এটি ইন্টারস্টিশিয়াল বিজ্ঞাপনের জন্য কাস্টম ইভেন্ট বাস্তবায়ন সম্পূর্ণ করে। সম্পূর্ণ উদাহরণ GitHub এ উপলব্ধ। আপনি এটিকে একটি বিজ্ঞাপন নেটওয়ার্কের সাথে ব্যবহার করতে পারেন যা ইতিমধ্যেই সমর্থিত বা কাস্টম ইভেন্ট ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করতে এটিকে সংশোধন করতে পারেন৷
,পূর্বশর্ত
কাস্টম ইভেন্ট সেটআপ সম্পূর্ণ করুন।
একটি ইন্টারস্টিশিয়াল বিজ্ঞাপনের অনুরোধ করুন
কাস্টম ইভেন্ট লাইন আইটেম জলপ্রপাত মধ্যস্থতা শৃঙ্খলে পৌঁছে গেলে, একটি কাস্টম ইভেন্ট তৈরি করার সময় আপনি যে শ্রেণির নাম দিয়েছিলেন তাতে loadInterstitialAd()
পদ্ধতিটি কল করা হয়। এই ক্ষেত্রে, সেই পদ্ধতিটি SampleCustomEvent
এ রয়েছে, যা SampleInterstitialCustomEventLoader
এ loadInterstitialAd()
পদ্ধতিকে কল করে।
একটি ইন্টারস্টিশিয়াল বিজ্ঞাপনের জন্য অনুরোধ করতে, একটি ক্লাস তৈরি করুন বা সংশোধন করুন যা loadInterstitialAd()
বাস্তবায়নের জন্য Adapter
প্রসারিত করে। উপরন্তু, MediationInterstitialAd
বাস্তবায়নের জন্য একটি নতুন ক্লাস তৈরি করুন।
আমাদের কাস্টম ইভেন্ট উদাহরণে , SampleCustomEvent
Adapter
ক্লাস প্রসারিত করে এবং তারপরে SampleInterstitialCustomEventLoader
এ প্রতিনিধি করে।
জাভা
package com.google.ads.mediation.sample.customevent; import com.google.android.gms.ads.mediation.Adapter; import com.google.android.gms.ads.mediation.MediationAdConfiguration; import com.google.android.gms.ads.mediation.MediationAdLoadCallback; import com.google.android.gms.ads.mediation.MediationInterstitialAd; import com.google.android.gms.ads.mediation.MediationInterstitialAdCallback; ... public class SampleCustomEvent extends Adapter { private SampleInterstitialCustomEventLoader interstitialLoader; @Override public void loadInterstitialAd( @NonNull MediationInterstitialAdConfiguration adConfiguration, @NonNull MediationAdLoadCallback<MediationInterstitialAd, MediationInterstitialAdCallback> callback) { interstitialLoader = new SampleInterstitialCustomEventLoader(adConfiguration, callback); interstitialLoader.loadAd(); } }
SampleInterstitialCustomEventLoader
নিম্নলিখিত কাজের জন্য দায়ী:
ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড করা হচ্ছে এবং একবার লোড করা সম্পূর্ণ হলে একটি
MediationAdLoadCallback
পদ্ধতি চালু করা হচ্ছে।MediationInterstitialAd
অ্যাড ইন্টারফেস বাস্তবায়ন।Google মোবাইল বিজ্ঞাপন SDK-এ বিজ্ঞাপন ইভেন্ট কলব্যাক গ্রহণ এবং প্রতিবেদন করা
অ্যাড ম্যানেজার UI-তে সংজ্ঞায়িত ঐচ্ছিক প্যারামিটার বিজ্ঞাপন কনফিগারেশনে অন্তর্ভুক্ত করা হয়েছে। প্যারামিটারটি adConfiguration.getServerParameters().getString(MediationConfiguration.CUSTOM_EVENT_SERVER_PARAMETER_FIELD)
এর মাধ্যমে অ্যাক্সেস করা যেতে পারে। এই প্যারামিটারটি সাধারণত একটি বিজ্ঞাপন ইউনিট শনাক্তকারী যা একটি বিজ্ঞাপন অবজেক্ট ইনস্ট্যান্ট করার সময় একটি বিজ্ঞাপন নেটওয়ার্ক SDK-এর প্রয়োজন হয়।
জাভা
package com.google.ads.mediation.sample.customevent; import com.google.android.gms.ads.mediation.Adapter; import com.google.android.gms.ads.mediation.MediationInterstitialAdConfiguration; import com.google.android.gms.ads.mediation.MediationAdLoadCallback; import com.google.android.gms.ads.mediation.MediationInterstitialAd; import com.google.android.gms.ads.mediation.MediationInterstitialAdCallback; ... public class SampleInterstitialCustomEventLoader extends SampleAdListener implements MediationInterstitialAd { /** A sample third-party SDK interstitial ad. */ private SampleInterstitial sampleInterstitialAd; /** Configuration for requesting the interstitial ad from the third-party network. */ private final MediationInterstitialAdConfiguration mediationInterstitialAdConfiguration; /** Callback for interstitial ad events. */ private MediationInterstitialAdCallback interstitialAdCallback; /** Callback that fires on loading success or failure. */ private final MediationAdLoadCallback<MediationInterstitialAd, MediationInterstitialAdCallback> mediationAdLoadCallback; /** Constructor. */ public SampleInterstitialCustomEventLoader( @NonNull MediationInterstitialAdConfiguration mediationInterstitialAdConfiguration, @NonNull MediationAdLoadCallback<MediationInterstitialAd, MediationInterstitialAdCallback> mediationAdLoadCallback) { this.mediationInterstitialAdConfiguration = mediationInterstitialAdConfiguration; this.mediationAdLoadCallback = mediationAdLoadCallback; } /** Loads the interstitial ad from the third-party ad network. */ public void loadAd() { // All custom events have a server parameter named "parameter" that returns // back the parameter entered into the UI when defining the custom event. Log.i("InterstitialCustomEvent", "Begin loading interstitial ad."); String serverParameter = mediationInterstitialAdConfiguration.getServerParameters().getString( MediationConfiguration.CUSTOM_EVENT_SERVER_PARAMETER_FIELD); Log.d("InterstitialCustomEvent", "Received server parameter."); sampleInterstitialAd = new SampleInterstitial(mediationInterstitialAdConfiguration.getContext()); sampleInterstitialAd.setAdUnit(serverParameter); // Implement a SampleAdListener and forward callbacks to mediation. sampleInterstitialAd.setAdListener(this); // Make an ad request. Log.i("InterstitialCustomEvent", "start fetching interstitial ad."); sampleInterstitialAd.fetchAd( SampleCustomEvent.createSampleRequest(mediationInterstitialAdConfiguration)); } public SampleAdRequest createSampleRequest( MediationAdConfiguration mediationAdConfiguration) { SampleAdRequest request = new SampleAdRequest(); request.setTestMode(mediationAdConfiguration.isTestRequest()); request.setKeywords(mediationAdConfiguration.getMediationExtras().keySet()); return request; } }
বিজ্ঞাপনটি সফলভাবে আনা হয়েছে বা কোন ত্রুটির সম্মুখীন হয়েছে তার উপর নির্ভর করে, আপনি হয় onSuccess()
অথবা onFailure()
কল করবেন। onSuccess()
কে বলা হয় ক্লাসের একটি ইন্সট্যান্স পাস করে যা MediationInterstitialAd
প্রয়োগ করে।
সাধারণত, এই পদ্ধতিগুলি আপনার অ্যাডাপ্টার প্রয়োগ করে তৃতীয় পক্ষের SDK থেকে কলব্যাকের ভিতরে প্রয়োগ করা হয়। এই উদাহরণের জন্য, নমুনা SDK-তে প্রাসঙ্গিক কলব্যাক সহ একটি SampleAdListener
আছে:
জাভা
@Override public void onAdFetchSucceeded() { interstitialAdCallback = mediationAdLoadCallback.onSuccess(this); } @Override public void onAdFetchFailed(SampleErrorCode errorCode) { mediationAdLoadCallback.onFailure(SampleCustomEventError.createSampleSdkError(errorCode)); }
MediationInterstitialAd
বিজ্ঞাপন প্রদর্শনের জন্য একটি showAd()
পদ্ধতি প্রয়োগ করতে হবে:
জাভা
@Override public void showAd(@NonNull Context context) { sampleInterstitialAd.show(); }
মধ্যস্থতা ইভেন্টগুলি Google মোবাইল বিজ্ঞাপন SDK-এ ফরওয়ার্ড করুন
একবার onSuccess()
কল করা হলে, প্রত্যাবর্তিত MediationInterstitialAdCallback
অবজেক্টটি তৃতীয় পক্ষের SDK থেকে Google মোবাইল বিজ্ঞাপন SDK-এ উপস্থাপনা ইভেন্টগুলি ফরওয়ার্ড করতে অ্যাডাপ্টার দ্বারা ব্যবহার করা যেতে পারে। SampleInterstitialCustomEventLoader
ক্লাস নমুনা বিজ্ঞাপন নেটওয়ার্ক থেকে Google মোবাইল বিজ্ঞাপন SDK-তে কলব্যাক ফরওয়ার্ড করতে SampleAdListener
ইন্টারফেসকে প্রসারিত করে।
এটি গুরুত্বপূর্ণ যে আপনার কাস্টম ইভেন্ট যতটা সম্ভব এই কলব্যাকগুলিকে ফরোয়ার্ড করে, যাতে আপনার অ্যাপ Google মোবাইল বিজ্ঞাপন SDK থেকে এই সমতুল্য ইভেন্টগুলি পায়৷ এখানে কলব্যাক ব্যবহার করার একটি উদাহরণ:
জাভা
@Override public void onAdFullScreen() { interstitialAdCallback.reportAdImpression(); interstitialAdCallback.onAdOpened(); } @Override public void onAdClosed() { interstitialAdCallback.onAdClosed(); }
এটি ইন্টারস্টিশিয়াল বিজ্ঞাপনের জন্য কাস্টম ইভেন্ট বাস্তবায়ন সম্পূর্ণ করে। সম্পূর্ণ উদাহরণ GitHub এ উপলব্ধ। আপনি এটিকে একটি বিজ্ঞাপন নেটওয়ার্কের সাথে ব্যবহার করতে পারেন যা ইতিমধ্যেই সমর্থিত বা কাস্টম ইভেন্ট ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করতে এটিকে সংশোধন করতে পারেন৷