Here are some common questions we get with integrating the Tapdaq Android SDK
Tapdaq supports automatic loading of the ads after you have presented an ad. Turning this on will make Tapdaq SDK load an ad of the same type and placement tag when an ad has closed. This feature can be enabled like so:
TapdaqConfig config = Tapdaq.getInstance().config(); config.setAutoReloadAds(true); Tapdaq.getInstance().initialize(<CurrentActivity>, <APP_ID>, <CLIENT_KEY>, config, new TMInitListener());
As of Tapdaq Android SDK 6.2.3/6.2.4 there are additional flags to set when initialising Tapdaq or updating afterwards. These relate to the EU GDPR rules, where the developer must aquire the users consent to use their data, most ad networks require this information to provide personalised ads.
There are 3 flags to set (if known): UserSubjectToGDPR, UserConsent, AgeRestrictedUser. Tapdaq will accept any state FALSE, TRUE or UNKNOWN.
For users in the EU a UserSubjectToGDPR flag is requested on initialisation, when set to TRUE, consent (if set) will be forwarded to the ad networks, if not set, or set to FALSE consent will not be sent to any network.
Some networks (AdColony, InMobi, TapJoy) also take this flag as a parameter, so it is recommended that it is either set to TRUE or FALSE if it is known where the user is. If not set, nothing will be sent.
Consent either TRUE or FALSE will be passed to networks where the UserSubjectToGDPR is TRUE.
The AgeRestrictedUser is sent to AppLovin & YouAppi, for EU users this is when users are under 16, for US users it is under 13. Set this if it is known.
TapdaqConfig config = Tapdaq.getInstance().config(); config.setUserSubjectToGdprStatus(STATUS.TRUE); config.setConsentStatus(STATUS.TRUE); config.setAgeRestrictedUserStatus(STATUS.FALSE); Tapdaq.getInstance().initialize(MainActivity.this, <APP_ID>, <CLIENT_KEY>, config, new TMInitListener());
Tapdaq.getInstance().setUserSubjectToGDPR(MainActivity.this, STATUS.TRUE);// This will not send consent flag to networks Tapdaq.getInstance().setConsentGiven(MainActivity.this, STATUS.TRUE); // Setting this will immediately inform the networks if UserSubjectToGDPR is true. Tapdaq.getInstance().setIsAgeRestrictedUser(MainActivity.this, STATUS.FALSE); // Setting this will immediately inform the networks if UserSubjectToGDPR is true.
NOTE: Its recommended that these params are set within initalisation, setting them afterwards is intended for when the states change or were unknown beforehand. For subsequent sessions, its expected that they're known.
Yes - each time you call load ad we will attempt to load a new ad. Whether or not this is successful will depend on the network. Some networks allow you to load an unlimited number of ads whereas others place limits (e.g. based on the type of ad unit).
In the case where a network only allows 1 ad to be loaded, the ad can be shared across requests. If a shared ad is displayed it is internally replaced but may not be successful and therefore it is strongly advised to always check
isReady before displaying an ad.
If you are having any problems integrating, feel free to contact us on [email protected] and we will be more than happy to help.