Search in sources :

Example 1 with RequestParameters

use of com.mopub.nativeads.RequestParameters in project prebid-mobile-android by prebid.

the class XandrNativeInAppMoPubDemoActivity method loadInAppNativeMopub.

// Mopub
private void loadInAppNativeMopub() {
    {
        removePreviousAds();
        PrebidMobile.setPrebidServerHost(Host.APPNEXUS);
        PrebidMobile.setPrebidServerAccountId(Constants.PBS_ACCOUNT_ID_APPNEXUS);
        final NativeAdUnit nativeAdUnit = new NativeAdUnit(Constants.PBS_CONFIG_ID_NATIVE_APPNEXUS);
        nativeAdUnit.setContextType(NativeAdUnit.CONTEXT_TYPE.SOCIAL_CENTRIC);
        nativeAdUnit.setPlacementType(NativeAdUnit.PLACEMENTTYPE.CONTENT_FEED);
        nativeAdUnit.setContextSubType(NativeAdUnit.CONTEXTSUBTYPE.GENERAL_SOCIAL);
        adUnit = nativeAdUnit;
        ArrayList<NativeEventTracker.EVENT_TRACKING_METHOD> methods = new ArrayList<>();
        methods.add(NativeEventTracker.EVENT_TRACKING_METHOD.IMAGE);
        methods.add(NativeEventTracker.EVENT_TRACKING_METHOD.JS);
        try {
            NativeEventTracker tracker = new NativeEventTracker(NativeEventTracker.EVENT_TYPE.IMPRESSION, methods);
            nativeAdUnit.addEventTracker(tracker);
        } catch (Exception e) {
            e.printStackTrace();
        }
        NativeTitleAsset title = new NativeTitleAsset();
        title.setLength(90);
        title.setRequired(true);
        nativeAdUnit.addAsset(title);
        NativeImageAsset icon = new NativeImageAsset();
        icon.setImageType(NativeImageAsset.IMAGE_TYPE.ICON);
        icon.setWMin(20);
        icon.setHMin(20);
        icon.setRequired(true);
        nativeAdUnit.addAsset(icon);
        NativeImageAsset image = new NativeImageAsset();
        image.setImageType(NativeImageAsset.IMAGE_TYPE.MAIN);
        image.setHMin(200);
        image.setWMin(200);
        image.setRequired(true);
        nativeAdUnit.addAsset(image);
        NativeDataAsset data = new NativeDataAsset();
        data.setLen(90);
        data.setDataType(NativeDataAsset.DATA_TYPE.SPONSORED);
        data.setRequired(true);
        nativeAdUnit.addAsset(data);
        NativeDataAsset body = new NativeDataAsset();
        body.setRequired(true);
        body.setDataType(NativeDataAsset.DATA_TYPE.DESC);
        nativeAdUnit.addAsset(body);
        NativeDataAsset cta = new NativeDataAsset();
        cta.setRequired(true);
        cta.setDataType(NativeDataAsset.DATA_TYPE.CTATEXT);
        nativeAdUnit.addAsset(cta);
        moPubNative = new MoPubNative(XandrNativeInAppMoPubDemoActivity.this, "2674981035164b2db5ef4b4546bf3d49", new MoPubNative.MoPubNativeNetworkListener() {

            @Override
            public void onNativeLoad(final NativeAd nativeAd) {
                Log.d("Prebid", "MoPub native ad loaded");
                XandrNativeInAppMoPubDemoActivity.this.ad = nativeAd;
                AdViewUtils.findNative(nativeAd, new PrebidNativeAdListener() {

                    @Override
                    public void onPrebidNativeLoaded(final PrebidNativeAd ad) {
                        inflatePrebidNativeAd(ad);
                    }

                    @Override
                    public void onPrebidNativeNotFound() {
                        inflateMoPubNativeAd(nativeAd);
                    }

                    @Override
                    public void onPrebidNativeNotValid() {
                        Log.e("ERROR", "onPrebidNativeNotValid");
                    // should not show the NativeAd on the screen, do something else
                    }
                });
            }

            @Override
            public void onNativeFail(NativeErrorCode errorCode) {
                Log.d("Prebid", "MoPub native failed to load: " + errorCode.toString());
            }
        });
        moPubNative.registerAdRenderer(new MoPubStaticNativeAdRenderer(null));
        RequestParameters.Builder mRP = new RequestParameters.Builder();
        // Fetching the demannd using OnCompleteListener
        nativeAdUnit.fetchDemand(mRP, new OnCompleteListener() {

            @Override
            public void onComplete(ResultCode resultCode) {
                if (resultCode == ResultCode.SUCCESS) {
                    moPubNative.makeRequest(mRP.build());
                } else {
                    Toast.makeText(XandrNativeInAppMoPubDemoActivity.this, "Native Ad Unit: " + resultCode.name(), Toast.LENGTH_SHORT).show();
                }
                refreshCount++;
                XandrNativeInAppMoPubDemoActivity.this.resultCode = resultCode;
                request = mRP.build();
            }
        });
    // ================================================================================
    // SAMPLE CODE: Fetching the demand using OnCompleteListener2
    // ================================================================================
    /*
            nativeAdUnit.fetchDemand(new OnCompleteListener2() {
                @Override
                public void onComplete(ResultCode resultCode, Map<String, String> unmodifiableMap) {
                    Log.e("MAP", unmodifiableMap.toString());
                    if (resultCode == ResultCode.SUCCESS) {
                        String keywords = "";
                        for (String key: unmodifiableMap.keySet()) {
                            keywords += key + ":" + unmodifiableMap.get(key) + ",";
                        }
                        // removing last ","
                        keywords = keywords.substring(0, keywords.length()-1);
                        RequestParameters mRP = new RequestParameters.Builder().keywords(keywords).build();
                        Log.d("Prebid", mRP.getKeywords());
                        mMoPubNative.makeRequest(mRP);
                    }
                    Toast.makeText(XandrNativeInAppMoPubDemoActivity.this, "Native Ad Unit: " + resultCode.name(), Toast.LENGTH_SHORT).show();
                }
            });
            */
    // ================================================================================
    // SAMPLE CODE: END
    // ================================================================================
    }
}
Also used : MoPubNative(com.mopub.nativeads.MoPubNative) ArrayList(java.util.ArrayList) NativeTitleAsset(org.prebid.mobile.NativeTitleAsset) NativeDataAsset(org.prebid.mobile.NativeDataAsset) NativeAdUnit(org.prebid.mobile.NativeAdUnit) NativeErrorCode(com.mopub.nativeads.NativeErrorCode) MoPubStaticNativeAdRenderer(com.mopub.nativeads.MoPubStaticNativeAdRenderer) RequestParameters(com.mopub.nativeads.RequestParameters) OnCompleteListener(org.prebid.mobile.OnCompleteListener) StaticNativeAd(com.mopub.nativeads.StaticNativeAd) PrebidNativeAd(org.prebid.mobile.PrebidNativeAd) NativeAd(com.mopub.nativeads.NativeAd) NativeImageAsset(org.prebid.mobile.NativeImageAsset) NativeEventTracker(org.prebid.mobile.NativeEventTracker) PrebidNativeAdListener(org.prebid.mobile.PrebidNativeAdListener) PrebidNativeAd(org.prebid.mobile.PrebidNativeAd) ResultCode(org.prebid.mobile.ResultCode)

Aggregations

MoPubNative (com.mopub.nativeads.MoPubNative)1 MoPubStaticNativeAdRenderer (com.mopub.nativeads.MoPubStaticNativeAdRenderer)1 NativeAd (com.mopub.nativeads.NativeAd)1 NativeErrorCode (com.mopub.nativeads.NativeErrorCode)1 RequestParameters (com.mopub.nativeads.RequestParameters)1 StaticNativeAd (com.mopub.nativeads.StaticNativeAd)1 ArrayList (java.util.ArrayList)1 NativeAdUnit (org.prebid.mobile.NativeAdUnit)1 NativeDataAsset (org.prebid.mobile.NativeDataAsset)1 NativeEventTracker (org.prebid.mobile.NativeEventTracker)1 NativeImageAsset (org.prebid.mobile.NativeImageAsset)1 NativeTitleAsset (org.prebid.mobile.NativeTitleAsset)1 OnCompleteListener (org.prebid.mobile.OnCompleteListener)1 PrebidNativeAd (org.prebid.mobile.PrebidNativeAd)1 PrebidNativeAdListener (org.prebid.mobile.PrebidNativeAdListener)1 ResultCode (org.prebid.mobile.ResultCode)1