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 Ad Manager mediation adapter for DT Exchange has the following capabilities:
Integration | |
---|---|
Bidding | |
Waterfall | |
Formats | |
Banner | |
Interstitial | |
Rewarded |
Requirements
- Latest Google Mobile Ads SDK
- Unity 4 or higher
- To deploy on Android
- Android API level 21 or higher
- To deploy on iOS
- iOS deployment target of 12.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 configurations in DT Exchange UI
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 your 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 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, 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: Set up DT Exchange demand in Ad Manager UI
Configure mediation settings for your ad unit
Android
For instructions, see step 2 in the guide for Android.
iOS
For instructions, see step 2 in the guide for iOS.
Add Fyber to GDPR and US state regulations ad partners list
Follow the steps in GDPR settings and US state regulations settings to add DT Exchange (Fyber Monetization) to the GDPR and US state regulations ad partners list in the AdMob UI.
Step 3: Import the DT Exchange SDK and adapter
OpenUPM-CLI
If you have OpenUPM-CLI installed, you can install the Google Mobile Ads DT Exchange Mediation Plugin for Unity to your project by running the following command from your project's root directory:
openupm add com.google.ads.mobile.mediation.dtexchange
OpenUPM
In your Unity project editor, select Edit > Project Settings > Package Manager to open the Unity Package Manager Settings.
Under the Scoped Registries tab, add OpenUPM as a scoped registry with the following details:
- Name:
OpenUPM
- URL:
https://package.openupm.com
- Scope(s):
com.google
Then, navigate to Window > Package Manager to open the Unity Package Manager and select My Registries from the drop-down menu.
Select the Google Mobile Ads DT Exchange Mediation package and click Install.
Unity Package
Download the latest version of Google Mobile Ads mediation plugin for
DT Exchange from the download link in
the
Changelog
and extract the
GoogleMobileAdsDTExchangeMediation.unitypackage
from the zip
file.
In your Unity project editor, select Assets > Import Package >
Custom Package and find the
GoogleMobileAdsDTExchangeMediation.unitypackage
file you downloaded. Make sure that all the files are selected and click
Import.
Then, select Assets > External Dependency Manager >
Android Resolver > Force Resolve. The External Dependency Manager
library will perform dependency resolution from scratch and copy the
declared dependencies into the Assets/Plugins/Android
directory of your
Unity app.
Step 4: Implement privacy settings on DT Exchange SDK
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.
This section shows 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.
US states privacy laws
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.
Step 5: Add required code
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.
Step 6: Test your implementation
Enable test ads
Make sure you register your test device for AdMob.
Verify test ads
To verify that you are receiving test ads from DT Exchange, enable single ad source testing in ad inspector using the DT Exchange (Waterfall) ad source(s).
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 Ad Manager 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 Ad Manager 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.3.2
- Supports DT Exchange Android adapter version 8.3.1.0.
- Supports DT Exchange iOS adapter version 8.3.2.1.
- Built and tested with the Google Mobile Ads Unity Plugin version 9.3.0.
Version 3.3.1
- Supports DT Exchange Android adapter version 8.3.1.0.
- Supports DT Exchange iOS adapter version 8.3.2.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 9.2.0.
Version 3.3.0
- Renamed
DummyClient
toPlaceholderClient
. - Supports DT Exchange Android adapter version 8.3.0.0.
- Supports DT Exchange iOS adapter version 8.3.1.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 9.2.0.
Version 3.2.1
- Supports DT Exchange Android adapter version 8.2.7.0.
- Supports DT Exchange iOS adapter version 8.3.1.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 9.1.1.
Version 3.2.0
- Supports DT Exchange Android adapter version 8.2.7.0.
- Supports DT Exchange iOS adapter version 8.3.0.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 9.1.0.
Version 3.1.12
- Supports DT Exchange Android adapter version 8.2.7.0.
- Supports DT Exchange iOS adapter version 8.2.8.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 9.1.0.
Version 3.1.11
- Supports DT Exchange Android adapter version 8.2.7.0.
- Supports DT Exchange iOS adapter version 8.2.7.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 9.1.0.
Version 3.1.10
- Supports DT Exchange Android adapter version 8.2.6.1.
- Supports DT Exchange iOS adapter version 8.2.7.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 9.0.0.
Version 3.1.8
- Supports DT Exchange Android adapter version 8.2.5.0.
- Supports DT Exchange iOS adapter version 8.2.6.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 8.6.0.
Version 3.1.7
- Supports DT Exchange Android adapter version 8.2.4.0.
- Supports DT Exchange iOS adapter version 8.2.4.0.
- Built and tested with the Google Mobile Ads Unity Plugin version 8.5.2.
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.