বিজ্ঞাপন নেটওয়ার্ক মধ্যস্থতা অ্যাডাপ্টার উন্নয়ন

এই নির্দেশিকাটি একটি মধ্যস্থতা অ্যাডাপ্টার তৈরি করতে চাওয়া বিজ্ঞাপন নেটওয়ার্কগুলির জন্য উদ্দিষ্ট৷ আপনি যদি একজন প্রকাশক হন, তাহলে প্রকাশকের মধ্যস্থতার নির্দেশাবলী দেখুন।

একটি বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টার হল আপনার বিজ্ঞাপন নেটওয়ার্ক এবং Google মোবাইল বিজ্ঞাপন মধ্যস্থতার মধ্যে যোগাযোগের স্তর।

অ্যাডাপ্টার ব্যানার বিজ্ঞাপনগুলিকে সমর্থন করার জন্য MediationBannerAdapter এবং ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলিকে সমর্থন করার জন্য MediationInterstitialAdapter বাস্তবায়নের জন্য দায়ী৷ এই ইভেন্টগুলির Google মোবাইল বিজ্ঞাপন মধ্যস্থতাকে অবহিত করার জন্য এটিকে অবশ্যই MediationBannerListener এবং MediationInterstitialListener কলব্যাকগুলি আহ্বান করতে হবে, যা বিকাশকারীকেও ফরোয়ার্ড করা যেতে পারে৷

নমুনা বিজ্ঞাপন নেটওয়ার্ক

একটি নমুনা বিজ্ঞাপন নেটওয়ার্কের জন্য কীভাবে একটি অ্যাডাপ্টার তৈরি করতে হয় এই নির্দেশিকাটি প্রদর্শন করে৷ নমুনা বিজ্ঞাপন নেটওয়ার্কে নিম্নলিখিত শ্রেণীগুলি রয়েছে যেগুলি বেশিরভাগ বিজ্ঞাপন নেটওয়ার্ক দ্বারা অফার করা ক্লাসগুলির প্রতিনিধিত্ব করে:

class SampleAdView {
    public SampleAdView(Context context);
    public void setSize(SampleAdSize size);
    public void setAdUnit(String sampleAdUnit);
    public void setAdListener(SampleAdListener listener);
    public void fetchAd(SampleAdRequest request);
    public void destroy();
}

class SampleAdSize {
    public SampleAdSize(int width, int height);
    public int getWidth();
    public int getHeight();
}

class SampleAdRequest {
    public SampleAdRequest();
    public void setKeywords(Set<String> keywords);
    public void setTestMode(boolean useTesting);
}

class SampleAdListener {
    public void onAdFetchSucceeded();
    public void onAdFetchFailed(SampleErrorCode code);
    public void onAdFullScreen();
    public void onAdClosed();
}

enum SampleErrorCode {
    UNKNOWN,
    BAD_REQUEST,
    NETWORK_ERROR,
    NO_INVENTORY
}

class SampleInterstitial {
    public SampleInterstitial(Context context);
    public void setAdUnit(String sampleAdUnit);
    public void setAdListener(SampleAdListener listener);
    public void fetchAd(SampleAdRequest request);
    public void show();
    public void destroy();
}

এই ক্লাসগুলি সম্পর্কে আরও তথ্যের জন্য সম্পূর্ণ SDK বাস্তবায়ন দেখুন।

একটি ব্যানার অ্যাডাপ্টার প্রয়োগ করুন

ব্যানার বিজ্ঞাপন সমর্থন করে এমন একটি অ্যাডাপ্টার বাস্তবায়ন করতে, একটি শ্রেণী তৈরি করুন যা MediationBannerAdapter প্রয়োগ করে।

public class SampleAdapter implements MediationBannerAdapter {
    @Override
    public void requestBannerAd(
            Context context,
            MediationBannerListener listener,
            Bundle serverParameters,
            AdSize adSize,
            MediationAdRequest mediationAdRequest,
            Bundle mediationExtras) {}

    @Override
    public View getBannerView() {}

    @Override
    public void onDestroy() {}

    @Override
    public void onPause() {}

    @Override
    public void onResume() {}
}

আমরা MediationBannerAdapter বাস্তবায়নে ডুব দেওয়ার আগে, আসুন সার্ভারের প্যারামিটার, মধ্যস্থতা অতিরিক্ত এবং কীভাবে এই মানগুলি অ্যাডাপ্টারে প্রেরণ করা হয় তা নিয়ে আলোচনা করি।

সার্ভার পরামিতি

একজন প্রকাশককে শনাক্ত করার জন্য আপনার বিজ্ঞাপন নেটওয়ার্কের সম্ভবত কিছু শনাক্তকারী(গুলি) প্রয়োজন। নমুনা বিজ্ঞাপন নেটওয়ার্ক, উদাহরণস্বরূপ, শুধুমাত্র একটি বিজ্ঞাপন ইউনিট প্রয়োজন। এই প্রয়োজনীয় পরামিতিগুলি আপনাকে requestBannerAd() এর ভিতরে serverParameters বান্ডেলে সরবরাহ করা হয়েছে। বিকাশের সময়, আপনি অনুমান করতে পারেন যে বান্ডিলটি ইতিমধ্যে আপনার প্রয়োজনীয় কীগুলির সাথে জনবহুল হবে:

private static final String SAMPLE_AD_UNIT_KEY = "ad_unit";

@Override
public void requestBannerAd(
        Context context,
        MediationBannerListener listener,
        Bundle serverParameters,
        AdSize adSize,
        MediationAdRequest mediationAdRequest,
        Bundle mediationExtras) {
    String adUnit = serverParameters.getString(SAMPLE_AD_UNIT_KEY);
    ...
}

AdMob আপনাকে একটি প্রশ্নাবলী পাঠাবে যাতে অনুরোধ করা এবং বিজ্ঞাপন পরিবেশন করার জন্য একজন প্রকাশকের কাছ থেকে আপনার কোন সার্ভার প্যারামিটার প্রয়োজন। AdMob সেই ইনপুটটি AdMob UI এ আপনার নেটওয়ার্ক কনফিগার করতে ব্যবহার করবে। নীচের স্ক্রিনশটটি দেখায় যে সহস্রাব্দ মিডিয়ার জন্য APID প্রয়োজন এবং InMobi-এর জন্য App ID প্রয়োজন৷

আপনার অ্যাডাপ্টারকে ইনস্ট্যান্টিয়েট করার সময় AdMob সার্ভার serverParameters বান্ডেল তৈরি করতে এই তথ্য ব্যবহার করবে।

প্রকাশকরা কীভাবে মধ্যস্থতা বিজ্ঞাপন নেটওয়ার্কগুলি কনফিগার করবেন সে সম্পর্কে আরও তথ্যের জন্য এই নিবন্ধটি দেখুন৷

অতিরিক্ত টার্গেটিং পরামিতি

MediationAdRequest এ কিছু সাধারণ টার্গেটিং তথ্য রয়েছে যা আপনি বিজ্ঞাপন লক্ষ্য করার জন্য ব্যবহার করতে পারেন যেমন:

মধ্যস্থতা অতিরিক্ত

যদি আপনার বিজ্ঞাপন নেটওয়ার্ক টার্গেটিং তথ্য সমর্থন করে যা MediationAdRequest প্রদান করে না, তাহলে অ্যাপ বিকাশকারীরা আপনার নেটওয়ার্কে বিশেষভাবে mediationExtras একটি বান্ডিল পাঠাতে পারে। মধ্যস্থতা কিভাবে মধ্যস্থতা অতিরিক্ত পাস করতে হয় তার একটি উদাহরণ প্রদান করে।

বিকাশকারীদের জন্য ঐচ্ছিকভাবে এই তথ্যটি পাস করা সহজ করতে, আপনি আপনার অ্যাডাপ্টারে একটি বান্ডেল বিল্ডার ক্লাস প্রদান করতে পারেন। ধরা যাক আপনার নেটওয়ার্ক একটি আয় মান পাস সমর্থন করে. আপনি আপনার অ্যাডাপ্টারে একটি বিল্ডার ক্লাস যোগ করতে পারেন যা আয় সেট করে:

public static final class BundleBuilder {
    private int income;

    public BundleBuilder setIncome(int income) {
        this.income = income;
        return this;
    }

    public Bundle build() {
        Bundle bundle = new Bundle();
        bundle.putInt("income", income);
        return bundle;
    }
}

এই শ্রেণীটি আপনার নেটওয়ার্কের জন্য একটি বান্ডিল তৈরি করতে বিকাশকারীকে একটি পরিষ্কার API প্রদান করে:

Bundle sampleAdapterBundle =
        new SampleAdapter.BundleBuilder().setIncome(100000).build();

অনুরোধ ব্যানার বিজ্ঞাপন()

এখন যেহেতু আপনাকে সার্ভার প্যারামিটার এবং মধ্যস্থতা অতিরিক্তের সাথে পরিচয় করানো হয়েছে, আমরা সেগুলিকে একটি MediationBannerAdapter তৈরি করতে ব্যবহার করতে পারি।

requestBannerAd() পদ্ধতিটি অ্যাডাপ্টারটি ইনস্ট্যান্টিয়েট করার সাথে সাথে কল করা হয়। এখানেই আপনার বিজ্ঞাপনের দৃশ্য তৈরি করা উচিত এবং একটি ব্যানার বিজ্ঞাপনের অনুরোধ করা উচিত।

নমুনা বিজ্ঞাপন নেটওয়ার্কের জন্য requestBannerAd() এর বাস্তবায়ন এইরকম দেখাচ্ছে:

public class SampleAdMobAdapter implements MediationBannerAdapter {
    private static final String SAMPLE_AD_UNIT_KEY = "ad_unit";
    private SampleAdView sampleAdView;

    @Override
    public void requestBannerAd(
            Context context, // May be an application context.
            MediationBannerListener listener,
            Bundle serverParameters,
            AdSize adSize,
            MediationAdRequest mediationAdRequest,
            Bundle mediationExtras) {
        sampleAdView = new SampleAdView(context);

        if (serverParameters.containsKey(SAMPLE_AD_UNIT_KEY)) {
            sampleAdView.setAdUnit(serverParameters.getString(SAMPLE_AD_UNIT_KEY));
        } else {
            listener.onAdFailedToLoad(this, AdRequest.ERROR_CODE_INVALID_REQUEST);
        }

        sampleAdView.setSize(
                new SampleAdSize(adSize.getWidth(),adSize.getHeight()));

        sampleAdView.setAdListener(
                new SampleBannerEventForwarder(listener, this));

        SampleAdRequest request = new SampleAdRequest();
        request.setTestMode(mediationAdRequest.isTesting());
        request.setKeywords(mediationAdRequest.getKeywords());
        sampleAdView.fetchAd(request);
    }
}

অনুমান করবেন না যে প্রসঙ্গ প্যারামিটারটি Activity প্রকারের। প্রকাশকের বাস্তবায়নের উপর নির্ভর করে, Google মোবাইল বিজ্ঞাপন মধ্যস্থতা আপনার অ্যাডাপ্টারে একটি অ্যাপ্লিকেশন প্রসঙ্গ ফরোয়ার্ড করতে পারে। যদি আপনার অ্যাডাপ্টার একটি অ্যাপ্লিকেশন প্রসঙ্গ পরিচালনা করতে না পারে, তাহলে ত্রুটি কোড AdRequest.ERROR_CODE_INVALID_REQUEST সহ onAdFailedToLoad() চালু করার পরামর্শ দেওয়া হয়।

মধ্যস্থতা ব্যানার লিসেনার কলব্যাক

আপনার requestBannerAd() এ আপনাকে দেওয়া MediationBannerListener সংরক্ষণ করা উচিত যাতে আপনি বিজ্ঞাপন ইভেন্টগুলিকে Google মোবাইল বিজ্ঞাপন মধ্যস্থতায় ফেরত পাঠাতে পারেন। প্রতিটি কলব্যাক অবশ্যই বিজ্ঞাপনের জীবনচক্রের উপযুক্ত সময়ে আহ্বান করতে হবে:

পদ্ধতি কখন ফোন করতে হবে
onAdLoaded() ব্যানার অনুরোধ সফল হয়েছে.
onAdFailedToLoad() ব্যানার অনুরোধ ব্যর্থ হয়েছে.
onAdClicked() ব্যানারে ক্লিক করা হয়েছে।
onAdOpened() ব্যানারটি একটি পূর্ণ স্ক্রীন ভিউ রেন্ডার করছে৷
onAdClosed() ব্যানারে ক্লিক করার পর ব্যবহারকারী অ্যাপে ফিরে আসেন।
onAdLeftApplication() ব্যানার ব্যবহারকারীকে অ্যাপটি ছেড়ে যেতে বাধ্য করে।

নমুনা বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টার ইভেন্ট ফরওয়ার্ডিং পরিচালনা করতে SampleBannerEventForwarder নামে একটি ক্লাস তৈরি করে:

public class SampleBannerEventForwarder extends SampleAdListener {
    private MediationBannerListener mediationListener;
    private SampleAdapter adapter;

    public SampleBannerEventForwarder(
            MediationBannerListener listener, SampleAdapter adapter) {
        this.mediationListener = listener;
        this.adapter = adapter;
    }

    @Override
    public void onAdFetchSucceeded() {
        mediationListener.onAdLoaded(adapter);
    }

    @Override
    public void onAdFetchFailed(SampleErrorCode errorCode) {
        switch(errorCode) {
            case UNKNOWN:
                mediationListener.onAdFailedToLoad(adapter, AdRequest.ERROR_CODE_INTERNAL_ERROR);
                break;
            case BAD_REQUEST:
                mediationListener.onAdFailedToLoad(adapter, AdRequest.ERROR_CODE_INVALID_REQUEST);
                break;
            case NETWORK_ERROR:
                mediationListener.onAdFailedToLoad(adapter, AdRequest.ERROR_CODE_NETWORK_ERROR);
                break;
            case NO_INVENTORY:
                mediationListener.onAdFailedToLoad(adapter, AdRequest.ERROR_CODE_NO_FILL);
                break;
        }
    }

    @Override
    public void onAdFullScreen() {
        mediationListener.onAdClicked(adapter);
        mediationListener.onAdOpened(adapter);
        mediationListener.onAdLeftApplication(adapter);
    }

    @Override
    public void onAdClosed() {
        mediationListener.onAdClosed(adapter);
    }
}

একই কলব্যাকে onAdClicked , onAdOpened , এবং onAdLeftApplication কিভাবে নমুনা বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টার পাঠানো হয়েছে তা নোট করুন৷ যদিও আপনার নেটওয়ার্কের কলব্যাকগুলি Google মোবাইল বিজ্ঞাপনগুলির জন্য প্রয়োজনীয় কলব্যাকগুলির সাথে হুবহু মেলে না, একটি যুক্তিসঙ্গত ম্যাপিং প্রদান করা অ্যাডাপ্টারের দায়িত্ব৷

getBannerView

একবার আপনি MediationBannerListener.onAdLoaded() এ কল করলে, মধ্যস্থতা আপনার বিজ্ঞাপন নেটওয়ার্কের ব্যানার ভিউ স্ক্রীনে দেখানোর জন্য getBannerView() কল করবে। আপনি requestBannerAd() এ যে ব্যানার ভিউ তৈরি করেছেন তা কেবল ফিরিয়ে দিন:

@Override
public View getBannerView() {
    return sampleAdView;
}

কার্যকলাপ জীবনচক্র ঘটনা

অ্যাপ ডেভেলপার ইভেন্টগুলির মধ্যস্থতা সম্পর্কে অবহিত করলে মধ্যস্থতা onPause() এবং onResume() কার্যকলাপ ইভেন্টগুলির অ্যাডাপ্টারকে অবহিত করবে। আপনার ব্যানারের যেকোনো প্রয়োজনীয় বিরতি এবং পুনরায় শুরু করুন:

@Override
public void onPause() {
}

@Override
public void onResume() {
}

নমুনা বিজ্ঞাপন নেটওয়ার্কে একটি বিরতি বা পুনরায় শুরু করার কল অন্তর্ভুক্ত করা হয় না, তাই এটি একটি খালি বাস্তবায়ন প্রদান করে।

যখন অ্যাডাপ্টারটি ধ্বংস হতে চলেছে তখন মধ্যস্থতা onDestroy() কল করার সর্বোত্তম প্রচেষ্টা করবে। এখানে যেকোন প্রয়োজনীয় পরিষ্কার করুন:

@Override
public void onDestroy() {
    if (sampleAdView != null) {
        sampleAdView.destroy();
    }
}

স্মার্ট ব্যানার

Google মোবাইল বিজ্ঞাপন SDK একটি স্মার্ট ব্যানার বিজ্ঞাপনের আকার সমর্থন করে, যা ডিভাইসের আকারের উপর নির্ভর করে সম্পূর্ণ প্রস্থ এবং পরিবর্তনশীল উচ্চতা।

একটি স্মার্ট ব্যানারের বিজ্ঞাপনের আকার সঠিকভাবে পেতে, আপনার অ্যাডাপ্টারের প্রস্থ পেতে adSize.getWidthInPixels(context) এবং উচ্চতা পেতে adSize.getHeight adSize.getHeight() adSize.getHeightInPixels(context) ব্যবহার করা উচিত। তারপরে এটি ডিভাইসের ঘনত্ব দ্বারা ভাগ করা উচিত:

int widthInPixels = adSize.getWidthInPixels(context);
int heightInPixels = adSize.getHeightInPixels(context);
DisplayMetrics displayMetrics = Resources.getSystem().getDisplayMetrics();
int widthInDp = Math.round(widthInPixels / displayMetrics.density);
int heightInDp = Math.round(heightInPixels / displayMetrics.density);

তারপরে আপনি বিজ্ঞাপনের অনুরোধ করার সময় আকার হিসাবে widthInDp এবং heightInDp ব্যবহার করতে পারেন।

এটাই! আপনার কাছে এখন ব্যানারের জন্য একটি কার্যকরী মধ্যস্থতা অ্যাডাপ্টার আছে! রেফারেন্সের জন্য, নমুনা অ্যাডাপ্টারের একটি সম্পূর্ণ বাস্তবায়ন এখানে পাওয়া যাবে।

একটি ইন্টারস্টিশিয়াল অ্যাডাপ্টার প্রয়োগ করুন

ইন্টারস্টিশিয়াল বিজ্ঞাপনের জন্য অ্যাডাপ্টার বাস্তবায়ন ব্যানার বিজ্ঞাপনের অনুরূপ। ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলিকে সমর্থন করে এমন একটি অ্যাডাপ্টার বাস্তবায়ন করতে, একটি শ্রেণী তৈরি করুন যা MediationInterstitialAdapter প্রয়োগ করে:

public class SampleAdapter implements MediationInterstitialAdapter {
    @Override
    public void requestInterstitialAd(
            Context context,
            MediationInterstitialListener listener,
            Bundle serverParameters,
            MediationAdRequest mediationAdRequest,
            Bundle mediationExtras) {}

    @Override
    public View showInterstitial() {}

    @Override
    public void onDestroy() {}

    @Override
    public void onPause() {}

    @Override
    public void onResume() {}
}

যদি আপনার অ্যাডাপ্টারও ব্যানার সমর্থন করে, আপনি উভয় ইন্টারফেস বাস্তবায়ন করতে একই অ্যাডাপ্টার ক্লাস ব্যবহার করতে পারেন।

একটি MediationInterstitialAdapter বাস্তবায়নের জন্য এগিয়ে যাওয়ার আগে সার্ভার প্যারামিটার এবং মধ্যস্থতা অতিরিক্তগুলির সাথে এখনই নিজেকে পরিচিত করুন৷

সার্ভার প্যারামিটার (ইন্টারস্টিশিয়াল)

ব্যানার সার্ভার পরামিতি বিভাগ দেখুন।

অতিরিক্ত টার্গেটিং প্যারামিটার (ইন্টারস্টিশিয়াল)

ব্যানার অতিরিক্ত টার্গেটিং পরামিতি বিভাগ দেখুন।

মধ্যস্থতা অতিরিক্ত (ইন্টারস্টিশিয়াল)

ব্যানার মধ্যস্থতা অতিরিক্ত বিভাগ দেখুন.

অনুরোধ ইন্টারস্টিশিয়াল অ্যাড

requestInterstitialAd() পদ্ধতিটি অ্যাডাপ্টারটি ইনস্ট্যান্ট করার সাথে সাথেই কল করা হয়। এখানেই আপনার ইন্টারস্টিশিয়াল বিজ্ঞাপন তৈরি করা উচিত এবং একটি ইন্টারস্টিশিয়াল অনুরোধ করা উচিত।

নমুনা বিজ্ঞাপন নেটওয়ার্কের জন্য requestInterstitialAd() এর বাস্তবায়ন এই রকম হবে:

public class SampleAdapter implements MediationBannerAdapter {
    private static final String SAMPLE_AD_UNIT_KEY = "ad_unit";

    private SampleInterstitial sampleInterstitial;

    @Override
    public void requestInterstitialAd(
            Context context, // May be an application context.
            MediationInterstitialListener listener,
            Bundle serverParameters,
            MediationAdRequest mediationAdRequest,
            Bundle mediationExtras) {
        sampleInterstitial = new SampleInterstitial(context);

        if (serverParameters.containsKey(SAMPLE_AD_UNIT_KEY)) {
            sampleInterstitial.setAdUnit(serverParameters.getString(SAMPLE_AD_UNIT_KEY));
        } else {
            listener.onAdFailedToLoad(this, AdRequest.ERROR_CODE_INVALID_REQUEST);
        }

        sampleInterstitial.setAdListener(
                new SampleInterstitialEventForwarder(listener, this));

        // Make an ad request.
        SampleAdRequest request = new SampleAdRequest();
        request.setTestMode(mediationAdRequest.isTesting());
        request.setKeywords(mediationAdRequest.getKeywords());
        sampleInterstitial.fetchAd(request);
    }
}

অনুমান করবেন না যে প্রসঙ্গ প্যারামিটার টাইপের কার্যকলাপ! Google মোবাইল বিজ্ঞাপন মধ্যস্থতা অ্যাপ ডেভেলপারের দ্বারা পাস করা প্রসঙ্গকে এগিয়ে দেয় এবং এটি সম্ভব যে একটি অ্যাপ্লিকেশন প্রসঙ্গ পাস করা হয়েছে। যদি আপনার অ্যাডাপ্টার একটি অ্যাপ্লিকেশন প্রসঙ্গ পরিচালনা করতে না পারে, তাহলে এটির কোড AdRequest.ERROR_CODE_INVALID_REQUEST সহ onAdFailedToLoad চালু করার পরামর্শ দেওয়া হয়।

মধ্যস্থতা ইন্টারস্টিশিয়াল লিসেনার কলব্যাক

আপনার requestInterstitialAd -এ আপনাকে দেওয়া MediationInterstitialListener সংরক্ষণ করা উচিত যাতে আপনি বিজ্ঞাপন ইভেন্টগুলিকে Google মোবাইল বিজ্ঞাপন মধ্যস্থতায় ফেরত পাঠাতে পারেন। প্রতিটি কলব্যাক অবশ্যই বিজ্ঞাপনের জীবনচক্রের উপযুক্ত সময়ে আহ্বান করতে হবে:

পদ্ধতি কখন ফোন করতে হবে
onAdLoaded ইন্টারস্টিশিয়াল অনুরোধ সফল হয়েছে৷
onAdFailedToLoad ইন্টারস্টিশিয়াল অনুরোধ ব্যর্থ হয়েছে৷
onAdOpened ইন্টারস্টিশিয়াল দেখানো হচ্ছে।
onAdclosed ইন্টারস্টিশিয়াল বন্ধ আছে।
onAdLeftApplication ইন্টারস্টিশিয়াল ব্যবহারকারীকে অ্যাপটি ছেড়ে দেয়।

ইন্টারস্টিশিয়াল দেখান

একবার আপনি MediationInterstitialListener.onAdLoaded() কল করলে, showInterstitial() কল না হওয়া পর্যন্ত ইন্টারস্টিশিয়াল দেখানোর জন্য অপেক্ষা করা উচিত। অ্যাপ ডেভেলপার সিদ্ধান্ত নেয় কখন ইন্টারস্টিশিয়াল দেখাতে হবে, যা অনুরোধ করার পর কয়েক মিনিট পর্যন্ত হতে পারে।

showInterstitial() এর বাস্তবায়ন বেশ সহজবোধ্য। শুধু আপনার ইন্টারস্টিশিয়াল অবজেক্ট দেখান:

@Override
public void showInterstitial() {
    sampleInterstitial.show();
}

কার্যকলাপ জীবনচক্র ঘটনা (ইন্টারস্টিশিয়াল)

ব্যানার কার্যকলাপ জীবনচক্র ইভেন্ট বিভাগ দেখুন.

অ্যাক্টিভিটি লাইফসাইকেল ইভেন্টগুলি বাস্তবায়ন করার পরে, আপনার মধ্যস্থতা অ্যাডাপ্টার ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি পরিচালনা করার জন্য প্রস্তুত! রেফারেন্সের জন্য, নমুনা অ্যাডাপ্টারের একটি সম্পূর্ণ বাস্তবায়ন এখানে পাওয়া যাবে।

FAQ

আমি কি করব যদি আমার অ্যাডাপ্টার শুধুমাত্র ব্যানার বা ইন্টারস্টিশিয়াল বিজ্ঞাপন সমর্থন করে, কিন্তু উভয়ই না?

যদি আপনার অ্যাডাপ্টার শুধুমাত্র ব্যানার সমর্থন করে, তাহলে আপনাকে শুধুমাত্র MediationBannerAdapter ইন্টারফেস বাস্তবায়ন করতে হবে। যদি আপনার অ্যাডাপ্টার শুধুমাত্র ইন্টারস্টিশিয়াল সমর্থন করে, তাহলে আপনাকে শুধুমাত্র MediationInterstitialAdapter ইন্টারফেস প্রয়োগ করতে হবে।

,

এই নির্দেশিকাটি একটি মধ্যস্থতা অ্যাডাপ্টার তৈরি করতে চাওয়া বিজ্ঞাপন নেটওয়ার্কগুলির জন্য উদ্দিষ্ট৷ আপনি যদি একজন প্রকাশক হন, তাহলে প্রকাশকের মধ্যস্থতার নির্দেশাবলী দেখুন।

একটি বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টার হল আপনার বিজ্ঞাপন নেটওয়ার্ক এবং Google মোবাইল বিজ্ঞাপন মধ্যস্থতার মধ্যে যোগাযোগের স্তর।

অ্যাডাপ্টার ব্যানার বিজ্ঞাপনগুলিকে সমর্থন করার জন্য MediationBannerAdapter এবং ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলিকে সমর্থন করার জন্য MediationInterstitialAdapter বাস্তবায়নের জন্য দায়ী৷ এই ইভেন্টগুলির Google মোবাইল বিজ্ঞাপন মধ্যস্থতাকে অবহিত করার জন্য এটিকে অবশ্যই MediationBannerListener এবং MediationInterstitialListener কলব্যাকগুলি আহ্বান করতে হবে, যা বিকাশকারীকেও ফরোয়ার্ড করা যেতে পারে৷

নমুনা বিজ্ঞাপন নেটওয়ার্ক

একটি নমুনা বিজ্ঞাপন নেটওয়ার্কের জন্য কীভাবে একটি অ্যাডাপ্টার তৈরি করতে হয় এই নির্দেশিকাটি প্রদর্শন করে৷ নমুনা বিজ্ঞাপন নেটওয়ার্কে নিম্নলিখিত শ্রেণীগুলি রয়েছে যেগুলি বেশিরভাগ বিজ্ঞাপন নেটওয়ার্ক দ্বারা অফার করা ক্লাসগুলির প্রতিনিধিত্ব করে:

class SampleAdView {
    public SampleAdView(Context context);
    public void setSize(SampleAdSize size);
    public void setAdUnit(String sampleAdUnit);
    public void setAdListener(SampleAdListener listener);
    public void fetchAd(SampleAdRequest request);
    public void destroy();
}

class SampleAdSize {
    public SampleAdSize(int width, int height);
    public int getWidth();
    public int getHeight();
}

class SampleAdRequest {
    public SampleAdRequest();
    public void setKeywords(Set<String> keywords);
    public void setTestMode(boolean useTesting);
}

class SampleAdListener {
    public void onAdFetchSucceeded();
    public void onAdFetchFailed(SampleErrorCode code);
    public void onAdFullScreen();
    public void onAdClosed();
}

enum SampleErrorCode {
    UNKNOWN,
    BAD_REQUEST,
    NETWORK_ERROR,
    NO_INVENTORY
}

class SampleInterstitial {
    public SampleInterstitial(Context context);
    public void setAdUnit(String sampleAdUnit);
    public void setAdListener(SampleAdListener listener);
    public void fetchAd(SampleAdRequest request);
    public void show();
    public void destroy();
}

এই ক্লাসগুলি সম্পর্কে আরও তথ্যের জন্য সম্পূর্ণ SDK বাস্তবায়ন দেখুন।

একটি ব্যানার অ্যাডাপ্টার প্রয়োগ করুন

ব্যানার বিজ্ঞাপন সমর্থন করে এমন একটি অ্যাডাপ্টার বাস্তবায়ন করতে, একটি শ্রেণী তৈরি করুন যা MediationBannerAdapter প্রয়োগ করে।

public class SampleAdapter implements MediationBannerAdapter {
    @Override
    public void requestBannerAd(
            Context context,
            MediationBannerListener listener,
            Bundle serverParameters,
            AdSize adSize,
            MediationAdRequest mediationAdRequest,
            Bundle mediationExtras) {}

    @Override
    public View getBannerView() {}

    @Override
    public void onDestroy() {}

    @Override
    public void onPause() {}

    @Override
    public void onResume() {}
}

আমরা MediationBannerAdapter বাস্তবায়নে ডুব দেওয়ার আগে, আসুন সার্ভারের প্যারামিটার, মধ্যস্থতা অতিরিক্ত এবং কীভাবে এই মানগুলি অ্যাডাপ্টারে প্রেরণ করা হয় তা নিয়ে আলোচনা করি।

সার্ভার পরামিতি

একজন প্রকাশককে শনাক্ত করার জন্য আপনার বিজ্ঞাপন নেটওয়ার্কের সম্ভবত কিছু শনাক্তকারী(গুলি) প্রয়োজন। নমুনা বিজ্ঞাপন নেটওয়ার্ক, উদাহরণস্বরূপ, শুধুমাত্র একটি বিজ্ঞাপন ইউনিট প্রয়োজন। এই প্রয়োজনীয় পরামিতিগুলি আপনাকে requestBannerAd() এর ভিতরে serverParameters বান্ডেলে সরবরাহ করা হয়েছে। বিকাশের সময়, আপনি অনুমান করতে পারেন যে বান্ডিলটি ইতিমধ্যে আপনার প্রয়োজনীয় কীগুলির সাথে জনবহুল হবে:

private static final String SAMPLE_AD_UNIT_KEY = "ad_unit";

@Override
public void requestBannerAd(
        Context context,
        MediationBannerListener listener,
        Bundle serverParameters,
        AdSize adSize,
        MediationAdRequest mediationAdRequest,
        Bundle mediationExtras) {
    String adUnit = serverParameters.getString(SAMPLE_AD_UNIT_KEY);
    ...
}

AdMob আপনাকে একটি প্রশ্নাবলী পাঠাবে যাতে অনুরোধ করা এবং বিজ্ঞাপন পরিবেশন করার জন্য একজন প্রকাশকের কাছ থেকে আপনার কোন সার্ভার প্যারামিটার প্রয়োজন। AdMob সেই ইনপুটটি AdMob UI এ আপনার নেটওয়ার্ক কনফিগার করতে ব্যবহার করবে। নীচের স্ক্রিনশটটি দেখায় যে সহস্রাব্দ মিডিয়ার জন্য APID প্রয়োজন এবং InMobi-এর জন্য App ID প্রয়োজন৷

আপনার অ্যাডাপ্টারকে ইনস্ট্যান্টিয়েট করার সময় AdMob সার্ভার serverParameters বান্ডেল তৈরি করতে এই তথ্য ব্যবহার করবে।

প্রকাশকরা কীভাবে মধ্যস্থতা বিজ্ঞাপন নেটওয়ার্কগুলি কনফিগার করবেন সে সম্পর্কে আরও তথ্যের জন্য এই নিবন্ধটি দেখুন৷

অতিরিক্ত টার্গেটিং পরামিতি

MediationAdRequest এ কিছু সাধারণ টার্গেটিং তথ্য রয়েছে যা আপনি বিজ্ঞাপন লক্ষ্য করার জন্য ব্যবহার করতে পারেন যেমন:

মধ্যস্থতা অতিরিক্ত

যদি আপনার বিজ্ঞাপন নেটওয়ার্ক টার্গেটিং তথ্য সমর্থন করে যা MediationAdRequest প্রদান করে না, তাহলে অ্যাপ বিকাশকারীরা আপনার নেটওয়ার্কে বিশেষভাবে mediationExtras একটি বান্ডিল পাঠাতে পারে। মধ্যস্থতা কিভাবে মধ্যস্থতা অতিরিক্ত পাস করতে হয় তার একটি উদাহরণ প্রদান করে।

বিকাশকারীদের জন্য ঐচ্ছিকভাবে এই তথ্যটি পাস করা সহজ করতে, আপনি আপনার অ্যাডাপ্টারে একটি বান্ডেল বিল্ডার ক্লাস প্রদান করতে পারেন। ধরা যাক আপনার নেটওয়ার্ক একটি আয় মান পাস সমর্থন করে. আপনি আপনার অ্যাডাপ্টারে একটি বিল্ডার ক্লাস যোগ করতে পারেন যা আয় সেট করে:

public static final class BundleBuilder {
    private int income;

    public BundleBuilder setIncome(int income) {
        this.income = income;
        return this;
    }

    public Bundle build() {
        Bundle bundle = new Bundle();
        bundle.putInt("income", income);
        return bundle;
    }
}

এই শ্রেণীটি আপনার নেটওয়ার্কের জন্য একটি বান্ডিল তৈরি করতে বিকাশকারীকে একটি পরিষ্কার API প্রদান করে:

Bundle sampleAdapterBundle =
        new SampleAdapter.BundleBuilder().setIncome(100000).build();

অনুরোধ ব্যানার বিজ্ঞাপন()

এখন যেহেতু আপনাকে সার্ভার প্যারামিটার এবং মধ্যস্থতা অতিরিক্তের সাথে পরিচয় করানো হয়েছে, আমরা সেগুলিকে একটি MediationBannerAdapter তৈরি করতে ব্যবহার করতে পারি।

requestBannerAd() পদ্ধতিটি অ্যাডাপ্টারটি ইনস্ট্যান্টিয়েট করার সাথে সাথে কল করা হয়। এখানেই আপনার বিজ্ঞাপনের দৃশ্য তৈরি করা উচিত এবং একটি ব্যানার বিজ্ঞাপনের অনুরোধ করা উচিত।

নমুনা বিজ্ঞাপন নেটওয়ার্কের জন্য requestBannerAd() এর বাস্তবায়ন এইরকম দেখাচ্ছে:

public class SampleAdMobAdapter implements MediationBannerAdapter {
    private static final String SAMPLE_AD_UNIT_KEY = "ad_unit";
    private SampleAdView sampleAdView;

    @Override
    public void requestBannerAd(
            Context context, // May be an application context.
            MediationBannerListener listener,
            Bundle serverParameters,
            AdSize adSize,
            MediationAdRequest mediationAdRequest,
            Bundle mediationExtras) {
        sampleAdView = new SampleAdView(context);

        if (serverParameters.containsKey(SAMPLE_AD_UNIT_KEY)) {
            sampleAdView.setAdUnit(serverParameters.getString(SAMPLE_AD_UNIT_KEY));
        } else {
            listener.onAdFailedToLoad(this, AdRequest.ERROR_CODE_INVALID_REQUEST);
        }

        sampleAdView.setSize(
                new SampleAdSize(adSize.getWidth(),adSize.getHeight()));

        sampleAdView.setAdListener(
                new SampleBannerEventForwarder(listener, this));

        SampleAdRequest request = new SampleAdRequest();
        request.setTestMode(mediationAdRequest.isTesting());
        request.setKeywords(mediationAdRequest.getKeywords());
        sampleAdView.fetchAd(request);
    }
}

অনুমান করবেন না যে প্রসঙ্গ প্যারামিটারটি Activity প্রকারের। প্রকাশকের বাস্তবায়নের উপর নির্ভর করে, Google মোবাইল বিজ্ঞাপন মধ্যস্থতা আপনার অ্যাডাপ্টারে একটি অ্যাপ্লিকেশন প্রসঙ্গ ফরোয়ার্ড করতে পারে। যদি আপনার অ্যাডাপ্টার একটি অ্যাপ্লিকেশন প্রসঙ্গ পরিচালনা করতে না পারে, তাহলে ত্রুটি কোড AdRequest.ERROR_CODE_INVALID_REQUEST সহ onAdFailedToLoad() চালু করার পরামর্শ দেওয়া হয়।

মধ্যস্থতা ব্যানার লিসেনার কলব্যাক

আপনার requestBannerAd() এ আপনাকে দেওয়া MediationBannerListener সংরক্ষণ করা উচিত যাতে আপনি বিজ্ঞাপন ইভেন্টগুলিকে Google মোবাইল বিজ্ঞাপন মধ্যস্থতায় ফেরত পাঠাতে পারেন। প্রতিটি কলব্যাক অবশ্যই বিজ্ঞাপনের জীবনচক্রের উপযুক্ত সময়ে আহ্বান করতে হবে:

পদ্ধতি কখন ফোন করতে হবে
onAdLoaded() ব্যানার অনুরোধ সফল হয়েছে.
onAdFailedToLoad() ব্যানার অনুরোধ ব্যর্থ হয়েছে.
onAdClicked() ব্যানারে ক্লিক করা হয়েছে।
onAdOpened() ব্যানারটি একটি পূর্ণ স্ক্রীন ভিউ রেন্ডার করছে৷
onAdClosed() ব্যানারে ক্লিক করার পর ব্যবহারকারী অ্যাপে ফিরে আসেন।
onAdLeftApplication() ব্যানার ব্যবহারকারীকে অ্যাপটি ছেড়ে যেতে বাধ্য করে।

নমুনা বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টার ইভেন্ট ফরওয়ার্ডিং পরিচালনা করতে SampleBannerEventForwarder নামে একটি ক্লাস তৈরি করে:

public class SampleBannerEventForwarder extends SampleAdListener {
    private MediationBannerListener mediationListener;
    private SampleAdapter adapter;

    public SampleBannerEventForwarder(
            MediationBannerListener listener, SampleAdapter adapter) {
        this.mediationListener = listener;
        this.adapter = adapter;
    }

    @Override
    public void onAdFetchSucceeded() {
        mediationListener.onAdLoaded(adapter);
    }

    @Override
    public void onAdFetchFailed(SampleErrorCode errorCode) {
        switch(errorCode) {
            case UNKNOWN:
                mediationListener.onAdFailedToLoad(adapter, AdRequest.ERROR_CODE_INTERNAL_ERROR);
                break;
            case BAD_REQUEST:
                mediationListener.onAdFailedToLoad(adapter, AdRequest.ERROR_CODE_INVALID_REQUEST);
                break;
            case NETWORK_ERROR:
                mediationListener.onAdFailedToLoad(adapter, AdRequest.ERROR_CODE_NETWORK_ERROR);
                break;
            case NO_INVENTORY:
                mediationListener.onAdFailedToLoad(adapter, AdRequest.ERROR_CODE_NO_FILL);
                break;
        }
    }

    @Override
    public void onAdFullScreen() {
        mediationListener.onAdClicked(adapter);
        mediationListener.onAdOpened(adapter);
        mediationListener.onAdLeftApplication(adapter);
    }

    @Override
    public void onAdClosed() {
        mediationListener.onAdClosed(adapter);
    }
}

একই কলব্যাকে onAdClicked , onAdOpened , এবং onAdLeftApplication কিভাবে নমুনা বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টার পাঠানো হয়েছে তা নোট করুন৷ যদিও আপনার নেটওয়ার্কের কলব্যাকগুলি Google মোবাইল বিজ্ঞাপনগুলির জন্য প্রয়োজনীয় কলব্যাকগুলির সাথে হুবহু মেলে না, একটি যুক্তিসঙ্গত ম্যাপিং প্রদান করা অ্যাডাপ্টারের দায়িত্ব৷

getBannerView

একবার আপনি MediationBannerListener.onAdLoaded() এ কল করলে, মধ্যস্থতা আপনার বিজ্ঞাপন নেটওয়ার্কের ব্যানার ভিউ স্ক্রীনে দেখানোর জন্য getBannerView() কল করবে। আপনি requestBannerAd() এ যে ব্যানার ভিউ তৈরি করেছেন তা কেবল ফিরিয়ে দিন:

@Override
public View getBannerView() {
    return sampleAdView;
}

কার্যকলাপ জীবনচক্র ঘটনা

অ্যাপ ডেভেলপার ইভেন্টগুলির মধ্যস্থতা সম্পর্কে অবহিত করলে মধ্যস্থতা onPause() এবং onResume() কার্যকলাপ ইভেন্টগুলির অ্যাডাপ্টারকে অবহিত করবে। আপনার ব্যানারের যেকোনো প্রয়োজনীয় বিরতি এবং পুনরায় শুরু করুন:

@Override
public void onPause() {
}

@Override
public void onResume() {
}

নমুনা বিজ্ঞাপন নেটওয়ার্কে একটি বিরতি বা পুনরায় শুরু করার কল অন্তর্ভুক্ত করা হয় না, তাই এটি একটি খালি বাস্তবায়ন প্রদান করে।

যখন অ্যাডাপ্টারটি ধ্বংস হতে চলেছে তখন মধ্যস্থতা onDestroy() কল করার সর্বোত্তম প্রচেষ্টা করবে। এখানে যেকোন প্রয়োজনীয় ক্লিনআপ করুন:

@Override
public void onDestroy() {
    if (sampleAdView != null) {
        sampleAdView.destroy();
    }
}

স্মার্ট ব্যানার

Google মোবাইল বিজ্ঞাপন SDK একটি স্মার্ট ব্যানার বিজ্ঞাপনের আকার সমর্থন করে, যা ডিভাইসের আকারের উপর নির্ভর করে সম্পূর্ণ প্রস্থ এবং পরিবর্তনশীল উচ্চতা।

একটি স্মার্ট ব্যানারের বিজ্ঞাপনের আকার সঠিকভাবে পেতে, আপনার অ্যাডাপ্টারের প্রস্থ পেতে adSize.getWidthInPixels(context) এবং উচ্চতা পেতে adSize.getHeight adSize.getHeight() adSize.getHeightInPixels(context) ব্যবহার করা উচিত। তারপরে এটি ডিভাইসের ঘনত্ব দ্বারা ভাগ করা উচিত:

int widthInPixels = adSize.getWidthInPixels(context);
int heightInPixels = adSize.getHeightInPixels(context);
DisplayMetrics displayMetrics = Resources.getSystem().getDisplayMetrics();
int widthInDp = Math.round(widthInPixels / displayMetrics.density);
int heightInDp = Math.round(heightInPixels / displayMetrics.density);

তারপরে আপনি বিজ্ঞাপনের অনুরোধ করার সময় আকার হিসাবে widthInDp এবং heightInDp ব্যবহার করতে পারেন।

এটাই! আপনার কাছে এখন ব্যানারের জন্য একটি কার্যকরী মধ্যস্থতা অ্যাডাপ্টার আছে! রেফারেন্সের জন্য, নমুনা অ্যাডাপ্টারের একটি সম্পূর্ণ বাস্তবায়ন এখানে পাওয়া যাবে।

একটি ইন্টারস্টিশিয়াল অ্যাডাপ্টার প্রয়োগ করুন

ইন্টারস্টিশিয়াল বিজ্ঞাপনের জন্য অ্যাডাপ্টার বাস্তবায়ন ব্যানার বিজ্ঞাপনের অনুরূপ। ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলিকে সমর্থন করে এমন একটি অ্যাডাপ্টার বাস্তবায়ন করতে, একটি শ্রেণী তৈরি করুন যা MediationInterstitialAdapter প্রয়োগ করে:

public class SampleAdapter implements MediationInterstitialAdapter {
    @Override
    public void requestInterstitialAd(
            Context context,
            MediationInterstitialListener listener,
            Bundle serverParameters,
            MediationAdRequest mediationAdRequest,
            Bundle mediationExtras) {}

    @Override
    public View showInterstitial() {}

    @Override
    public void onDestroy() {}

    @Override
    public void onPause() {}

    @Override
    public void onResume() {}
}

যদি আপনার অ্যাডাপ্টারও ব্যানার সমর্থন করে, আপনি উভয় ইন্টারফেস বাস্তবায়ন করতে একই অ্যাডাপ্টার ক্লাস ব্যবহার করতে পারেন।

একটি MediationInterstitialAdapter বাস্তবায়নের জন্য এগিয়ে যাওয়ার আগে সার্ভার প্যারামিটার এবং মধ্যস্থতা অতিরিক্তগুলির সাথে এখনই নিজেকে পরিচিত করুন৷

সার্ভার প্যারামিটার (ইন্টারস্টিশিয়াল)

ব্যানার সার্ভার পরামিতি বিভাগ দেখুন।

অতিরিক্ত টার্গেটিং প্যারামিটার (ইন্টারস্টিশিয়াল)

ব্যানার অতিরিক্ত টার্গেটিং পরামিতি বিভাগ দেখুন।

মধ্যস্থতা অতিরিক্ত (ইন্টারস্টিশিয়াল)

ব্যানার মধ্যস্থতা অতিরিক্ত বিভাগ দেখুন.

অনুরোধ ইন্টারস্টিশিয়াল অ্যাড

requestInterstitialAd() পদ্ধতিটি অ্যাডাপ্টারটি ইনস্ট্যান্ট করার সাথে সাথেই কল করা হয়। এখানেই আপনার ইন্টারস্টিশিয়াল বিজ্ঞাপন তৈরি করা উচিত এবং একটি ইন্টারস্টিশিয়াল অনুরোধ করা উচিত।

নমুনা বিজ্ঞাপন নেটওয়ার্কের জন্য requestInterstitialAd() এর বাস্তবায়ন এই রকম হবে:

public class SampleAdapter implements MediationBannerAdapter {
    private static final String SAMPLE_AD_UNIT_KEY = "ad_unit";

    private SampleInterstitial sampleInterstitial;

    @Override
    public void requestInterstitialAd(
            Context context, // May be an application context.
            MediationInterstitialListener listener,
            Bundle serverParameters,
            MediationAdRequest mediationAdRequest,
            Bundle mediationExtras) {
        sampleInterstitial = new SampleInterstitial(context);

        if (serverParameters.containsKey(SAMPLE_AD_UNIT_KEY)) {
            sampleInterstitial.setAdUnit(serverParameters.getString(SAMPLE_AD_UNIT_KEY));
        } else {
            listener.onAdFailedToLoad(this, AdRequest.ERROR_CODE_INVALID_REQUEST);
        }

        sampleInterstitial.setAdListener(
                new SampleInterstitialEventForwarder(listener, this));

        // Make an ad request.
        SampleAdRequest request = new SampleAdRequest();
        request.setTestMode(mediationAdRequest.isTesting());
        request.setKeywords(mediationAdRequest.getKeywords());
        sampleInterstitial.fetchAd(request);
    }
}

অনুমান করবেন না যে প্রসঙ্গ প্যারামিটার টাইপের কার্যকলাপ! Google মোবাইল বিজ্ঞাপন মধ্যস্থতা অ্যাপ ডেভেলপারের দ্বারা পাস করা প্রসঙ্গকে এগিয়ে দেয় এবং এটি সম্ভব যে একটি অ্যাপ্লিকেশন প্রসঙ্গ পাস করা হয়েছে। যদি আপনার অ্যাডাপ্টার একটি অ্যাপ্লিকেশন প্রসঙ্গ পরিচালনা করতে না পারে, তাহলে এটির কোড AdRequest.ERROR_CODE_INVALID_REQUEST সহ onAdFailedToLoad চালু করার পরামর্শ দেওয়া হয়।

মধ্যস্থতা ইন্টারস্টিশিয়াল লিসেনার কলব্যাক

আপনার requestInterstitialAd -এ আপনাকে দেওয়া MediationInterstitialListener সংরক্ষণ করা উচিত যাতে আপনি বিজ্ঞাপন ইভেন্টগুলিকে Google মোবাইল বিজ্ঞাপন মধ্যস্থতায় ফেরত পাঠাতে পারেন। প্রতিটি কলব্যাক অবশ্যই বিজ্ঞাপনের জীবনচক্রের উপযুক্ত সময়ে আহ্বান করতে হবে:

পদ্ধতি কখন ফোন করতে হবে
onAdLoaded ইন্টারস্টিশিয়াল অনুরোধ সফল হয়েছে৷
onAdFailedToLoad ইন্টারস্টিশিয়াল অনুরোধ ব্যর্থ হয়েছে৷
onAdOpened ইন্টারস্টিশিয়াল দেখানো হচ্ছে।
onAdclosed ইন্টারস্টিশিয়াল বন্ধ আছে।
onAdLeftApplication ইন্টারস্টিশিয়াল ব্যবহারকারীকে অ্যাপটি ছেড়ে দেয়।

ইন্টারস্টিশিয়াল দেখান

একবার আপনি MediationInterstitialListener.onAdLoaded() কল করলে, showInterstitial() কল না হওয়া পর্যন্ত ইন্টারস্টিশিয়াল দেখানোর জন্য অপেক্ষা করা উচিত। অ্যাপ ডেভেলপার সিদ্ধান্ত নেয় কখন ইন্টারস্টিশিয়াল দেখাতে হবে, যা অনুরোধ করার কয়েক মিনিট পর হতে পারে।

showInterstitial() এর বাস্তবায়ন বেশ সহজবোধ্য। শুধু আপনার ইন্টারস্টিশিয়াল অবজেক্ট দেখান:

@Override
public void showInterstitial() {
    sampleInterstitial.show();
}

কার্যকলাপ জীবনচক্র ঘটনা (ইন্টারস্টিশিয়াল)

ব্যানার কার্যকলাপ জীবনচক্র ইভেন্ট বিভাগ দেখুন.

অ্যাক্টিভিটি লাইফসাইকেল ইভেন্টগুলি বাস্তবায়ন করার পরে, আপনার মধ্যস্থতা অ্যাডাপ্টার ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি পরিচালনা করার জন্য প্রস্তুত! রেফারেন্সের জন্য, নমুনা অ্যাডাপ্টারের একটি সম্পূর্ণ বাস্তবায়ন এখানে পাওয়া যাবে।

FAQ

আমি কি করব যদি আমার অ্যাডাপ্টার শুধুমাত্র ব্যানার বা ইন্টারস্টিশিয়াল বিজ্ঞাপন সমর্থন করে, কিন্তু উভয়ই না?

যদি আপনার অ্যাডাপ্টার শুধুমাত্র ব্যানার সমর্থন করে, তাহলে আপনাকে শুধুমাত্র MediationBannerAdapter ইন্টারফেস বাস্তবায়ন করতে হবে। যদি আপনার অ্যাডাপ্টার শুধুমাত্র ইন্টারস্টিশিয়াল সমর্থন করে, তাহলে আপনাকে শুধুমাত্র MediationInterstitialAdapter ইন্টারফেস প্রয়োগ করতে হবে।