use of org.prebid.mobile.OnCompleteListener in project prebid-mobile-android by prebid.
the class ExtraTests method testSameConfigIdOnDifferentAdObjects.
@Test
public void testSameConfigIdOnDifferentAdObjects() throws Exception {
final ArrayList<AdUnit> adUnits = new ArrayList<AdUnit>();
final ArrayList<OnCompleteListener> spies = new ArrayList<>();
PrebidMobile.setApplicationContext(m.getActivity().getApplicationContext());
PrebidMobile.setPrebidServerAccountId("bfa84af2-bd16-4d35-96ad-31c6bb888df0");
PrebidMobile.setPrebidServerHost(Host.APPNEXUS);
PrebidMobile.setShareGeoLocation(true);
mHandler.post(new Runnable() {
@Override
public void run() {
final MoPubView adObject1 = new MoPubView(m.getActivity());
adObject1.setAdUnitId(Constants.MOPUB_BANNER_ADUNIT_ID_320x50_APPNEXUS);
adObject1.setMinimumWidth(320);
adObject1.setMinimumHeight(50);
BannerAdUnit adUnit1 = new BannerAdUnit(Constants.PBS_CONFIG_ID_320x50_APPNEXUS, 320, 50);
adUnits.add(adUnit1);
OnCompleteListener l1 = new OnCompleteListener() {
@Override
public void onComplete(ResultCode resultCode) {
assertTrue(adObject1.getKeywords().contains("hb_pb:0.50"));
assertTrue(adObject1.getKeywords().contains("hb_cache_id:"));
FrameLayout adFrame = m.getActivity().findViewById(R.id.adFrame);
adFrame.addView(adObject1);
adObject1.loadAd();
}
};
l1 = spy(l1);
spies.add(l1);
adUnit1.fetchDemand(adObject1, l1);
AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
final AdManagerAdRequest adObject2 = builder.build();
BannerAdUnit adUnit2 = new BannerAdUnit(Constants.PBS_CONFIG_ID_320x50_APPNEXUS, 320, 50);
adUnits.add(adUnit2);
OnCompleteListener l2 = new OnCompleteListener() {
@Override
public void onComplete(ResultCode resultCode) {
assertEquals(10, adObject2.getCustomTargeting().size());
assertTrue(adObject2.getCustomTargeting().keySet().contains("hb_pb"));
assertTrue(adObject2.getCustomTargeting().keySet().contains("hb_cache_id"));
assertEquals("0.50", adObject2.getCustomTargeting().getString("hb_pb"));
FrameLayout adFrame = m.getActivity().findViewById(R.id.adFrame);
AdManagerAdView adView = new AdManagerAdView(m.getActivity());
adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId(Constants.DFP_BANNER_ADUNIT_ID_ALL_SIZES_APPNEXUS);
adFrame.addView(adView);
adView.setId(1);
adView.loadAd(adObject2);
}
};
l2 = spy(l2);
spies.add(l2);
adUnit1.fetchDemand(adObject2, l2);
}
});
Thread.sleep(10000);
verify(spies.get(0), times(1)).onComplete(ResultCode.SUCCESS);
verify(spies.get(1), times(1)).onComplete(ResultCode.SUCCESS);
}
use of org.prebid.mobile.OnCompleteListener in project prebid-mobile-android by prebid.
the class ExtraTests method testEmptyInvalidPrebidServerConfigId.
@Test
public void testEmptyInvalidPrebidServerConfigId() throws Exception {
PrebidMobile.setApplicationContext(m.getActivity().getApplicationContext());
PrebidMobile.setPrebidServerAccountId("bfa84af2-bd16-4d35-96ad-31c6bb888df0");
PrebidMobile.setPrebidServerHost(Host.APPNEXUS);
PrebidMobile.setShareGeoLocation(true);
final OnCompleteListener[] listener = new OnCompleteListener[1];
mHandler.post(new Runnable() {
@Override
public void run() {
final MoPubView adObject = new MoPubView(m.getActivity());
adObject.setAdUnitId(Constants.MOPUB_BANNER_ADUNIT_ID_300x250_APPNEXUS);
adObject.setMinimumHeight(250);
adObject.setMinimumWidth(300);
BannerAdUnit adUnit = new BannerAdUnit("", 300, 250);
OnCompleteListener l = new OnCompleteListener() {
@Override
public void onComplete(ResultCode resultCode) {
FrameLayout adFrame = m.getActivity().findViewById(R.id.adFrame);
adFrame.addView(adObject);
adObject.loadAd();
}
};
listener[0] = spy(l);
adUnit.fetchDemand(adObject, listener[0]);
}
});
Thread.sleep(1000);
verify(listener[0], times(1)).onComplete(ResultCode.INVALID_CONFIG_ID);
}
use of org.prebid.mobile.OnCompleteListener in project prebid-mobile-android by prebid.
the class ExtraTests method testAppNexusAgeTargeting2.
// Passing year -1 is invalid yob, should not send yob and get back a no bid
@Test
public void testAppNexusAgeTargeting2() throws Exception {
boolean errorThrown = false;
try {
TargetingParams.setYearOfBirth(-1);
} catch (Exception e) {
errorThrown = true;
assertEquals(0, TargetingParams.getYearOfBirth());
}
assertTrue(errorThrown);
server.setDispatcher(new Dispatcher() {
@Override
public MockResponse dispatch(RecordedRequest request) throws InterruptedException {
if (request.getPath().equals("/")) {
String postData = request.getBody().readUtf8();
assertTrue("Post data should not contain yob: " + postData, !postData.contains("yob"));
return getAppNexusDemand(postData);
}
return new MockResponse().setResponseCode(404);
}
});
PrebidMobile.setApplicationContext(m.getActivity().getApplicationContext());
PrebidMobile.setPrebidServerAccountId("bfa84af2-bd16-4d35-96ad-31c6bb888df0");
Host.CUSTOM.setHostUrl(server.url("/").toString());
PrebidMobile.setPrebidServerHost(Host.CUSTOM);
PrebidMobile.setShareGeoLocation(true);
final OnCompleteListener[] listener = new OnCompleteListener[1];
mHandler.post(new Runnable() {
@Override
public void run() {
final MoPubView adObject = new MoPubView(m.getActivity());
adObject.setAdUnitId(Constants.MOPUB_BANNER_ADUNIT_ID_300x250_APPNEXUS);
adObject.setMinimumHeight(250);
adObject.setMinimumWidth(300);
BannerAdUnit adUnit = new BannerAdUnit("47706260-ee91-4cd7-b656-2185aca89f59", 300, 250);
OnCompleteListener l = new OnCompleteListener() {
@Override
public void onComplete(ResultCode resultCode) {
FrameLayout adFrame = m.getActivity().findViewById(R.id.adFrame);
adFrame.addView(adObject);
adObject.loadAd();
}
};
listener[0] = spy(l);
adUnit.fetchDemand(adObject, listener[0]);
}
});
Thread.sleep(10000);
verify(listener[0], times(1)).onComplete(ResultCode.NO_BIDS);
onView(withId(R.id.adFrame)).check(matches(isDisplayed()));
onWebView().check(webMatches(getCurrentUrl(), containsString("ads.mopub.com")));
onWebView().check(webContent(containingTextInBody("Hello, I'm not a Prebid ad.")));
}
use of org.prebid.mobile.OnCompleteListener in project prebid-mobile-android by prebid.
the class ExtraTests method testAppNexusAgeTargeting3.
// Passing year 2018 is valid yob, should send yob and but get back a no bid, since campaign targeting 25-34
@Test
public void testAppNexusAgeTargeting3() throws Exception {
server.setDispatcher(new Dispatcher() {
@Override
public MockResponse dispatch(RecordedRequest request) throws InterruptedException {
if (request.getPath().equals("/")) {
String postData = request.getBody().readUtf8();
assertTrue("Post data does not contain yob 2018: " + postData, postData.contains("2018"));
return getAppNexusDemand(postData);
}
return new MockResponse().setResponseCode(404);
}
});
PrebidMobile.setApplicationContext(m.getActivity().getApplicationContext());
PrebidMobile.setPrebidServerAccountId("bfa84af2-bd16-4d35-96ad-31c6bb888df0");
Host.CUSTOM.setHostUrl(server.url("/").toString());
PrebidMobile.setPrebidServerHost(Host.CUSTOM);
PrebidMobile.setShareGeoLocation(true);
TargetingParams.setYearOfBirth(2018);
final OnCompleteListener[] listener = new OnCompleteListener[1];
mHandler.post(new Runnable() {
@Override
public void run() {
final MoPubView adObject = new MoPubView(m.getActivity());
adObject.setAdUnitId(Constants.MOPUB_BANNER_ADUNIT_ID_300x250_APPNEXUS);
adObject.setMinimumHeight(250);
adObject.setMinimumWidth(300);
BannerAdUnit adUnit = new BannerAdUnit("47706260-ee91-4cd7-b656-2185aca89f59", 300, 250);
OnCompleteListener l = new OnCompleteListener() {
@Override
public void onComplete(ResultCode resultCode) {
FrameLayout adFrame = m.getActivity().findViewById(R.id.adFrame);
adFrame.addView(adObject);
adObject.loadAd();
}
};
listener[0] = spy(l);
adUnit.fetchDemand(adObject, listener[0]);
}
});
Thread.sleep(10000);
verify(listener[0], times(1)).onComplete(ResultCode.NO_BIDS);
onView(withId(R.id.adFrame)).check(matches(isDisplayed()));
onWebView().check(webMatches(getCurrentUrl(), containsString("ads.mopub.com")));
onWebView().check(webContent(containingTextInBody("Hello, I'm not a Prebid ad.")));
}
use of org.prebid.mobile.OnCompleteListener in project prebid-mobile-android by prebid.
the class RubiconInterstitialMoPubDemoActivity method onCreate.
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_demo);
PrebidMobile.setPrebidServerHost(Host.RUBICON);
PrebidMobile.setPrebidServerAccountId(Constants.PBS_ACCOUNT_ID_RUBICON);
PrebidMobile.setStoredAuctionResponse(Constants.PBS_STORED_RESPONSE_300x250_RUBICON);
adUnit = new InterstitialAdUnit(Constants.PBS_CONFIG_ID_INTERSTITIAL_RUBICON);
final MoPubInterstitial mpInterstitial = new MoPubInterstitial(this, Constants.MOPUB_INTERSTITIAL_ADUNIT_ID_RUBICON);
mpInterstitial.setInterstitialAdListener(new MoPubInterstitial.InterstitialAdListener() {
@Override
public void onInterstitialLoaded(MoPubInterstitial interstitial) {
interstitial.show();
}
@Override
public void onInterstitialFailed(MoPubInterstitial interstitial, MoPubErrorCode errorCode) {
AlertDialog.Builder builder;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
builder = new AlertDialog.Builder(RubiconInterstitialMoPubDemoActivity.this, android.R.style.Theme_Material_Dialog_Alert);
} else {
builder = new AlertDialog.Builder(RubiconInterstitialMoPubDemoActivity.this);
}
builder.setTitle("Failed to load MoPub interstitial ad").setMessage("Error code: " + errorCode.toString()).setIcon(android.R.drawable.ic_dialog_alert).show();
}
@Override
public void onInterstitialShown(MoPubInterstitial interstitial) {
}
@Override
public void onInterstitialClicked(MoPubInterstitial interstitial) {
}
@Override
public void onInterstitialDismissed(MoPubInterstitial interstitial) {
}
});
int millis = getIntent().getIntExtra(Constants.AUTO_REFRESH_NAME, 0);
adUnit.setAutoRefreshPeriodMillis(millis);
adUnit.fetchDemand(mpInterstitial, new OnCompleteListener() {
@Override
public void onComplete(ResultCode resultCode) {
mpInterstitial.load();
refreshCount++;
RubiconInterstitialMoPubDemoActivity.this.resultCode = resultCode;
}
});
}
Aggregations