Consent Management Platform (CMP)
A CMP makes it easier for you to meet the stricter legal requirements governing data collection in certain parts of the world. It helps you by handling the process of receiving consent to collect user cookies. This also allows you to show ads to users living in those areas.
OW-Electron comes with a built in CMP which your app can utilize out of the box. This allows you to:
- Check if a user needs to be informed of the CMP.
- Show the CMP itself (if necessary) and apply any settings needed to the entire OW-Electron package.
Users are then informed about the existence of the CMP, as well as where they can find it in the app.
Installer CMP Mockup
Below is a interactive mockup, of the Overwolf installer with the CMP:
Introducing the CMP to users
The CMP is broken down into two layers:
- First layer—displayed when the app is first installed or when run for the first time.
- Second layer—displayed in the app's settings page where the user can manage privacy settings.
First layer
The first layer is the initial screen a user sees when they launch the app. It provides a summary of data processing activities and allows the user to quickly accept or reject consent. Its main purpose is to inform and offer a quick way to make a decision. The first layer provides:
- An explanation as to why their data is being collected.
- Shows that other companies may also process data.
- Gives clear, balanced buttons like Accept All and Manage Settings.
Apps that use Overwolf's custom installer automatically handles the introduction of the CMP to users during installation. Contact us for more details. If you are not using Overwolf's custom installer, you will have to introduce the first layer as part of the App's FTUE.
You must show users a notice informing them about the CMP before starting the installation.
CMP Notice Template
{App Name} may display in-app ads to help provide you with a free high-quality app.
In order to deliver ads that are relevant for you, {App Name} and trusted {ad vendors}(**must link to `vendors` tab**)
store and/or access information on your computer, and process personal data such as IP address and cookies.
Click on the “Manage” button to control your consents,
or to object to the processing of your data when done on the basis of legitimate interest.
You can change your preferences at any time via the settings screen.
Purposes we use: Store and/or access information on a device,
personalized ads and content, ad and content measurement,
audience insights and product development.
Second layer
The second layer opens when the user wants to explore or adjust their settings in more detail. Typically this done using a Manage Settings or More Options button. This layer gives the user full control and transparency over how their data will be handled. The second layer provides:
- An explanation for the specific purpose of the data use.
- The option to turn each purpose on/off.
- Lets users control consent for each vendor individually.
- Describes special purposes and features.
The CMP and Privacy settings changes based on your the country you are in.
To access the second layer:
- In the installer, the User can click the Manage button when prompted.
- In the app, the user must be able to access a Manage button in the app's settings.
Allowing users to access the CMP
Once the user has been introduced to the CMP, they must be able to find it if they ever wish to alter its settings.
This is usually achieved by having a clearly visible section in the app's settings, called Privacy
, that shows the following when clicked:
Clicking on Manage
then opens the CMP window, in the same way that it was opened at the start.
CMP APIs
app.overwolf.isCMPRequired()
Returns whether or not a user is required to be informed about the CMP.
import { app } from 'electron';
await app.overwolf.isCMPRequired();
app.owElectronApp.overwolf.openAdPrivacySettingsWindow();
Opens the Ad privacy settings window. Use with
CMPWindowOptions
object.
CMPWindowOptions
object
Parameter | Type | Description |
---|---|---|
purposes | enum purposes , features , vendors | Opens the CMP type tab. Default tab is Purposes. |
modal | bool | Whether this is a modal window. This only works when the window is a child. Default is true . |
parent | BrowserWindow | Specify parent window. Default is null . |
center | bool | Show window in the center of the screen. Default is true . |
backgroundColor | string | Control the CMP preloader background window. |
preLoaderSpinnerColor | string | Control the CMP preloader color (spinner). |
width | number | Control the CMP Window width. |
height | number | Control the CMP Window height. |
x | number | Control the CMP Window left position. |
y | number | Control the CMP Window top position. |
language | string | The language the CMP will be displayed in. |
Supported languages
Use the following table for the language
parameter:
Name | Key Code |
---|---|
English | en |
German | de |
Portuguese | pt |
Spanish | es |
French | fr |
Italian | it |
Polish | pl |
Example:
owElectronApp.overwolf.openAdPrivacySettingsWindow(
{
// Set color of the loading spinner.
preLoaderSpinnerColor: '#ff0000',
// Set the x position of the window.
x: 0,
// Set the y position of the window.
y: 0,
}
);
app.overwolf.openCMPWindow()
Opens the built-in CMP window.
This API is deprecated. Use app.overwolf.openAdPrivacySettingsWindow()
instead.
app.overwolf.openCMPWindow({
// defaults to purposes if not defined
tab?: ['purposes' | 'features' | 'vendors']
});
Using the CMP APIs
- When the app launches for the first time, call
app.overwolf.isCMPRequired()
. - If
true
returns, display the first layer of the CMP during the App's FTUE. - If
false
returns, let the user continue with the App's FTUE without showing the first layer. - Regardless of
app.overwolf.isCMPRequired()
, implement a Privacy section in your app's settings. - Add a Manage button which calls
app.overwolf.openAdPrivacySettingsWindow();
to open the second layer of the CMP.