Begin by following the instructions in the basic integration article, and then the instructions for any of the ad formats you want to integrate (interstitial or rewarded ads, banner ads, MREC ads). This article contains supplementary information and assumes you have completed basic integration.
As of July 1, 2020, California Consumer Privacy Act (CCPA) will be enforced and publishers must updated to Windows SDK 6.11.0 or higher to comply with CCPA.
AdFactory.UpdateCcpaStatus() method takes the user's consent status to specify whether the user has
AdFactory.GetCcpaStatus() method returns current CCPA status for the user.
In accordance with CCPA, the consent status is opted in by default unless
UpdateCcpaStatus() has been explicitly called to set it as opted out.
// Update CCPA consent status
public static void UpdateCcpaStatus(CcpaConsentStatus status)
// Usage example of CCPA API
// To set the user's CCPA status to opted in:
// To set the user's CCPA status to opted out:
// To find out what the user's current consent status is:
CcpaConsentStatus currentCcpaStatus = AdFactory.GetCcpaStatus();
Generally speaking, the Children’s Online Privacy Protection Act (COPPA) regulates the collection, use, and disclosure of personal information for children under the age of 13 by certain websites and online services (including mobile apps). Compliance with COPPA is a legal issue and we suggest you seek the advice of an attorney in determining compliance. Additionally, for more information on COPPA, please refer to the Federal Trade Commission's COPPA FAQ.
Liftoff has tools to assist publishers with COPPA compliance. In addition to use of settings on the Liftoff Monetize Dashboard, Liftoff offers features within the Vungle SDK using the COPPA API. This is available for early access with Windows SDK v.6.11.0.
COPPA Compliance at the App Level
Liftoff provides tooling in the Monetize Dashboard to indicate COPPA compliance for each app. When defining your app in the Liftoff Monetize Dashboard, you must indicate to Liftoff whether your app is directed toward children under age 13. Depending on your setting, Liftoff will globally treat all traffic for the app as subject to COPPA or not. If you indicate that your app is not directed toward children under 13, COPPA settings will not apply at the app level, and can then be indicated at a more granular level (see COPPA Compliance at the Device Level).
COPPA Compliance at the Device Level
Starting with SDK v.6.11 early access, Vungle provides an optional method for you to indicate at the device level whether the user within the given mobile app is under or over the age of 13 by using the SDK COPPA API. The SDK COPPA API is most appropriate in cases of apps that legally can implement an age screen or age gate in accordance with COPPA, rather than treating all users as under 13. If you believe your app as a whole is primarily directed to children under the age of 13 as set forth in COPPA and related guidance, the COPPA Dashboard settings are more appropriate for you.
Recommendations for Using Vungle's COPPA Compliance Tools
Pursuant to the Vungle SDK License and Publisher Terms, it is the publisher’s responsibility to ensure compliance with applicable laws, including COPPA. Vungle is not liable for COPPA violations resulting from incorrect settings communicated via the SDK COPPA API. Consider the following recommendations to help you ensure COPPA compliance.
- Use the SDK COPPA API for mixed-audience apps. Use the SDK COPPA API if:
- You have confirmed you are a “mixed-audience app” under COPPA
- You have implemented an age gate or age screen
- You have stated that for your app “COPPA settings will NOT apply” in the Publisher Dashboard (otherwise, a COPPA-compliant setting in your Dashboard will override any API settings to the contrary)
- Use the Dashboard for apps directed towards children under 13: In cases where it is clear that your app is primarily directed to children under the age of 13, use the COPPA settings section in the Publisher Dashboard instead of the SDK COPPA API.
- Conflicting settings between API and Dashboard: As noted above, you can establish COPPA settings at the app level (but not at the user level) on the Publisher Dashboard, and at the device/user level by using the SDK COPPA API. Under the current release of SDK COPPA API functionality, in the event of a conflict between the settings in Publisher Dashboard and those passed via the SDK COPPA API, the COPPA-compliant setting takes precedence.
For example, if your app setting on the Publisher Dashboard is COPPA-compliant, and that same app also enables use of the SDK COPPA API and identifies a given user as over 13, Vungle will defer to the Dashboard setting, which states that all the users in this app are protected by COPPA regulations. If, on the other hand, your app setting on the Publisher Dashboard states that your app is not directed toward users under the age of 13, but a call to the SDK COPPA API identifies a given user as under age 13, Vungle will override the dashboard setting and treat that user as being protected by COPPA regulations.
The SDK COPPA API must be called before calling the
init method. To update Vungle about a user’s COPPA status:
* This method can be used to provide a user's COPPA status to the Vungle SDK.
* This method should be called before initialization.
B=VALUEis set to `true` for a user who is under the age of 13 and falls under COPPA regulations; `false` for a user known to be over the age of 13.
- Then call
AdFactory.GetInstance(), as shown.
// To treat the user as under age 13
// and under COPPA regulations:
// If user is known to be over age 13 and
// does NOT fall under COPPA regulations:
// Initialize SDK after setting COPPA Status
string appId = “VUNGLE_APP_ID”;
sdkInstance = AdFactory.GetInstance(appId);
VungleSDKConfig object and add it as a parameter in your SDK initialization to specify optional configuration settings.
VungleSDKConfig sdkConfig = new VungleSDKConfig(); sdkInstance = AdFactory.GetInstance(appID, sdkConfig);
VungleSDKConfig contains parameters that allow you to limit Windows
ASHWID tracking and set the minimum disk space required to initialize or load ads. We recommend that you contact Liftoff support before using any of these features. There are also additional properties not listed below, which can be set in
VungleSDKConfig, but these should only be used when requested by a Liftoff support person.
sdkConfig.DisableAshwidTracking = true; sdkConfig.MinimumDiskSpaceForAd = 50 * 1024 * 1024; sdkConfig.MinimumDiskSpaceForInit = 50 * 1024 * 1024;
These are the available properties in the
AdConfig object instance.
Note: This option only applies to mobile applications.
Sets the starting sound state for the ad.
If true (default), the audio respects device volume and sound settings.
If false, video begins muted but user may modify.
If true, allows the user to immediately exit an ad using the back button.
If false (default), the user cannot use the back button to exit the ad until the on-screen close button is shown.
Note: This option only applies to mobile applications.
This setting represents a fraction of the device volume and accepts values between 0.0 and 1.0.
Note: This setting is only available for v6.3.0 and above.
You can set the rewarded configuration at the placement level from the dashboard. Refer to Setting Up and Reporting on Placements.
The options for
SoundEnabled and incentivized dialogs for Dynamic Template ads are available on the dashboard to configure. Programmatic configuration will only apply to legacy ads.
To control whether a user has the option to close out of an ad, use the forced view options in your app's advanced settings on the Liftoff Monetize Dashboard.
As of May 25, 2019, the General Data Protection Regulation (GDPR) is enforced in the European Union. To comply with GDPR, developers have two options.
- Option 1 (recommended): Allow Vungle to handle the requirements. Vungle will display a consent dialog before playing an ad for a European user, and will remember the user’s consent or rejection for subsequent ads.
- Option 2: Publisher controls the GDPR consent process at the user level, then communicates the user’s choice to Vungle. To do this, developers can collect the user’s consent using their own mechanism, and then use Vungle APIs to update or query the user’s consent status. Refer to the sample code below for details.
// To set the user’s consent status as opted in to version 1.0 of your consent dialog:
// To set the user’s consent status as opted out of version 2.0 of your consent dialog:
sdkInstance.UpdateConsentStatus(VungleConsentStatus.VungleConsentDenied,"2.0"); // To find out what the user’s current consent status is: // This will return null if the GDPR Consent status has not been set // Otherwise, it will return VungleConsentStatus.VungleConsentAccepted or // VungleConsentStatus.VungleConsentDenied UpdateConsentStatus? currentStatus = sdkInstance.GetCurrentConsentStatus();
// To find out which version of your consent dialog the user was last shown:
If you are using Vungle SDK v6.2 or lower, set the consent status as follows:
// To set the user’s consent status on SDK versions 6.2 and below: