Android MoPub Mediation Adapter supports all our ad units.
MoPub / display.io ad units mapping:
display.io | MoPub | ||
![]() |
Interscroller | Banner | |
![]() |
Headline Video | Banner | |
![]() |
Interstitial | Full Screen | |
![]() |
Infeed |
Medium Rectangle | |
![]() |
Medium Rectangle | Medium Rectangle | |
![]() |
Banner | Banner | |
To set it up:
1. Add the adapter to your project.
Edit your project's build.gradle file in order to declare our maven repository:
repositories {
google()
jcenter()
maven { url "https://maven.display.io/" }
}
Add the following dependencies to your app-module's build.gradle file:
implementation 'com.brandio.ads:sdk:4.6.2'
implementation ‘com.brandio.ads:adapters-mopub:4.6.1’
Note: Adapters version 4.5.x and higher support MoPub SDK 5.15.0 and higher. If you want to use legacy MoPub SDK please use previous adapter version 4.3.4.
Follow guide to initialize DisplayIO SDK.
2. Use Getting started guide to setup MoPub SDK.
Initialisation of DisplayIO mediation network can be handled with MoPub SDK initialization with the simple line of code:
SdkConfiguration sdkConfiguration = new SdkConfiguration.Builder(interstitialId)
.withAdditionalNetwork(DisplayIOAdapterConfiguration.class.getName())
.withLogLevel(MoPubLog.LogLevel.DEBUG)
.build();
MoPub.initializeSdk(context, sdkConfiguration, sdkInitializationListener);
3. Setup an account according to Quick Start Guide and create an app.
4. Setup ad units using Class Name.
Go to "Orders" - "New line item" and create a new line item. Choose "Custom SDK network" and put special parameters:
com.brandio.ads.adapters.mopub.InterstitialAdapter for Interstitial ad unit or com.brandio.ads.adapters.mopub.InfeedAdapter for Infeed ad unit or com.brandio.ads.adapters.mopub.InterscrollerAdapter for Interscroller ad unit or com.brandio.ads.adapters.mopub.BannerAdapter for Banner ad unit or com.brandio.ads.adapters.mopub.MediumRectangleAdapter for Medium Rectangle ad unit
and Parameter: { "placementid": "<PLACEMENT_ID>"} where <PLACEMENT_ID> parameter taken from you account on display.io Developer Portal.
Important: Do not set "Refresh interval" for Interscroller ads. It can reduce the display rate.
5. In "Ad Unit targeting" choose ad units which you want to get ads from the network you just created.
6. Make sure you start you network immediately and start serving ads.
7. Use Banner (Medium Rectangle) or Interstitial tutorials to get ads from MoPub.
8. Infeed could be added in RecyclerView by passing it as adapter’s constructor argument:
RecyclerViewAdapter( ... , @NonNull MoPubView moPubView) {
...
this.moPubView = moPubView;
}
And to be shown in a particular position with help of RecyclerView. ViewHolder subclass in
RecyclerView.Adapter.onCreateViewHolder method:
...
static class AdHolder extends RecyclerView.ViewHolder {
AdHolder(View itemView) {
super(itemView);
}
}
...
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull final
ViewGroup parent, int viewType) {
...
return new AdHolder(moPubView);
}
...
9. Interscroller could be added in RecyclerView like Banner but it require additional step: Set up your placement with field to store reference to parent (RecyclerView object) Make sure you call it after DisplayIO SDK has beed initialized:
try {
InterscrollerPlacement placement = (InterscrollerPlacement) Controller
.getInstance().getPlacement(IS_PLACEMENT_ID);
placement.setParentRecyclerView(recyclerView);
} catch (DioSdkException e) {
e.printStackTrace();
}
Important: Handle MoPubView content manually in case of failed to load ad.
moPubView.setBannerAdListener(new MoPubView.BannerAdListener() {
@Override
public void onBannerLoaded(MoPubView banner) {
}
@Override
public void onBannerFailed(MoPubView banner, MoPubErrorCode errorCode) {
banner.removeAllViews(); //MoPub does not handle it for some reason
}
@Override
public void onBannerClicked(MoPubView banner) {
}
@Override
public void onBannerExpanded(MoPubView banner) {
}
@Override
public void onBannerCollapsed(MoPubView banner) {
}
});
Comments
0 comments
Please sign in to leave a comment.