This guide shows you how to use the Google Mobile Ads SDK to load and display ads from DT Exchange using mediation, covering waterfall integrations. It covers how to add DT Exchange to an ad unit's mediation configuration, and how to integrate the DT Exchange SDK and adapter into a Unity app.
Supported integrations and ad formats
The AdMob mediation adapter for DT Exchange has the following capabilities:
Integration | |
---|---|
Bidding | |
Waterfall | |
Formats | |
Banner | |
Interstitial | |
Rewarded |
Requirements
- Unity 4 or higher
- Latest Google Mobile Ads SDK
- To deploy on Android
- Android API level 19 or higher
- To deploy on iOS
- iOS deployment target of 11.0 or higher
- A working Unity project configured with Google Mobile Ads SDK. See Get Started for details.
- Complete the mediation Get started guide
Step 1: Set up DT Exchange
Add new app and ad placement
Sign up or log in to DT Exchange Console.
Click on the Add App button to add your app.
Select a platform under Platform, fill out the rest of the form, and click Add Placements.
Android
iOS
Enter a name for the new placement in the field labeled Name your Placement and select your desired Placement Type from the dropdown list. Finally, click Save Placement.
App ID and Placement ID
Open up the left navigation bar by hovering your mouse over it. Then click Apps from the left menu.
On the App Management page, take note of the App ID next to your app.
Select your app and navigate to the Placements tab, and click on the copy icon next to Placement Name. Take note of the Placement ID.
Publisher ID, Consumer Key and Consumer Secret
Click on your username from the left menu and select User Profile.
Take note of the Publisher ID, Consumer Key, and Consumer Secret as these are needed in the next step.
Step 2: Configure mediation settings for your AdMob ad unit
You need to add DT Exchange to the mediation configuration for your ad unit.
If you're deploying your Unity app to both Android and iOS, you need two AdMob ad units, one for each platform.
Android
First, sign in to your AdMob account. Next, navigate to the Mediation tab. If you have an existing mediation group you'd like to modify, click the name of that mediation group to edit it and skip ahead to Add DT Exchange as an ad source.
To create a new mediation group, select Create Mediation Group.
Enter your ad format and platform, then click Continue.
Give your mediation group a name, and select locations to target. Next, set the mediation group status to Enabled, and click Add Ad Units.
Associate this mediation group with one or more of your existing AdMob ad units. Then click Done.
You should now see the ad units card populated with the ad units you selected.
Add DT Exchange as an ad source
Under the Waterfall card in the Ad Sources section, select Add Ad Source. Then select DT Exchange.
Enable the Optimize switch. Then, enter the Publisher ID, Consumer Key, and Consumer Secret obtained in the previous section.
Review and check the Authorization checkbox to set up ad source optimization for DT Exchange. Enter an eCPM value for DT Exchange and click Continue.
If you already have a mapping for DT Exchange, you can simply select it. Otherwise, click Add mapping.
Next, enter a Mapping name, the Application ID and the Placement ID obtained in the previous section. Then click Done.
iOS
First, sign in to your AdMob account. Next, navigate to the Mediation tab. If you have an existing mediation group you'd like to modify, click the name of that mediation group to edit it, and skip ahead to Add DT Exchange as an ad source.
To create a new mediation group, select Create Mediation Group.
Enter your ad format and platform, then click Continue.
Give your mediation group a name, and select locations to target. Next, set the mediation group status to Enabled, and then click Add Ad Units.
Associate this mediation group with one or more of your existing AdMob ad units. Then click Done.
You should now see the ad units card populated with the ad units you selected.
Add DT Exchange as an ad source
Under the Waterfall card in the Ad Sources section, select Add Ad Source. Then select DT Exchange.
Enable the Optimize switch. Then, enter the Publisher ID, Consumer Key, and Consumer Secret obtained in the previous section.
Review and check the Authorization checkbox to set up ad source optimization for DT Exchange. Enter an eCPM value for DT Exchange and click Continue.
If you already have a mapping for DT Exchange, you can simply select it. Otherwise, click Add mapping.
Next, enter a Mapping name, the Application ID and the Placement ID obtained in the previous section. Then click Done.
Step 3: Import the DT Exchange SDK and adapter
Download the latest version of Google Mobile Ads mediation plugin for DT
Exchange from the download link in the
Changelog and extract
GoogleMobileAdsFyberMediation.unitypackage
from the zip file.
In your Unity project editor, select Assets > Import Package > Custom
Package and find the GoogleMobileAdsFyberMediation.unitypackage
file you
downloaded. Make sure all the files are selected and click Import.
Then, select Assets > Play Services Resolver > Android Resolver > Force
Resolve. The Unity Play Services Resolver library will perform dependency
resolution from scratch and copy the declared dependencies into the
Assets/Plugins/Android
directory of your Unity app.
Step 4: Additional code required
Android
No additional code is required for DT Exchange integration.
iOS
SKAdNetwork integration
Follow DT Exchange's documentation
to add the SKAdNetwork identifiers to your project's Info.plist
file.
Optional steps
EU Consent and GDPR
Under the Google EU User Consent Policy, you must ensure that certain disclosures are given to, and consents obtained from, users in the European Economic Area (EEA) regarding the use of device identifiers and personal data. This policy reflects the requirements of the EU ePrivacy Directive and the General Data Protection Regulation (GDPR). When seeking consent, you must identify each ad network in your mediation chain that may collect, receive, or use personal data and provide information about each network's use. Google currently is unable to pass the user's consent choice to such networks automatically.
The section below shows you how to enable or disable personalized ads for DT Exchange.
The Google Mobile Ads mediation plugin for DT Exchange version 1.1.0 added the
Fyber
class with the SetGDPRRequired()
and SetGDPRConsentString()
methods,
letting you pass consent information to DT Exchange manually. The following
sample code demonstrates how to pass these parameters to the DT Exchange
adapter:
using GoogleMobileAds.Api.Mediation.Fyber;
// ...
Fyber.SetGDPRConsent(true);
Fyber.SetGDPRConsentString("myGDPRConsentString");
Visit DT Exchange's GDPR article for more information and the values that can be provided in the method.
Add DT Exchange to GDPR ad partners list
Follow the steps in GDPR settings to add DT Exchange to the GDPR ad partners list in the AdMob UI.
CCPA
U.S. states privacy laws require giving users the right to opt out of the "sale" of their "personal information" (as the law defines those terms), with the opt-out offered via a prominent "Do Not Sell My Personal Information" link on the "selling" party's homepage. The U.S. states privacy laws compliance guide offers the ability to enable restricted data processing for Google ad serving, but Google is unable to apply this setting to each ad network in your mediation chain. Therefore, you must identify each ad network in your mediation chain that may participate in the sale of personal information and follow guidance from each of those networks to ensure compliance.
The Google Mobile Ads mediation plugin for DT Exchange version 3.1.1 added the
Fyber
class with the SetCCPAString()
method, letting you pass consent
information to DT Exchange manually. The following sample code demonstrates how
to pass these parameters to the DT Exchange adapter:
using GoogleMobileAds.Api.Mediation.Fyber;
// ...
Fyber.SetCCPAString("myCCPAConsentString");
// You can also clear CCPA consent information using the following method:
Fyber.ClearCCPAString();
Visit DT Exchange's CCPA Open Source article for more information and the values that can be provided in the method.
Error codes
If the adapter fails to receive an ad from DT Exchange, publishers can check the
underlying error from the ad response using
ResponseInfo
under the following class:
Android
com.google.ads.mediation.fyber.FyberMediationAdapter
iOS
GADMediationAdapterFyber
Here are the codes and accompanying messages thrown by the DT Exchange adapter when an ad fails to load:
Android
Error code | Reason |
---|---|
101 | DT Exchange server parameters configured in the AdMob UI are missing/invalid. |
103 | The requested ad size does not match a DT Exchange supported banner size. |
105 | DT Exchange SDK loaded an ad but returned an unexpected controller. |
106 | Ad is not ready to display. |
200-399 | DT Exchange SDK returned an error. See code for more details. |
iOS
Error code | Reason |
---|---|
0-10 | DT Exchange SDK returned an error. See documentation for more details. |
101 | DT Exchange server parameters configured in the AdMob UI are missing/invalid. |
102 | The requested ad size does not match a DT Exchange supported banner size. |
103 | Failed to show ad because ad object has already been used. |
104 | Failed to show DT Exchange ads due to ad not ready. |
105 | DT Exchange SDK returned an initialization error. |
DT Exchange Unity Mediation Plugin Changelog
Version 3.1.6
- Supports DT Exchange Android adapter version 8.2.3.0.
- Supports DT Exchange iOS adapter version 8.2.3.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 8.4.1.
Version 3.1.5
- Moved adapter content to
GoogleMobileAds/Mediation/DTExchange/
. - Refactored adapter namespace to use
GoogleMobileAds.Mediation.DTExchange
. - Supports DT Exchange Android adapter version 8.2.3.0.
- Supports DT Exchange iOS adapter version 8.2.1.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 8.1.0.
Version 3.1.4
- Supports DT Exchange Android adapter version 8.2.2.0.
- Supports DT Exchange iOS adapter version 8.1.9.1.
- Built and tested with the Google Mobile Ads Unity Plugin version 7.4.1.
Version 3.1.3
- Supports DT Exchange Android adapter version 8.2.1.0.
- Supports DT Exchange iOS adapter version 8.1.9.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 7.4.0.
Version 3.1.2
- Rebranded Unity mediation plugin name to "DT Exchange".
- Renamed the
GoogleMobileAds.Api.Mediation.Fyber.Fyber
class toGoogleMobileAds.Api.Mediation.DTExchange.DTExchange
. - Supports DT Exchange Android adapter version 8.2.1.0.
- Supports DT Exchange iOS adapter version 8.1.7.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 7.3.1.
Version 3.1.1
- Added the following methods to the
Fyber
class:SetCCPAString(string)
ClearCCPAString()
- Supports Fyber Android adapter version 8.2.0.0.
- Supports Fyber iOS adapter version 8.1.6.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 7.3.0.
Version 3.1.0
- Supports Fyber Android adapter version 8.2.0.0.
- Supports Fyber iOS adapter version 8.1.5.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 7.2.0.
Version 3.0.2
- Supports Fyber Android adapter version 8.1.3.1.
- Supports Fyber iOS adapter version 8.1.5.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 7.0.2.
Version 3.0.1
- Supports Fyber Android adapter version 8.1.3.0.
- Supports Fyber iOS adapter version 8.1.4.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 7.0.0.
Version 3.0.0
- Supports Fyber Android adapter version 8.1.2.0.
- Supports Fyber iOS adapter version 8.1.2.0.
Version 2.0.0
- Supports Fyber Android adapter version 7.8.4.1.
- Supports Fyber iOS adapter version 8.0.0.0.
Version 1.6.1
- Supports Fyber Android adapter version 7.8.3.0.
- Supports Fyber iOS adapter version 7.8.6.0.
Version 1.6.0
- Supports Fyber Android adapter version 7.8.2.0.
- Supports Fyber iOS adapter version 7.8.5.0.
Version 1.5.2
- Supports Fyber Android adapter version 7.7.4.0.
- Supports Fyber iOS adapter version 7.7.3.0.
Version 1.5.1
- Supports Fyber Android adapter version 7.7.2.0.
- Supports Fyber iOS adapter version 7.7.2.0.
Version 1.5.0
- Supports Fyber Android adapter version 7.7.1.0.
- Supports Fyber iOS adapter version 7.7.1.0.
Version 1.4.0
- Supports Fyber Android adapter version 7.7.0.0.
- Supports Fyber iOS adapter version 7.6.4.0.
Version 1.3.0
- Supports Fyber Android adapter version 7.6.0.0.
- Supports Fyber iOS adapter version 7.6.0.0.
Version 1.2.3
- Supports Fyber Android adapter version 7.5.4.0.
- Supports Fyber iOS adapter version 7.5.6.0.
Version 1.2.2
- Supports Fyber Android adapter version 7.5.3.0.
- Supports Fyber iOS adapter version 7.5.4.0.
Version 1.2.1
- Supports Fyber Android adapter version 7.5.2.0.
- Supports Fyber iOS adapter version 7.5.3.0.
Version 1.2.0
- Supports Fyber Android adapter version 7.5.0.0.
- Supports Fyber iOS adapter version 7.5.1.0.
Version 1.1.0
- Added the following methods to the
Fyber
class to support GDPR requirements:SetGDPRConsent()
SetGDPRConsentString()
ClearGDPRConsentData()
- Supports Fyber Android adapter version 7.3.4.0.
- Supports Fyber iOS adapter version 7.5.0.0.
Version 1.0.0
- First release!
- Supports Fyber Android adapter version 7.3.4.0.
- Supports Fyber iOS adapter version 7.4.0.0.