Update Guide

This guide describes steps required when updating from one Tapdaq Plugin version to another, its recommended you perform all the steps to prevent any issues or conflicts.

Upgrading between any version

The following guide explains how to upgrade Tapdaq's Unity SDK between each version.

1. Uninstall the previous version

This will remove all of Tapdaq, adapters and SDK dependencies, there is an option to keep your settings, so you will not have to re-enter your appid, client key or placement tags.

Window>Tapdaq>Uninstall

Window>Tapdaq>Uninstall Options

2. Import all Unity Packages

  • Download the latest .zip of our plugin from here
  • Import the TapdaqUnity.unitypackage
  • For each ad network you are using, please import in the corresponding Adapter.unitypackage.

UnityPackages

Upgrading Specific Versions

This section notes any changes that need to be made when upgrading to specific version.

7.0.0

NEW: SDK version 7.0.0 supports zones. Please note, this release does not currently support cross promotion ad serving. To access our cross promotion features, please use SDK version 6.4.1

Placement Tags

Placement tags are no longer need to be registered, they have been removed from the Tapdaq settings panel. They are however still used for loading and showing ads.

Added DidFailToDisplay Callbacks

didFailToDisplay will be called after calling showAd (Interstitial, Video, Rewarded Video, Offerwall) if there is no ad to show, or the ad is unable to display. An error will be provided.

private void OnEnable () {
     TDCallbacks.AdDidFailToDisplay += OnDidFailToDisplay;
}

// Unsubscribe from Tapdaq events
private void OnDisable () {
    TDCallbacks.AdDidFailToDisplay -= OnDidFailToDisplay;
}

private void OnDidFailToDisplay(TDAdEvent e) {
    TDDebugLogger.Log("-- Test Log -- " + e.adType + "(" + e.tag + ")" + ": " + e.message);
}

AdMob Targeting

AdMob content rating will be forwarded for every ad request to AdMob, to do this, set the value in the config after Tapdaq has initialised like so:

//After Tapdaq initialises
AdManager.SetAdMobContentRating("MA"); //G PG T MA
AdManager.SetIsAgeRestrictedUser(true); //COPPA/GDPR flag

The tag_for_under_age_of_consent flag will be sent to AdMob if the user is subject to GDPR and AgeRestrictedUser is set. The ChildDirectedTreatment COPPA flag will be sent if user is not known to be subject to GDPR and AgeRestrictedUser is set. Read more about AdMob Targeting here

6.2.4

Replaced Init methods to allow data to remain unknown if not retrieved from the user.

TDStatus enum has values FALSE, TRUE, UNKNOWN

New methods:

public class AdManager {
    public static void InitWithConsent (TDStatus isConsentGiven);
    public static void InitWithConsent (TDStatus isUserSubjectToGDPR, TDStatus isConsentGiven, TDStatus isAgeRestrictedUser)
}

Deprecated methods:

public class AdManager {
    public static void InitWithConsent (bool isConsentGiven) 
    public static void InitWithConsent (bool isConsentGiven, bool isAgeRestrictedUser)
}

6.2.2

GDPR

GDPR compliance has been added in this version, apps should acquire EU users consent for networks to provide personalised ads. Pass the consent to Tapdaq if consent is available at initialisation it should be added like so:

AdManager.InitWithConsent(true);

If consent is acquired mid session inform Tapdaq like so:

AdManager.setConsentGiven(true);

NOTE: Chartboost will not update consent mid session and must be set at initialisation

Age restricted users

Some networks ask if users are known to be under 16, this can also be set at initialisation or mid session like so:

AdManager.InitWithConsent(true, true); //Params Consent, IsAgeRestrictedUser

Set mid session like so:

AdManager.SetIsAgeRestrictedUser(true);

6.1.0

Play Services Resolver Updated to 1.2.61

Before importing TapdaqUnity.unitypackage delete the PlayServicesResolver folder from the Assets folder to prevent having duplicate/conflicting versions in your project.

Alternatively do not import the PlayServicesResolver folder if you want to keep your version.

6.0.0, 6.0.1

Known issues

iOS app will crash if methods that do not specify placement tags are used.

The workaround is to specify default placement tag when loading an ad, showing an ad or checking if an ad is ready to be shown.

Example:

// Instead of using:

AdManager.LoadInterstitial();
AdManager.ShowInterstitial();
AdManager.IsInterstitialReady();

AdManager.LoadVideo();
AdManager.ShowVideo();
AdManager.IsVideoReady();

AdManager.LoadRewardedVideo();
AdManager.ShowRewardedVideo();
AdManager.IsRewardedVideoReady();

// Use the following method:

AdManager.LoadInterstitial("default");
AdManager.ShowInterstitial("default");
AdManager.IsInterstitialReady("default");

AdManager.LoadVideo("default");
AdManager.ShowVideo("default");
AdManager.IsVideoReady("default");

AdManager.LoadRewardedVideo("default");
AdManager.ShowRewardedVideo("default");
AdManager.IsRewardedVideoReady("default");

5.9.0

Lifecycle Methods

Receptiv requires Android lifecycle events to be passed back to their SDK. This may be used by Tapdaq, or by other adapters in the future. You can read more about lifecycle methods in our Quickstart guide.

AdManager.OnApplicationPause must be called from any MonoBehaviour object script in each scene. Read more about OnApplicationPause unity method here.

Here's an example:

void OnApplicationPause(bool pauseStatus)
{
    AdManager.OnApplicationPause (pauseStatus);
}