use of org.prebid.mobile.drprebid.model.AdSize in project prebid-mobile-android by prebid.
the class RealTimeDemandTest method startTest.
public void startTest() {
GeneralSettings generalSettings = SettingsManager.getInstance(mContext).getGeneralSettings();
PrebidServerSettings prebidServerSettings = SettingsManager.getInstance(mContext).getPrebidServerSettings();
AdUnit adUnit = null;
if (generalSettings.getAdFormat() == AdFormat.BANNER) {
AdSize adSize = generalSettings.getAdSize();
adUnit = new BannerAdUnit(prebidServerSettings.getConfigId(), adSize.getWidth(), adSize.getHeight());
} else if (generalSettings.getAdFormat() == AdFormat.INTERSTITIAL) {
adUnit = new InterstitialAdUnit(prebidServerSettings.getConfigId());
}
List<AdUnit> adUnits = Collections.singletonList(adUnit);
String hostUrl;
switch(prebidServerSettings.getPrebidServer()) {
case APPNEXUS:
PrebidMobile.setPrebidServerHost(Host.APPNEXUS);
hostUrl = Constants.EndpointUrls.APPNEXUS_PREBID_SERVER;
break;
case RUBICON:
PrebidMobile.setPrebidServerHost(Host.RUBICON);
hostUrl = Constants.EndpointUrls.RUBICON_PREBID_SERVER;
break;
case CUSTOM:
PrebidMobile.setPrebidServerHost(Host.CUSTOM);
hostUrl = buildCustomServerEndpoint(prebidServerSettings.getCustomPrebidServerUrl());
Host.CUSTOM.setHostUrl(hostUrl);
break;
default:
PrebidMobile.setPrebidServerHost(Host.APPNEXUS);
hostUrl = Constants.EndpointUrls.APPNEXUS_PREBID_SERVER;
}
DemandRequestBuilder builder = new DemandRequestBuilder(mContext, prebidServerSettings.getConfigId(), generalSettings.getAdSize());
String request = builder.buildRequest(adUnits, prebidServerSettings.getAccountId(), true);
testResponseCount = 0;
testResults = new DemandTestResults(request);
for (int i = 0; i < REQUEST_MAX; i++) {
runTest(hostUrl, request, requestCompletionListener);
}
}
use of org.prebid.mobile.drprebid.model.AdSize in project prebid-mobile-android by prebid.
the class DemandRequestBuilder method getOpenRtbImpressions.
private JSONArray getOpenRtbImpressions(List<AdUnit> adUnits, boolean secureParams) throws JSONException {
JSONArray imps = new JSONArray();
for (AdUnit adUnit : adUnits) {
JSONObject imp = new JSONObject();
imp.put("id", UUID.randomUUID().toString());
if (secureParams) {
imp.put("secure", 1);
}
JSONArray sizes = new JSONArray();
for (AdSize size : adSizes) {
JSONObject sizeObject = new JSONObject();
sizeObject.put("w", size.getWidth());
sizeObject.put("h", size.getHeight());
sizes.put(sizeObject);
}
if (adUnit instanceof InterstitialAdUnit) {
imp.put("instl", 1);
Display display = ((Activity) context).getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
JSONObject sizeObject = new JSONObject();
sizeObject.put("w", size.x);
sizeObject.put("h", size.y);
sizes.put(sizeObject);
}
JSONObject formats = new JSONObject();
formats.put("format", sizes);
imp.put("banner", formats);
JSONObject ext = new JSONObject();
JSONObject prebid = new JSONObject();
JSONObject storedRequest = new JSONObject();
storedRequest.put("id", configId);
prebid.put("storedrequest", storedRequest);
ext.put("prebid", prebid);
imp.put("ext", ext);
imps.put(imp);
}
return imps;
}
use of org.prebid.mobile.drprebid.model.AdSize in project prebid-mobile-android by prebid.
the class SdkTest method setupPrebid.
private void setupPrebid() {
GeneralSettings generalSettings = SettingsManager.getInstance(mContext).getGeneralSettings();
PrebidServerSettings prebidServerSettings = SettingsManager.getInstance(mContext).getPrebidServerSettings();
setPrebidTargetingParams();
if (generalSettings.getAdFormat() == AdFormat.BANNER) {
AdSize adSize = generalSettings.getAdSize();
mAdUnit = new BannerAdUnit(prebidServerSettings.getConfigId(), adSize.getWidth(), adSize.getHeight());
} else if (generalSettings.getAdFormat() == AdFormat.INTERSTITIAL) {
mAdUnit = new InterstitialAdUnit(prebidServerSettings.getConfigId());
}
PrebidMobile.setPrebidServerAccountId(prebidServerSettings.getAccountId());
switch(prebidServerSettings.getPrebidServer()) {
case APPNEXUS:
PrebidMobile.setPrebidServerHost(Host.APPNEXUS);
break;
case RUBICON:
PrebidMobile.setPrebidServerHost(Host.RUBICON);
break;
case CUSTOM:
PrebidMobile.setPrebidServerHost(Host.CUSTOM);
Host.CUSTOM.setHostUrl(buildCustomServerEndpoint(prebidServerSettings.getCustomPrebidServerUrl()));
break;
}
if (mListener != null) {
mListener.onAdUnitRegistered();
}
}
use of org.prebid.mobile.drprebid.model.AdSize in project prebid-mobile-android by prebid.
the class SdkTest method startTest.
public void startTest() {
GeneralSettings generalSettings = SettingsManager.getInstance(mContext).getGeneralSettings();
AdServerSettings adServerSettings = SettingsManager.getInstance(mContext).getAdServerSettings();
if (adServerSettings.getAdServer() == AdServer.MOPUB) {
if (generalSettings.getAdFormat() == AdFormat.BANNER) {
AdSize adSize = generalSettings.getAdSize();
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(DimenUtil.convertPxToDp(mContext, adSize.getWidth()), DimenUtil.convertPxToDp(mContext, adSize.getHeight()));
mMoPubBanner = new MoPubView(mContext);
mMoPubBanner.setLayoutParams(layoutParams);
mMoPubBanner.setAutorefreshEnabled(false);
mMoPubBanner.setBannerAdListener(this);
mMoPubBanner.setAdUnitId(adServerSettings.getAdUnitId());
if (mAdUnit != null) {
Networking.getRequestQueue(mContext).addRequestFinishedListener(mMoPubRequestFinishedListener);
mAdUnit.fetchDemand(mMoPubBanner, resultCode -> {
checkPrebidLog();
mMoPubBanner.loadAd();
});
if (mListener != null) {
mListener.requestToPrebidServerSent(true);
}
}
} else if (generalSettings.getAdFormat() == AdFormat.INTERSTITIAL) {
mMoPubInterstitial = new MoPubInterstitial(mContext, adServerSettings.getAdUnitId());
mMoPubInterstitial.setInterstitialAdListener(this);
if (mAdUnit != null) {
Networking.getRequestQueue(mContext).addRequestFinishedListener(mMoPubRequestFinishedListener);
mAdUnit.fetchDemand(mMoPubInterstitial, resultCode -> {
checkPrebidLog();
mMoPubInterstitial.load();
});
if (mListener != null) {
mListener.requestToPrebidServerSent(true);
}
}
}
} else if (adServerSettings.getAdServer() == AdServer.GOOGLE_AD_MANAGER) {
if (generalSettings.getAdFormat() == AdFormat.BANNER) {
mGoogleBanner = new PublisherAdView(mContext);
AdSize adSize = generalSettings.getAdSize();
mGoogleBanner.setAdSizes(new com.google.android.gms.ads.AdSize(adSize.getWidth(), adSize.getHeight()));
mGoogleBanner.setAdUnitId(adServerSettings.getAdUnitId());
mGoogleBanner.setAdListener(mGoogleBannerListener);
} else if (generalSettings.getAdFormat() == AdFormat.INTERSTITIAL) {
mGoogleInterstitial = new PublisherInterstitialAd(mContext);
mGoogleInterstitial.setAdUnitId(adServerSettings.getAdUnitId());
mGoogleInterstitial.setAdListener(mGoogleInterstitialListener);
}
if (mAdUnit != null) {
final Map<String, String> keywordsMap = new HashMap<>();
mAdUnit.fetchDemand(keywordsMap, resultCode -> {
boolean responseSuccess = false;
if (resultCode == SUCCESS) {
responseSuccess = true;
}
boolean topBid = false;
if (keywordsMap.containsKey("hb_cache_id")) {
topBid = true;
}
PublisherAdRequest.Builder adRequestBuilder = new PublisherAdRequest.Builder();
for (Map.Entry<String, String> entry : keywordsMap.entrySet()) {
adRequestBuilder.addCustomTargeting(entry.getKey(), entry.getValue());
}
if (generalSettings.getAdFormat() == AdFormat.BANNER) {
mGoogleBanner.loadAd(adRequestBuilder.build());
} else if (generalSettings.getAdFormat() == AdFormat.INTERSTITIAL) {
mGoogleInterstitial.loadAd(adRequestBuilder.build());
}
if (mListener != null) {
mListener.responseFromPrebidServerReceived(responseSuccess);
mListener.bidReceivedAndCached(topBid);
mListener.requestSentToAdServer("", "");
}
});
if (mListener != null) {
mListener.requestToPrebidServerSent(true);
}
}
}
}
use of org.prebid.mobile.drprebid.model.AdSize in project prebid-mobile-android by prebid.
the class AdServerTest method startTest.
public void startTest() {
GeneralSettings generalSettings = SettingsManager.getInstance(mContext).getGeneralSettings();
AdServerSettings adServerSettings = SettingsManager.getInstance(mContext).getAdServerSettings();
PrebidServerSettings prebidServerSettings = SettingsManager.getInstance(mContext).getPrebidServerSettings();
switch(generalSettings.getAdSize()) {
case BANNER_300x250:
break;
case BANNER_300x600:
break;
case BANNER_320x50:
break;
case BANNER_320x100:
break;
case BANNER_320x480:
break;
case BANNER_728x90:
break;
}
mKeywords = createMapKeywords(adServerSettings.getBidPrice(), generalSettings.getAdSize(), generalSettings.getAdFormat(), prebidServerSettings.getPrebidServer());
if (adServerSettings.getAdServer() == AdServer.MOPUB) {
String keywords = createStringKeywords();
if (generalSettings.getAdFormat() == AdFormat.BANNER) {
AdSize adSize = generalSettings.getAdSize();
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(DimenUtil.convertPxToDp(mContext, adSize.getWidth()), DimenUtil.convertPxToDp(mContext, adSize.getHeight()));
mMoPubAd = new MoPubView(mContext);
mMoPubAd.setLayoutParams(layoutParams);
mMoPubAd.setAdUnitId(adServerSettings.getAdUnitId());
mMoPubAd.setAutorefreshEnabled(false);
mMoPubAd.setBannerAdListener(this);
mMoPubAd.setKeywords(keywords);
Networking.getRequestQueue(mContext).addRequestFinishedListener(mMoPubRequestFinishedListener);
mMoPubAd.loadAd();
} else if (generalSettings.getAdFormat() == AdFormat.INTERSTITIAL) {
mMoPubInterstitial = new MoPubInterstitial(mContext, adServerSettings.getAdUnitId());
mMoPubInterstitial.setInterstitialAdListener(this);
mMoPubInterstitial.setKeywords(keywords);
Networking.getRequestQueue(mContext).addRequestFinishedListener(mMoPubRequestFinishedListener);
mMoPubInterstitial.load();
}
} else if (adServerSettings.getAdServer() == AdServer.GOOGLE_AD_MANAGER) {
PublisherAdRequest adRequest = null;
if (generalSettings.getAdFormat() == AdFormat.BANNER) {
mGoogleAd = new PublisherAdView(mContext);
AdSize adSize = generalSettings.getAdSize();
mGoogleAd.setAdSizes(new com.google.android.gms.ads.AdSize(adSize.getWidth(), adSize.getHeight()));
mGoogleAd.setAdUnitId(adServerSettings.getAdUnitId());
mGoogleAd.setAdListener(mGoogleBannerListener);
} else if (generalSettings.getAdFormat() == AdFormat.INTERSTITIAL) {
mGoogleInterstitial = new PublisherInterstitialAd(mContext);
mGoogleInterstitial.setAdUnitId(adServerSettings.getAdUnitId());
mGoogleInterstitial.setAdListener(mGoogleInterstitialListener);
}
PublisherAdRequest.Builder adRequestBuilder = new PublisherAdRequest.Builder();
for (String key : mKeywords.keySet()) {
if (mKeywords.containsKey(key)) {
adRequestBuilder.addCustomTargeting(key, mKeywords.get(key));
}
}
adRequest = adRequestBuilder.build();
if (generalSettings.getAdFormat() == AdFormat.BANNER) {
mGoogleAd.loadAd(adRequest);
} else if (generalSettings.getAdFormat() == AdFormat.INTERSTITIAL) {
mGoogleInterstitial.loadAd(adRequest);
}
checkRequestForKeywordsAM(adRequest);
}
}
Aggregations