Specifications for calling the IOMb Library¶
The user's app usage is captured by the app calling the IOMb Library on defined events that mark a user interaction.
The user interaction is referred to as an event.
Note The IOMb Library must be explicitly invoked by the app when the event occurs.
Furthermore, the IOMb Lib automatically measures certain system or app specific values. For this purpose, the integration of the IOMb Lib Android must be done as described in the chapter Integration of the IOMB Lib Android.
Interpretation of events as mobile PI events¶
The specifications listed below define how the INFOnline Measurement Library is to be used in the context of IOMb Mobile Applications measurement.
From a technical perspective, a distinction is made between 2 types of events:
PI events.¶
In the case of PI events, the event is used to generate a page impression, analogous to the stationary Web. A content code (referred to simply as "code" in the following) must be assigned to this event. This code can then be assigned to the various categories and serves as the basis for creating booking units. For PI events, the mobile impression specifications of the IVW must be observed:
"A mobile impression is a user action within a mobile site that leads or could lead to a call-up of an advertising medium. Each user action may only be counted once. User actions that do not lead to any potential advertising delivery may not be counted.
Prerequisites for assigning an MI to a site:.
Delivered content must bear (for mobile-enabled websites) the FQDN or (for apps) the app name of the site (or alias/redirect) or the assigned MEW or app name of the site.
User action:
An MI is triggered by an action performed by the user. This also includes: reload, opening an app, opening a browser.
No user action:
Calling up content through an automatic redirect (except redirects and alias)., automatic reload, calling up content when closing (also: background) a browser window or app, calling up content via robots/spiders and similar.
No Mobile Impression:
The scrolling within an already loaded content.
Non PI events.¶
Non PI events are user actions that are recorded as an event in the IOMb system but do not result in a mobile impression being counted. No page code may be assigned to this event. Examples of non PI events are.
- Events automatically captured by the IOMb Lib.
- Events defined by the provider that do not represent a mobile PI but are still to be measured as events, e.g. in order to better track the use of the app by the users.
Guidelines for assigning page codes.¶
For PI events, the page code must be included as a unique identifier of the displayed content. The page code is specified by the app provider.
When specifying the content codes, the INFOnline code guidelines must be followed:
- Length of the codes: A page code may contain a maximum of 255 characters.
- Number of codes: a maximum of 2000 codes may be used.
- Permitted characters: a-z, A-Z, 0-9; comma ","; hyphen "-"; underscore "_"; slash "/"
Events¶
The following tables list events that are or can be collected in the measurement. The circumstances under which an event can lead to a Page Impression are also explained below.
Events automatically measured by the IOMb library¶
The following table describes the events for which the INFOnline Measurement Library is automatically called up. The events are user actions that are collected for technical reasons but do not result in the counting of a mobile impression. No page code may be assigned to this event.
Event Class | Event Type | Event | Comment |
---|---|---|---|
IOLApplicationEvent | Start, EnterBackground, EnterForeground, Crashed | App-specific event, e.g. start of the app, exit of the app, crash, etc. | ResignActive: incoming call, push notification alert, timer alert, etc. EnterFore/Background: App goes to background Terminate: App is terminated |
IOLInternetConnectionEvent | Established Lost SwitchedInterface | type of connectivity changes | connection established or lost Change from mobile to wifi or vice versa |
IOLWebViewEvent | Init | Hybrid measurement is activated |
PI events¶
In the following, events are listed which typically lead to the triggering of a PI. The adoption of the schema is recommended. The events must be triggered manually. The procedure is described in the chapter Logging an event. There is no automatic collection. PI events must be assigned a page code. This page code can then be assigned to the different categories and is used as the basis for creating booking units.
NOTE: For PI events, the specifications for mobile impression of the IVW must be observed.
Event Class | Event Type | Event | Remark |
---|---|---|---|
IOLDeviceOrientationEvent | Changed | Orientation of the device | LandscapeLeft / LandscapeRight or Portrait / Portrait UpsideDown |
IOLGestureEvent | Shake | Device is shaken | |
IOLViewEvent | Appeared Refreshed |
A view (aka "page") was displayed or updated with new data | Examples: Appeared: initial call of a page Refreshed: Search filter o. update of data |
IOLGameEvent | Action Started |
Gaming Events | Action within a game Game started |
IOLAudioEvent | Play Pause Stop Next Previous Replay SeekBack SeekForward |
Audio Playback | Play, Pause, Stop, Next/Previous track, Repeat Forward/Rewind, |
IOLVideoEvent | Play Pause Stop Next Previous Replay SeekBack SeekForward |
Video Playback | Play, Pause, Stop, Next/Previous Track, Repeat, Forward/Rewind |
Non PI events¶
The following are events that typically do not result in a PI being counted. However, if there are circumstances where a Mobile PI should also be generated here, these events can be used to enable this. Before using these events to generate PIs, please clarify the respective circumstances directly with the IVW office. If these events are to lead to the counting of PIs, this must also be triggered manually. A page code must then be assigned to this event. This page code can then be assigned to the various categories and serves as the basis for creating booking units.
Event Class | Event Type | Event | Remark |
---|---|---|---|
IOLViewEvent | Disappeared | A view (aka "Page") was abandoned | A view (aka "Page") was abandoned |
IOLDocumentEvent | Open Edit Close | Document / List Edit | List Edit Document Saved |
IOLDataEvent | Cancelled, Refresh, Succeeded, Failed | Data connection/ processing | Data connection aborted Data was updated Data was successfully transferred Data was not transferred |
IOLDownloadEvent | Cancelled, Start, Succeeded, Failed | Download of data | Download was initiated Download was aborted Download completed successfully Download failed |
IOLUploadEvent | Cancelled, Start, Succeeded, Failed | Upload of data | Upload was initiated Upload was cancelled Upload finished successfully Upload failed |
IOLLoginEvent | Succeeded, Failed, Logout | Login | Login completed successfully Login failed Logout completed/Session ended |
IOLGameEvent | Finished, Won, Lost, NewHighscore, NewAchievemen | Gaming Events | Game finished Game(round) won Game(round) lost New Highscore achieved New Achievement achieved |
IOLHardwareButtonEvent | Pushed | Switch or button on device pressed | Volume changed via rocker switch on device Device locked (power button pressed) Home button pressed |
IOLBackgroundTaskEvent | Start, End | A background process is started or ended | Download or upload of larger files, which should possibly run in the background |
IOLOpenAppEvent | Maps, Other | Another app is started or app is exited via a URL | Maps: Apple Maps is called Other: Other apps or URIs are called (Email, Phone, Websites, etc.) |
IOLAdvertisementEvent | Open, Close | Advertisement is shown or hidden | Advertising banner is opened or closed |
IOLIAPEvent | Started, Finished, Cancelled | In-app purchases are made | IAP process is initiated (Started) IAP process is finished (Finished) IAP process is cancelled (Cancelled) |
IOLPushEvent | Received | Push Notifications | A push notification is received |
IOLCustomEvent | * | User definable | A CustomEvent can measure a user definable status or action (Intended for future use). |
As soon as an event described under "events to be triggered manually" is triggered in the app, the IOMb library Android is to be called via logEvent. An instance of the corresponding IOLEvent subclass must be passed as parameter (see also IOMb Library Android functions).
The transmission of the non PI events to the INFOnline Measurement System is optional.
note
The non PI events have no influence on the range determination of your app.
These events can be used by you to quantitatively determine the frequency of occurrence of these events (in the INFOnline evaluation systems). It should be noted here that capturing and transmitting the non PI events uses technical resources (CPU time, network traffic, battery) on the end device.
With regard to the use of technical resources on the end device, we ask you to decide when planning the implementation of the integration of the MeasurementLibs whether your app should transmit NonPI events to the INFOnline Measurement System.
Special case "ViewRefreshed" event¶
In the event that a view is refreshed (IOLViewEvent, type IOLViewEventType.Refreshed), note the following:
NOTE: The event may only be logged if the refresh of the data was triggered manually by the user. The event must not be logged in case of an automatic refresh.
TCF 2.0 Information / IO Consent String Notation¶
Brief description of TCF 2.0¶
The European General Data Protection Regulation (GDPR) defines almost all profile data collected via cookies or mobile ad identifiers as personal data. Anyone who collects visitor data on their web page must inform the user about its use. Particularly with modern advertising mechanisms such as RTB/RTA (Real Time Bidding/Advertising), a highly complex chain of different service providers is created that are involved in the processing and enrichment of user data. It must be known at every point and at every time which tracking and targeting processes of a user are permitted - and which must be refrained from. To ensure technical security, the industry association IAB Europe has developed the "Transparency and Consent Framework". In September 2019, the supplemented version 2.0 was published. On 15.08.2020, the rollout of this took place.
In addition to the user, the TCF defines three other categories of actors: vendors, publishers and Consent Management Platforms (CMPs).
-
Vendors are all service providers in the delivery chain who want to process data. They include, for example, website tracking systems, ad servers and adverification providers, demand and sell side platforms (DSPs and SSPs), and data management platforms (DMPs). Vendors must be registered with TCF and declare the purposes for which they want to process data. With this information, they can be viewed via the so-called Global Vendor List (GVL).
-
Publishers provide content and are in direct contact with consumers.
-
Consent Management Platforms (CMPs) are specialized service providers that operate the privacy centers and consent screens on web pages for publishers and advertisers, where they give users the opportunity to consent or object. As part of the TCF, they are responsible for providing the user's consent status to the delivery chain.
The TCF defines a standardized nomenclature for the communication between the different parties, the so-called signaling. For each vendor integrated by a publisher or advertiser on the pages, it is transmitted for the individual processing purposes whether the data processing is permitted and whether the user has made an explicit Opt-out.
In version 2.0, the TCF distinguishes between ten different purposes (Purposes) for the processing of tracking data. These are supplemented by a total of seven additional processing options and purposes that regulate specific use cases and their legal basis.
Application | ID | Processing Purpose | Legal Basis |
---|---|---|---|
Setting cookies | 01 | Storing and/or retrieving information on a device | Consent or not used |
Technical Targeting | 02 | Selecting Simple Ads | Consent, Legitimate Interest or Not Used |
Profile Targeting | 03 | Creating a Personalized Ad Profile | " |
" | 04 | Selecting personalized ads | " |
" | 05 | Create a personalized content profile | " |
" | 06 | Selecting personalized content | " |
Tracking and market research | 07 | Measuring ad performance | " |
" | 08 | Measuring content performance | " |
" | 09 | Using market research to gain insights into target audiences | " |
Product Development | 10 | Developing and Improving Products | " |
Setting cookies | 01 | Storing and/or retrieving information on a device | Consent or not used |
Technical targeting | 02 | Selecting simple ads | Consent, legitimate interest or not used |
Table1: Overview of Purposes
Application | ID | Purpose of processing | Legal basis |
---|---|---|---|
Exact location data and query of device properties for identification | 01 | Use exact location data | Consent or not used |
" | 02 | Actively query device properties for identification | " |
*Table2: Overview of Purposes
INFOnline Consent String Notation¶
According to the INFOnline.de website at TCF2.0: INFOnline Consent String Notation ( at 1st mention explanation 'new generation of scalable central measuring procedures' in brackets)