Skip to main content

ow-electron

ow-electron is a solution built on top of electron, aimed at allowing electron apps access to Overwolf APIs.

There is no problem with running both ow-electron and electron side-by-side on the same project. In order to run your app with ow-electron, you only need to add new start and build scripts in your package.json file:

start and build command variants for @overwolf/ow-electron
{
...
"scripts": {
...
"start:ow-electron": "ow-electron .",
"build:ow-electron": "ow-electron-builder --publish=never"
},
...
}

Unique App ID

Every Overwolf application (ow-electron or Overwolf platform), has a unique app id. This unique id is automatically generated, and is based on the app's name, and the app's author's name.

In ow-electron, these fields correspond to the following fields in the package.json file:

  • App name - The productName or name properties
  • App author - The name field under the author field.
Partial package.json with the relevant fields
{
...
"name": "ow-electron-sample-app",
...
"author": {
"name": "Overwolf"
},
...
"build": {
...
"productName": "ow-electron-sample-app",
...
},
...
}

Unique app ids are used for ads optimizations, as well as for optional anonymous analytics reports that you may review on our developer's console.

Referring To App ID In Your app

Once the app.whenReady promise resolves, your app's uid will be available, using the OVERWOLF_APP_UID environment variable (process.env.OVERWOLF_APP_UID). However, note that if you try to access it before the app is ready, the variable simply won't exist.

The owadview tag

Ad Enablement

In order for your app to be able to display ads, we first have to set up our backend to support your app's uid. Please contact us for further details here.

To enable ads for users in areas with more strict data collection regulations, it is also required to fully follow our CMP Implementation Guidelines.

The <owadview/> tag, which is based on the Electron <webview/> tag, automatically hosts and manages ads in your app.

To use it, place the <owadview/> tag (no attributes required) inside a <div> tag, with the size of the standard IAB ad unit you wish to display.

For more information about supported ad units + General ads guidelines, go here. (While that article was originally aimed at Overwolf platform apps, the general ad details are also relevant for ow-electron apps).

<div style="width: 400px; height: 300px; background: transparent;">
<owadview />
</div>
Transparent Background

We use background: transparent, in order to allow your app to show a background image as a fallback when there is no ads inventory to display.

Other things to keep in mind:

  • The <owadview/> tag starts muted by default. This can be changed.
  • The <owadview/> tag is automatically managed, so it will already handle any issues involving ad visibility or crashes.

Anonymous Analytics

In order to generate usage reports for your ow-electron app, we collect a small number of anonymous analytics (such as when the app is launched, and when a certain app's window is shown).

You can disable these analytics with the following piece of code:

import { app } from 'electron';

app.overwolf.disableAnonymousAnalytics();

...

app.whenReady().then(...)
Disabling Analytics

App analytics are disabled on a per-session basis. If you wish to completely disable them, you must do so before every app start, when initailizing your app.

A CMP makes it easier for you to meet the stricter legal requirements governing data collection in certain parts of the world, by helping you handle 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 them the CMP itself if necessary, applying any settings they use to the entire ow-electron package

The relevant users should then be informed about the existence of the CMP, as well as where they can find it in the app.

Introducing the CMP

There are two ways to introduce the relevant users to the CMP:

  • During the app's installation - Recommended
  • On the app's first start, as part of the First Time User Experience (FTUE)
    • If you are migrating your app to ow-electron, this will also apply to the first time that existing users start the app after the update

For more infromation about the CMP and how to work with it, refer to Consent-Management-Platform.