• No results found

ADTECH Mobile for App Developers

N/A
N/A
Protected

Academic year: 2021

Share "ADTECH Mobile for App Developers"

Copied!
216
0
0

Loading.... (view fulltext now)

Full text

(1)

User Guide

ADTECH Mobile for App Developers

ADTECH GmbH

(2)

2012-12-18 Page 2 of 216

Table of Contents

About this Document ... 6

Chapter 1

Framework and Technology

7

Getting Started in ADTECH Mobile ... 8

ADTECH Display versus ADTECH Mobile ... 9

ADTECH Mobile Feature List ... 10

Mobile Ad Request ... 12

Device Screen Size Categories ... 13

MMA Mobile Web Banner Ad Sizes ... 14

Keyword, Key Value and Alias ... 15

Request URLs with Keyword, Key Value and Alias ... 17

HTTP Header Information ... 18

Mediation ... 19

More than One Mediation Partner ... 21

Postclick Tracking Beacon Tags ... 22

Chapter 2

ADTECH Mobile SDK

24

2.1 General Information About the ADTECH Mobile SDK ... 25

ADTECH Mobile SDK Release Notes ... 26

Purpose and Contents of the ADTECH Mobile SDK ... 27

Responsibilities of the App Developer ... 28

Compliance with Advertising Standards ... 29

MRAID Compliance ... 30

ORMMA Compliance ... 32

VAST Compliance ... 33

The ADTECH Mobile SDK Features and Properties ... 34

ADTECH Mobile SDK Feature Matrix for Different Platforms ... 36

Placement Configuration for the ADTECH Mobile SDK ... 38

Tracking Unique Devices with the Mobile SDK ... 44

Logging the ADTECH Mobile SDK Activity in the Console ... 45

Caching and Offline Display ... 46

Video Ads in the ADTECH Mobile SDK ... 48

Mediation in the ADTECH Mobile SDK ... 51

2.2 ADTECH Mobile SDK: iOS ... 52

2.2.1 Getting Started with the ADTECH Mobile SDK for iOS ... 53

How to Integrate the ADTECH Mobile SDK into Your iOS App ... 54

How to Update the ADTECH Mobile SDK to a Newer Version (iOS) ... 59

ADTECH Mobile SDK Release Notes (iOS) ... 61

2.2.2 How to Use the Mobile SDK in iOS ... 63

(3)

2012-12-18 Page 3 of 216

How to Add a Banner Entirely from Code (iOS) ... 68

How to Add an Interstitial (iOS) ... 70

Banner and Interstitial Configuration (iOS) ... 72

How to Use Video Ads (iOS) ... 74

How to Set the SDK Log Level (iOS) ... 76

How to Add Additional Key Value Parameters to the Ad Configuration (iOS) ... 77

How to Localize Messages Presented from the SDK (iOS) ... 79

What You Need to Know for Your iOS App to Work Well With the SDK ... 80

2.2.3 The Public Interface (iOS) ... 82

iOS Class: ATBannerView ... 83

iOS Class: ATInterstitialView ... 85

iOS Class: ATMoviePlayerController ... 87

iOS Class: ATBaseConfiguration ... 88

iOS Class: ATAdConfiguration ... 92

iOS Class: ATVideoAdConfiguration ... 94

iOS Class: ATVideoAdOverlay ... 96

iOS Protocol: ATBannerViewDelegate ... 98

iOS Protocol: ATInterstitialViewDelegate ... 100

iOS Enums ... 102

iOS Constants ... 104

2.2.4 How to Use Mediation for Third Party Advertisement SDKs in iOS ... 105

How to Add a Third Party SDK (iOS) ... 106

Supported Third Party SDK’s (iOS) ... 107

AdMob Configuration in the ADTECH Mobile SDK (iOS) ... 108

iAd Configuration in the ADTECH Mobile SDK (iOS) ... 109

Millennial Configuration in the ADTECH Mobile SDK (iOS) ... 110

Greystripe Configuration in the ADTECH Mobile SDK (iOS) ... 111

Vdopia Configuration in the ADTECH Mobile SDK (iOS) ... 112

2.3 ADTECH Mobile SDK: Android ... 113

2.3.1 Getting Started with the ADTECH Mobile SDK for Android ... 114

How to Integrate the ADTECH Mobile SDK into Your Android App ... 115

Permissions for the Mobile SDK (Android) ... 117

ADTECH Mobile SDK Release Notes and API Changelog (Android) ... 119

2.3.2 How to Use the Mobile SDK in Android ... 121

How to Add a Banner as a Resource (Android) ... 122

How to Add a Banner Dynamically (Android) ... 125

How to Manage the Banner Life Cycle (Android) ... 126

How to Add an Interstitial (Android) ... 127

How to Manage the Interstitial Life Cyle (Android) ... 129

Ad Container Restrictions (Android) ... 130

How to Set the Visibility of the Container (Android) ... 131

How to Configure an Ad (Android) ... 132

(4)

2012-12-18 Page 4 of 216

How to Use Direct Landing Page URLs (Android) ... 135

How to Use Video Ads (Android) ... 136

How to Set the SDK Log Level (Android) ... 139

How to Add Additional Key Value Parameters to the Ad Configuration (Android) ... 140

How to Localize Messages Presented from the SDK (Android) ... 141

What You Need to Know for Your Android App to Work Well With the SDK ... 142

2.3.3 The Public Interface (Android) ... 143

Android Classes ... 144

2.3.4 How to Use Mediation for Third Party Advertisement SDKs in Android ... 146

How to Add a Third Party SDK (Android) ... 147

Supported Third Party SDK’s (Android) ... 148

AdMob Configuration in the ADTECH Mobile SDK (Android) ... 149

Millennial Configuration in the ADTECH Mobile SDK (Android) ... 151

Greystripe Configuration in the ADTECH Mobile SDK (Android) ... 154

Vdopia Configuration in the ADTECH Mobile SDK (Android) ... 156

2.4 ADTECH Mobile SDK: Windows Phone ... 157

2.5 How to Use the Mobile SDK in Windows Phone ... 158

How to Integrate the ADTECH Mobile SDK into Your Windows Phone Application ... 159

Banner and Interstitial Default Configuration (Windows Phone) ... 161

How to Add a Banner from XAML/Design Editor (Windows Phone) ... 163

How to Add a Banner Entirely from Code (Windows Phone) ... 166

How to Add an Interstitial Ad from XAML (Windows Phone) ... 167

How to Add an Interstitial Entirely from Code (Windows Phone) ... 170

How to Add Additional Key-value Parameters to the Ad Configuration (Windows Phone)... 172

2.6 The Public Interface (Windows Phone) ... 173

Windows Phone Class: BaseAdtechControl ... 174

Windows Phone Class: AdtechBannerControl ... 175

Windows Phone Class: AdtechInterstitialControl ... 176

Windows Phone Enums ... 177

2.7 Marketplace Submission Guidelines (Windows Phone) ... 178

Application Policies for the Windows Phone Marketplace ... 179

2.8 ADTECH Mobile SDK: Windows 8 ... 180

2.8.1 Getting Started with the ADTECH Mobile SDK (Windows 8) ... 181

How to Integrate the ADTECH Mobile SDK into Your Windows 8 Store Application ... 182

ADTECH Mobile SDK Release Notes (Windows 8) ... 185

2.9 How to Use the Mobile SDK in Windows 8 ... 186

Banner and Interstitial Default Configuration (Windows 8) ... 187

How to Add a Banner from XAML/Design Editor (Windows 8) ... 188

How to Add a Banner Entirely from Code (Windows 8) ... 191

How to Add an Interstitial Ad from XAML (Windows Phone) ... 192

How to Add an Interstitial Entirely from Code (Windows 8) ... 195

(5)

2012-12-18 Page 5 of 216

2.10 The Public Interface (Windows 8) ... 198

Windows 8 Class: BaseAdtechControl ... 199

Windows 8 Class: AdtechBannerControl ... 200

Windows 8 Class: AdtechInterstitialControl ... 201

Windows 8 Enums ... 202

2.11 Windows Store Submission Guidelines (Windows 8)... 203

Application Policies for the Windows 8 Store ... 204

2.12 ADTECH Mobile SDK Limitations ... 205

Platform Specific Mobile SDK Limitations ... 206

MRAID 1.0 SDK Limitations ... 208

MRAID 2.0 SDK Limitations ... 209

ORMMA Level 2 SDK Limitations ... 212

Caching and Offline Display SDK Limitations ... 213

VAST SDK Limitations ... 214

Chapter 3

Glossary

216

(6)

2012-12-18 Page 6 of 216

About this Document

This document describes ADTECH Mobile, the ad serving solution for mobile devices. ADTECH Mobile, ADTECH’s new integrated mobile solution, makes mobile advertising much easier, more efficient and successful. ADTECH Mobile allows you to book mobile campaigns as easy as traditional display campaigns.

All information from the ADTECH user guides is proprietary and to be treated as strict-ly confidential. Data is exclusivestrict-ly destined for the exclusive and internal use of the ADTECH customer. Any use, transmission, provision of access to third parties, circula-tion or any other utilizacircula-tion of the data or of informacircula-tion provided, other than con-tractual, is strictly prohibited.

ADTECH GmbH Robert-Bosch-Str. 32 D-63303 Dreieich GERMANY Phone: +49 6103 5715-0 Fax: +49 6103 5715-111 E-Mail: [email protected] URL: http://www.adtech.de/ About this document

Copyright and confidentiality

(7)

2012-12-18 Page 7 of 216

Chapter 1

Framework and Technology

Topic Page

Getting Started in ADTECH Mobile ... 8

ADTECH Display versus ADTECH Mobile ... 9

ADTECH Mobile Feature List ... 10

Mobile Ad Request ... 12

Device Screen Size Categories ... 13

MMA Mobile Web Banner Ad Sizes... 14

Keyword, Key Value and Alias ... 15

Request URLs with Keyword, Key Value and Alias ... 17

HTTP Header Information... 18

Mediation ... 19

More than One Mediation Partner ... 21

Postclick Tracking Beacon Tags ... 22 In this chapter

(8)

2012-12-18 Page 8 of 216

Getting Started in ADTECH Mobile

This topic discusses the process of getting started with ADTECH Mobile. The process consists of the following stages:

No. Stage Description

1 Prepare IQ The CRM prepares the network with respective network features, keygroups, keyword tree, tag templates, banner templates etc. 2 Create

placements The customer creates five mobile placements in ADTECH IQ in five different sizes (see MMA Mobile Banner Sizes on page 14) for each placement on the mobile app. For details see Device Screen Size Categories on page 13 and How to Set Up Placements.

3 Prepare

Website/App The app developer prepares the app for use with ADTECH Mobile. For details see Preparing the App for Mobile Users and ADTECH Mobile SDK on page 24.

4 Choose Me-diation partner

The customer decides whether he wants to work with a mediation partner that fills the remnant inventory. For details see Mediation on page 19 and get in touch with your ADTECH Client Service con-tact person.

5 Book

cam-paign The trafficker books the Mobile campaigns in the ADTECH IQ user interface. 6 Detect

in-formation The Mobile Ad Server detects the device information during the ad request and delivers the banner in the correct size. For details see Mobile Ad Request on page 12 and Keyword, Key Value and Alias on page 15.

Introduction Getting started

(9)

2012-12-18 Page 9 of 216

ADTECH Display versus ADTECH Mobile

This topics describes the differences between ADTECH Display and ADTECH Mobile • Mediation: Collaboration with a mediation partner for the monetization of your

remnant inventory is supported.

Unique devices: Unlike the display advertising industry, mobile advertising has fewer standards and common display formats. Each manufacturer (e.g. Apple) uses its own browser and the devices (e.g. iPhone) have many different screen sizes, resolutions etc. There are many unique devices.

Device and size detection: ADTECH Mobile allows ads to display properly on all types of devices with the help of device and size detection.

Tag types: There are new tag types available for ADTECH Mobile. For details see Mobile Tags for Websitesand Code Samples for Apps.

Webmaster and app developer: In addition to working with the ADTECH IQ user interface, the webmasters and app developers need to prepare the websites and apps for mobile ad serving. For details see Information for Webmasters and Infor-mation for App Developers.

Manufacturer, device, size, carrier and OS: The ADTECH features keyword target-ing, key value targeting and placement alias are used to pass certain mobile infor-mation in the request URL. For details see Keyword, Key Value and Alias on page 15 and Request URLs with Keyword, Key Value and Alias on page 17.

Reports: In general, any report can be generated when using ADTECH Mobile (e.g. Keyword reports which contain the devices for mobile targeting). In addition, there is a special mobile report called Invoice Check Mobile.

ADTECH Mobile Ad Server: The ADTECH Mobile Ad Server receives all mobile ad requests and forwards them to the ADTECH Ad Server.

Tracking: Postclick Tracking is supported. For details see Postclick Tracking Beacon Tags on page 22.

HTTPS: Secure tags are not yet supported in ADTECH Mobile.

Placement refresh interval: You can define a refresh interval for placements in apps. For Details see How to Set the Behavior of the Mobile SDK in ADTECH Mobile in the User Interface.

Introduction Differences to ADTECH Display

(10)

2012-12-18 Page 10 of 216

ADTECH Mobile Feature List

This topic describes which features are supported by the ADTECH Mobile solution. The following features are supported/ not supported by ADTECH Mobile:

Features ADTECH Mobile

ADTECH Analytics Campaign layers

Click or transaction rate based banner optimiza-tion

Companion ad and tiling

Cookies (and cookie related features) Cookie targeting

eCPM

Forwarding Traffic Frequency Capping

Impression and click based delivery IMS forecast

IP based country targeting via key values IP based geo targeting

Key Values

Keywords (additional) Live Monitor

Live Log Live Test*

Interface to Mediation partners: • InMobi • Inneractive • Mojiva • Nexage • Smaato • Millennial

Mobile keyword tree in Forecast campaign Multiple placements on one page

Online Targeting Tab Postclick Tracking

Reporting and Report Wizard Re-Targeting

Introduction

Features of ADTECH Mobile

(11)

2012-12-18 Page 11 of 216

Features ADTECH Mobile

Server side cookies Server-to-server pixel Size detection Targeting by carrier

Targeting by device and manufacturer Targeting by OS

*not for custom domains

The following features are supported/ not supported by ADTECH Mobile for Mobile Web and Mobile App:

Features Mobile

Web Mobile App Special banner formats/templates (e.g.

full-screen or expandable banner)

Rich media support (e.g. ADTECH Canvas) Image banner formats

Other banner formats: • Animated images • HTML, HTML 5 • JavaScript • Flash • Video

SDK support for platforms:

• iOS

• Android

Key value for app name

Key value for Mobile SDK version Placement refresh interval Third party SDK support ADTECH Mobile

feature comparison for Mobile Web and Mobile App

(12)

2012-12-18 Page 12 of 216

Mobile Ad Request

No. Stages Description

1 Ad request The mobile device requests a mobile web page and makes an ad request to the Mobile Ad Server.

2 Device detection The Mobile Ad Server detects screen size, device, carrier and manufacturer information and adds these values to the ad request. For details see Request URLs with Keyword, Key Val-ue and Alias on page 17 Keyword on page 15.

3 Ad request The Mobile Ad Server forwards the ad request to the ADTECH Ad Server including the values from the device detection. 4 Campaign

selec-tion The ADTECH Ad Server checks whether a campaign is availa-ble. 5 Ad response The ad response (campaign or default) is sent to the Mobile

Ad Server. 5a Check for

Media-tion Partner (If mediation is activated and if ADTECH has returned a de-fault) The Ad Server makes an ad request to the mediation net-work(s).

5b Mediation ad

re-sponse (If a mediation partner exists) The network sends the ad response to the Mobile Ad Server. 6 Ad delivery The Mobile Ad Server delivers the ad.

For details on mediation see Mediation on page 19. Mobile ad request

image

(13)

2012-12-18 Page 13 of 216

Device Screen Size Categories

This topic describes the device screen size categories. After the size of a device has been detected by the Mobile Ad Server, it is passed to the ADTECH Ad Server via the alias feature (for details see Keyword, Key Value and Alias on page 15). The screen size is put into one of five device screen size categories predefined by the Mobile Market-ing Association (MMA). These categories depend on the width of the device screen and can be compared to t-shirt sizes (S-XXL). The banners are then delivered to the corresponding screen size category. For details see MMA Mobile Banner Sizes on page 14.

The table below shows the device screen size categories with the matching device screen size:

Size categories Screen width Size keys S (small) 0-167 pixel 1 M (medium) 168-215 pixel 2 L (large) 216-299 pixel 3 XL (extra large) 300-319 pixel 4 XXL (extra extra large) 320+ pixel 5 Introduction

(14)

2012-12-18 Page 14 of 216

MMA Mobile Web Banner Ad Sizes

The Mobile Marketing Association (MMA) is the premier global association that strives to stimulate the growth of mobile marketing and its associated technologies. The MMA is a global organization with 400 members representing over twenty countries. MMA members include agencies, advertisers, device manufacturers, carriers and op-erators, retailers, software providers and service providers, as well as any company focused on the potential of marketing via mobile devices.

The MMA has defined 5 recommended banner sizes for mobile devices (see Standard mobile banner sizes below) and ADTECH IQ is compliant with them.

• The 5 recommended Mobile Web Banner Ad sizes defined by the MMA are put into the five device screen size categories (see Device Screen Size Categories on page 13).

• They are available in 4:1 and 6:1 aspect ratios.

• ADTECH supports these banner sizes and also a default banner size that will be delivered if the device is unknown.

Note: For details on the MMA guidelines see http://mmaglobal.com/mobileadvertising.pdf. The MMA has defined recommended universal Mobile Web Banner Ad sizes for each size category. If a mobile device has the size category medium for example, then the universal Mobile Web Banner Ad should have the size 168x42.

The table below shows the standard Mobile Web Banner Ad sizes defined by the MMA:

Device size Universal Mobile Web Banners (in pixels wide x tall) (MMA category) 4:1 Aspect Ratio 6:1 Aspect Ratio

small 120x30 120x20 medium 168x42 168x28 large 216x54 216x36 x-large 300x75 300x50 xx-large 320x75 320x50 Notes:

• You need to decide together with the ADTECH client whether you have to use the 6:1 or the 4:1 ratio.

• The actual height and width for each of the banner sizes can vary from those out-lined above depending on the territory. Some countries have their own guidelines, however, the size detection in ADTECH Mobile is based on the MMA guidelines. • There are no MMA banner recommendations for tablets today.

About the MMA

Standard mobile banner sizes

MMA recommended Mobile Web Banner Ad sizes

(15)

2012-12-18 Page 15 of 216

Keyword, Key Value and Alias

ADTECH Mobile uses three targeting features (keyword, key value and alias targeting) to pass information to the Ad Server. This topic describes which information is passed using which ADTECH IQ feature. Furthermore, the properties and restrictions of the features are outlined.

The keyword feature is used to pass manufacturer and device information. Example: key=rld-manufacturer_device

Properties and limitations

• Keyword targeting (here: manufacturer and device targeting) is supported by the IMS.

• A maximum of 5,000 keywords can be used in a flight/campaign. • Keywords are limited to 60 characters in ADTECH IQ.

• Individual phone user agent updates will be conducted once/twice a month, so it is possible that a new device may not be recognized until an update occurs.

• In the event that an update for device detection is needed to address a wholesale change on the part of a device manufacturer (such as an OS update that affects a high proportion of phones), it will be completed within a 48 hour time period from notification.

• There is a keyword tree predefined by ADTECH and uploaded into your network for preselecting keywords. For details see The Keyword Tree.

• Upon request, the Mobile Device Targeting keyword tree can be activated for the various campaign types.

The key value feature is used to pass carrier and operating system (OS) information. Example: kvmcarrier=carrier; kvmos=os

Properties and limitations

• If the version of the OS is available, it will also be passed (e.g. kvmos=android:android_1_0).

• Key value targeting (here: carrier and OS targeting) is not supported by the IMS. • ADTECH will predefine a keygroup and upload it into your network for preselecting

key values. For details see The Keygroups.

• All key values that you want to use in a mobile campaign need to be within the same keygroup.

Introduction

Keyword

(16)

2012-12-18 Page 16 of 216 The alias feature is used to pass size information. Each mobile placement has an alias that consists of a description, position and size key. The size keys identify the size of the placement. For details see Size keys below.

Example: mobilesportsboxingandandroidbanner-top-1 (ali-as=description-position-size key)

Note: For details on the Alias feature see the separate Alias user guide. Properties and limitations

• The “description”should be as detailed as possible and contain the entire path from website to page to section etc. without hyphen or underscore.

• The “position” must be “top”, “bottom” or “other1” to “other8”. For details see Position below.

• The “size key” must be a number between 1 and 5. For details see Size keys below. • Once the device is identified, the system will dynamically overwrite the size in the

tag with the correct size for the device.

• For details on the allowed characters see the separate Alias user guide. Position

There are currently 10 positions available:

Position Description Usage

top An ad that is positioned on the top of the page. mandatory other1 One of 8 ads that is positioned randomly. optional other2... One of 8 ads that is positioned randomly. optional other8 One of 8 ads that is positioned randomly. optional bottom An ad that is positioned the lower part of the page. optional Notes:

• A position needs to be unique, e.g. there cannot be two placements called “oth-er1”.

• Each of the tags must be wrapped in div containers (<div></div>). Without the div container ads may not show in the correct position.

Size keys and device size category The following sizes are used:

Size key Device Size Category 1 S 2 M 3 L 4 XL 5 XXL Alias

(17)

2012-12-18 Page 17 of 216

Request URLs with Keyword, Key Value and Alias

This topic shows example request URL for EU and US that are • passed from the device to the Mobile Ad Server and

• passed from the Mobile Ad Server to the Ad Server and which contain the data from the device, size, carrier and OS detection via keyword, key value and alias in-formation.

http://a.adtech.de/addyn/3.0/1119.1/0/0/0/ADTECH;loc=100;grp=[group];random=129906372986

http://a.adtechus.de/addyn/3.0/1119.1/0/0/0/ADTECH;loc=100;grp=[group];random=129906372986

http://adserver.adtech.de/addyn/3.0/1119.1/0/0/0/ADTECH;loc=100;

key=rld-APPLE_IPHONE;kvmcarrier=VODAFONE_UK;kvmos=android;

alias=mobilesportsboxingandandroidbanner-top-4;grp=[group];

random=129906372986

http://adserver.adtechus.com/addyn/3.0/1119.1/0/0/0/ADTECH;loc=100;

key=rld-APPLE_IPHONE;kvmcarrier=VERIZON_US;kvmos=android;

alias=mobilesportsboxingandandroidbanner-top-4;grp=[group];

random=129906372986

The URL contains the following sections:

Functionality Targeting Variable Example Description Keyword

Manufactur-er, Device

key rld-APPLE_IPHONE Apple, iPhone

Key value Carrier/OS kvmcarrier/

kvmos VODAFONE_UK/ VERIZON_US Vodafone UK/ Verizon USA

Alias Size alias

mobilesportsbox- ingandandroidban-ner-top-4

4=XL device screen category

Introduction

Example Request URL EU from device to Mobile Ad Server Example Request URL US from device to Mobile Ad Server Example Request URL EU from Mobile Ad Server to Ad Server

Example Request URL US from Mobile Ad Server to Ad Server

(18)

2012-12-18 Page 18 of 216

HTTP Header Information

This topic describes what needs to be done in case the Mobile tag is sent to third party systems and the IP address and user agent cannot be properly passed.

Some publishers and networks are not able to pass neither the IP address nor the user agents of the devices because they send the Mobile Tag to third party systems (e.g. other ad server or SDK) who return the Mobile Tag to ADTECH as third party redirect. In order to receive the IP address and user agent of the device, it is imperative that x-forward-for (XFF) is used to forward the original header information. Both is required to use ADTECH Mobile with all features, such as size detection, carrier detections etc. Introduction

Use case

(19)

2012-12-18 Page 19 of 216

Mediation

When using ADTECH Mobile, it is possible to collaborate with a mediation partner. This topic describes what mediation is and how it is used.

You can collaborate with a mediation partner for the monetization of your remnant inventory. In case a default ad would be delivered, an ad request is made to the medi-ation partner who fills the remnant inventory. For details see Mobile Ad Request on page 12.

ADTECH offers an interface to connect the mediation partner with the Mobile Ad Server. For this process, the following points need to be considered:

Point Description

Publisher ID A publisher ID is given by the mobile mediation partner and helps to identify a customer.

Mapping list When setting up a mediation partner, the customer outlines his website structure and targeting criteria. This results in IDs that need to be mapped to the placements in ADTECH IQ. This can either be conducted via the entire or part of the alias description (for details see Keyword, Key Value and Alias on page 15).

Examples:

• Sport_homepage-top-1 (mapping name = Sport) • Sport-homepage_page-top-1 (mapping name = Sport) Notes:

• Sport is the mapping name which is mapped to the mediation part-ner’s ID.

• The mapping name is put at the beginning and an underscore (_) or hyphen (-) is used to separate the mapping name from the rest of the alias. For granular mediation, the mapping name should be as detailed as possible before the first hyphen or underscore. To sepa-rate the website from the page name, you could use a dot instead of a hyphen or underscore.

Example for mediation by page:

m.websitename.com.pagename-bottom-1

Example for mediation by placement:

m.websitename.com.pagename.position-bottom-1

Do not use:

m.websitename.com_news_business_news_mobileweb-bot tom-1

In case network mediation is used, it is possible to pass key values. However, they need to have fixed formats. For details please reach out to your ADTECH Client Service contact person.

Introduction

What is mediation?

Publisher ID and mapping list

Mediation and key values

(20)

2012-12-18 Page 20 of 216 In case network mediation is used and fullscreen ads are to be mediated through the Mediation partner’s network, the following points have to be considered:

• There is currently no mechanism to signal the mediation partner to return an ad matching the exact size (height and width) of the device.

• The publisher needs to communicate with the mediation partner how the place-ments should be passed.

• If the mediation partner does not support mediation of fullscreen ads, the publish-er must remove the placement from the mediation mapping list so that it will not be sent to the mediation partner.

Mediation and fullscreen banners

(21)

2012-12-18 Page 21 of 216

More than One Mediation Partner

When working with more than one mediation partner, there are currently two possi-ble scenarios for the set-up:

• by priority • by weight

The two scenarios are described below.

The configured mediation partners will be called in a specific order. Example:

• Smaato - Priority 1 • InMobi - Priorty 2 • Mojiva - Priority 3

In this case, we would always try to call Smaato first. In case Smaato would not return an ad, we continued and called InMobi. If InMobi returned no ad either, we would continue and call Mojiva. If none of the partners returned an ad, an ADTECH default banner would be delivered.

The configured mediation partners will we called according to probabilities.

• You assign probabilities to the different mediation partners according to which they will be selected.

• A mediation partner is randomly selected and an ad is requested. If the partner does not return an ad, ADTECH subtracts its probability value from 100 and re-peats the above step with the remaining probability.

Example:

• Smaato - 80% probability • InMobi - 5% probability • Mojiva - 15% probability

In this example, Smaato is more likely to be called first than InMobi and Mojiva. Like-wise, Mojiva is more likely to be called than InMobi.

Introduction

Priority order set-up

(22)

2012-12-18 Page 22 of 216

Postclick Tracking Beacon Tags

It is possible to use the postclick tracking feature in ADTECH Mobile. However, you need special postclick tracking beacon tags with a different host name

(a.adtech.de/ instead of adserver.adtech.de etc.). This topic shows example postclick tracking beacon tags for ADTECH Mobile. For details see the separate Post-click Tracking documentation.

Note: It is possible to have different postclick tracking beacon tag templates (e.g. for Display and for Mobile) in your network.

Below you find example beacon tags (user tracking and postclick tracking tags) for ADTECH Mobile.

Example User Tracking Beacon Tag US

<!-- Postclick Tracking Tag Start --> <script type="text/javascript"

src="http://a.adtechus.com/utrack/3.0/25/0/0/0/BeaconId=-2;rettype=img;subnid=1;Section=[Ple ase insert Section here]"></script>

<noscript> <img

src="http://core.adtechus.com/utrack/3.0/25/0/0/0/BeaconId=-2;rettype=img;subnid=1;Section=[ Please insert Section here];random=[Random 10 char token]" />

</noscript>

<!-- Postclick Tracking Tag End -->

Example User Tracking Beacon Tag EU

<!-- Postclick Tracking Tag Start --> <script type="text/javascript"

src="http://a.adtech.de/utrack/3.0/25/0/0/0/BeaconId=-1;rettype=img;subnid=1;Section=[Please insert Section here]"></script>

<noscript> <img

src="http://core.adtech.de/utrack/3.0/25/0/0/0/BeaconId=-1;rettype=img;subnid=1;Section=[Ple ase insert Section here];random=[Random 10 char token]" />

</noscript>

<!-- Postclick Tracking Tag End -->

Introduction

Mobile beacon tag examples for US and EU

(23)

2012-12-18 Page 23 of 216 Example Sales Beacon Tag US

<!-- Postclick Tracking Tag Start --> <script type="text/javascript" src="http://a.adtechus.com/pcsale/3.0/25/0/0/0/BeaconId=-1;rettype=img;subnid=1;SalesValue=[ AmountInCent];custom1=[article]"></script> <noscript> <img src="http://core.adtechus.com/pcsale/3.0/25/0/0/0/BeaconId=-1;rettype=img;subnid=1;SalesValu e=[AmountInCent];custom1=[article];random=[Random 10 char token]" />

</noscript>

<!-- Postclick Tracking Tag End -->

Example Sales Beacon Tag EU

<!-- Postclick Tracking Tag Start --> <script type="text/javascript" src="http://a.adtech.de/pcsale/3.0/25/0/0/0/BeaconId=7200;rettype=img;subnid=1;SalesValue=[A mountInCent];custom1=[auto]"></script> <noscript> <img src="http://core.adtech.de/pcsale/3.0/25/0/0/0/BeaconId=7200;rettype=img;subnid=1;SalesValue =[AmountInCent];custom1=[auto];random=[Random 10 char token]" />

</noscript>

(24)

2012-12-18 Page 24 of 216

Chapter 2

ADTECH Mobile SDK

This chapter describes the ADTECH Mobile SDK for app developers.

Topic Page

General Information About the ADTECH Mobile SDK ... 25 ADTECH Mobile SDK: iOS ... 52 ADTECH Mobile SDK: Android ... 113 ADTECH Mobile SDK: Windows Phone ... 157 ADTECH Mobile SDK: Windows 8 ... 180 ADTECH Mobile SDK Limitations ... 205 Introduction

(25)

2012-12-18 Page 25 of 216

2.1

General Information About the ADTECH Mobile SDK

Topic Page

ADTECH Mobile SDK Release Notes ... 26 Purpose and Contents of the ADTECH Mobile SDK ... 27 Responsibilities of the App Developer ... 28 Compliance with Advertising Standards ... 29 MRAID Compliance ... 30 ORMMA Compliance ... 32 VAST Compliance ... 33 The ADTECH Mobile SDK Features and Properties ... 34 ADTECH Mobile SDK Feature Matrix for Different Platforms ... 36 Placement Configuration for the ADTECH Mobile SDK ... 38 Tracking Unique Devices with the Mobile SDK ... 44 Logging the ADTECH Mobile SDK Activity in the Console ... 45 Caching and Offline Display ... 46 Video Ads in the ADTECH Mobile SDK ... 48 Mediation in the ADTECH Mobile SDK ... 51 In this chapter

(26)

2012-12-18 Page 26 of 216

ADTECH Mobile SDK Release Notes

See the different release note for the several platforms: • iOS: ADTECH Mobile SDK Release Notes (iOS) on page 61

• Android: ADTECH Mobile SDK Release Notes and API Changelog (Android) on page 119

• Windows 8: ADTECH Mobile SDK Release Notes (Windows 8) on page 185 Platform specific

(27)

2012-12-18 Page 27 of 216

Purpose and Contents of the ADTECH Mobile SDK

This topic describes the difference between mobile for website and mobile for apps as well as the purpose of the SDK and the required contents.

Mobile users open mobile websites and apps. As the display of banners is different in mobile websites than in mobile apps, the two need to be treated separately. The ADTECH Mobile user guide concentrates on Mobile in general and Mobile for websites whereas the ADTECH Mobile for App Developers user guide concentrates on the tech-nical information for app developers (SDK). As the app developer does not have access to the user interface of ADTECH IQ, the trafficker needs to book standard mobile campaigns for websites in addition to mobile campaigns for apps. Therefore, the pro-cedures and structures regarding apps are found in the ADTECH Mobile Websites guide and not in the ADTECH Mobile for App Developers guide.

The main purpose of the SDK is to help the application developer with placing ads inside their developed application. The SDK is intended to have a simple, consistent and user friendly interface that helps developers integrating seamlessly banners and interstitial ads into their application’s banners, interstitial ads and ads inside video players.

Important: We cannot guarantee that applications built with HTML-to-app frame-works (like PhoneGap, Titanium etc.) will work with the ADTECH Mobile SDK, therefore we cannot offer any support for them.

The SDK is delivered as a .zip package. It contains:

The binaries and the resources: The SDK library together with the header files and some additional configuration files (jar for Android and framework for iOS). • Documentation: The SDK interface documentation.

Sample application: A sample app that works out of the box, where the SDK is in-cluded and used in a simple way.

Readme.txt: Text file containing SDK install and setup instructions.

License.txt: Text file containing the license statements for the SDK and the third party libraries used.

Important: Software that uses the ADTECH Mobile SDK should provide proper attribu-tion for the 3rd party libraries used by the SDK. You can find these libraries and their license statements in the License.txt file.

Introduction Mobile on websites versus mobile on apps Purpose Contents

(28)

2012-12-18 Page 28 of 216

Responsibilities of the App Developer

The developer who uses the ADTECH Mobile SDK is responsible for the following tasks: • Integrating the ADTECH Mobile SDK into the application.

• Ensuring that placements have been created. • Testing the successful ad delivery.

Most of the provided code snippets in the following documentation must be modified in order to work with your network’s setup. The values provided in the code examples are not meant to be copied 1:1 and have to be coordinated with your trafficker. This applies to all values provided in the ad-configuration, e.g. Network-ID, Subnetwork-ID, Domain, placement alias etc.

For the values that apply to your application, please talk to your ad ops team. Tasks of the ADTECH

Mobile SDK developer

(29)

2012-12-18 Page 29 of 216

Compliance with Advertising Standards

Platform Compliance with Standards

iOS MRAID 1.0, MRAID 2.0, ORMMA Level 2, VAST 2.0 Android MRAID 1.0, MRAID 2.0, ORMMA Level 2, VAST 2.0 Windows Phone MRAID 1.0

Windows 8 MRAID 1.0

Note: For platform limitations and differences from the standard specifications see ADTECH Mobile SDK Limitations on page 205.

(30)

2012-12-18 Page 30 of 216

MRAID Compliance

The ADTECH Mobile SDK is compliant with the IAB standards and guidelines.

MRAIDhttp://www.iab.net/mraid, or “Mobile Rich Me-dia Ad Interface Definitions” is the IAB

http://www.iab.net/ Mobile Marketing Center of Excel-lence’s project to define a common API for mobile rich media ads that will run in mo-bile apps. This is a standardized set of commands, designed to work with HTML5 and JavaScript, that developers creating rich media ads will use to communicate what those ads do (expand, resize, get access to device functionalities such as the accel-erometer, etc.) with the applications they are being served into.

There are no requirements in this specification for the native app developers. They should follow the instructions and interface provided by the ADTECH Mobile SDK for integrating ads into the application.

There are two versions of MRAID that have been published:

MRAID 1.0: This is latest official version that has been published on the 20th of Oc-tober, 2011.

MRAID 2.0: It has been published at the same time as MRAID 1.0, adding features that allow ad designers to make use of device hardware capabilities. The MRAID 2.0 specification is not yet final, it is only in draft state, but it is very likely for it not to change much by the final release date.

The methods and events identified in this version of MRAID provide a minimum level of requirements for rich media ads, primarily to display HTML ads that can change size in a fixed container.

Although MRAID 1.0 addresses a minimum level of functionality, the standards of MRAID remain high. In this and particularly in future versions of the API, the IAB fo-cuses on

High interoperability: ads developed to run in one MRAID container can run on MRAID containers of multiple platforms and operating systems.

Graceful degradation: ads developed to take advantage of all the MRAID features also have the capacity to downgrade gracefully as needed. This will be especially important as gaining access to device functionalities becomes part of MRAID’s scope in the future.

Progressive complexity: ad design using the API should be simple, adding complex-ity only as necessary.

The ADTECH Mobile SDK is MRAID 1.0 compliant. This means that it can display and interact with ads that conform to the MRAID 1.0 specifications. There is one difference from the MRAID 1.0 specification in the iOS implementation, in that sizes are reported to the ad in device independent pixels, i.e. iOS points. For platform specific limitations see ADTECH Mobile SDK Limitations on page 205.

Mobile SDK MRAID Compliance

(31)

2012-12-18 Page 31 of 216 MRAID 2.0 gives ad developers access to the hardware device capabilities, such as: playing video and audio, location, heading, orientation, tilt, shake events, camera, phone, calendar, email and sms. It allows better control over how users interact with ads, by providing properties for events like expansion and resizing. MRAID 2.0 greatly improves the way the ad communicates with and uses the device it is displayed on. The ADTECH Mobile SDK is MRAID 2.0 compliant except it does not implement support for the request/response method/event pair. For other platform specific limitations see Platform Specific Mobile SDK Limitations on page 206.

(32)

2012-12-18 Page 32 of 216

ORMMA Compliance

ORMMA is an industry wide initiative for advertisers to have one common set of rules for displaying rich media ads across platforms. Ad designers that have one API to use when creating ads know that their ad will display on all ORMMA-compliant apps and sites.

The ORMMA standard is split into three levels to simplify understanding and adoption. • Level 1: expand and collapse

• Level 2: access native features • Level 3: cache content

(33)

2012-12-18 Page 33 of 216

VAST Compliance

This topic describes on high level what VAST is and how the ADTECH Mobile SDK is related to it.

VAST, or “Digital Video Ad Serving Template”, is the IAB specification for a universal XML schema for serving ads to digital video players, and describes expected video player behavior when executing VAST – formatted ad responses. VAST provides a common protocol that enables ad servers to use a single ad response format across multiple publishers/video players.

There are three versions of VAST that have been published: Version Description

VAST 1.0 In 2008, the IAB introduced the first version of VAST to the video advertising marketplace, which has since been widely adopted throughout the industry. VAST 2.0 In 2009 features were added that enabled additional functionality and more

clarity.

VAST 3.0 It was released as a draft in April 2012 and was open for feedback until May 10, 2012. It has not yet been released as the final version up until the date of writ-ing.

The ADTECH Mobile SDK provides support for a subset of the VAST 2.0 specification, namely it supports linear video and non-linear ads. There is no support, yet, for com-panion ads and an analysis will have to be performed as to assess their relevancy in a mobile application environment, due to their web-page oriented nature.

Introduction

What is VAST?

How the ADTECH Mobile SDK supports VAST

(34)

2012-12-18 Page 34 of 216

The ADTECH Mobile SDK Features and Properties

Category Properties

OS support • Android versions 2.1 (update 1, API level 7) and higher are support-ed.

• For the iOS SDK versions 2.2.1 and below, iOS 3.1 to iOS 5.1.1 are supported for the banner and interstitial ads. iOS versions 4.0 to 5.1.1 are needed for using the VAST compliant movie player. • For the iOS SDK versions 2.2.3 and above, iOS 4.3 and higher are

supported for all the ads types. Device support • Android: Phone and tablet.

• iOS:

• All devices running iPhone OS 3.1 or higher (iPod, iPhone and iPad) for banners and interstitials. All devices running iOS 4.0 or higher for VAST.

• Starting release 2.2.3 of the iOS SDK, devices using the armv6 CPU architecture are not supported anymore. 2.2.3 brings sup-port for devices using the armv7s architecture (iPhone 5). Placements • The class that implements a placement (ATBannerView), extends

the generic view class of each platform (RelativeLayout on An-droid and UIView on iOS) and will be referred as an ad container. • Ad containers can be placed anywhere on the screen, not only on

the top or bottom.

• Most common ad container size is 320x50 pixels but the developer can set any size as needed.

Ad refresh • The ad refresh is triggered by the placement refresh interval. The developer can set a default refresh interval per placement. • If the ad specifies its own refresh interval than this takes priority

over the one defined by the developer.

• The refresh interval can be 0 or a value between 5 and 3600 that represents seconds.

• 0 means that the ad should never refresh.

• Trying to set a value outside [5,3600] the SDK will reset it to either 5 or 3600.

Animations • When 2 ads switch each other in an ad container, usually the transi-tion is animated.

• The default switch animation can be set by the developer but if the ad specifies its own animation than this takes priority over it. • The animations known to the SDK are:

• slide left • slide right • slide top down • flip right • flip left • none Features and

(35)

2012-12-18 Page 35 of 216 Category Properties

Fail / Retry • If a request fails, the SDK keeps retrying another 2 times. • If both of them fail, so that there are a total of 3 consecutive

fail-ures, the SDK stops fetching ads until the user calls the load meth-od again on the ad banner or interstitial.

• While internet connectivity is down, new ads will not be requested. When internet connectivity returns, the SDK will begin fetching new ads on its own.

Interstitial • Interstitial ads usually cover the full application user interface, but the developer can set a custom size if needed.

• Interstitials are short-lived full screen ad containers that can be placed in different moments in an application (e.g. on app startup, when switching between 2 screens in the app).

• Interstitials present one ad and after that they expire or are closed by the user, there is no refresh mechanism.

Mediation • If configured, the SDK can serve ads from other ad providers using their own SDKs internally.

Ad-enabled video player

• Using the VAST compliant video player provided by SDK the app de-veloper can show video content (local or remote, progressive or streamed) and fetches and displays ad during playback as config-ured.

• The movie player component provided by the SDK is very similar, almost identical, to the platform provided one so that it is intuitive and familiar to use.

The SDK uses a container for showing an ad of web-view type, which is implementa-tion specific on each platform (WebView on Android and UIVebWiew on iOS) and be-cause of this the restrictions on what can be displayed is dictated by the base contain-er.

There are no restrictions regarding the types of ads that can be shown. Simple image, animated gif or rich media ads will work, given the constraint of the platform specific web-view. For the video ads the restriction is that they need to have a format sup-ported by the platform.

(36)

2012-12-18 Page 36 of 216

ADTECH Mobile SDK Feature Matrix for Different Platforms

Feature iOS Android Windows

Phone 7.5 Windows 8 Display of static image ads (jpg, png, gif,

animated gif)

Display of MRAID 1.0 rich ads VAST linear- & non linear video ads Track mobile video events

Track & report impressions, clicks, views, post-clicks

Track & report rich ad events Banner rotation (refresh interval) Custom animation style on placement level

Fullscreen interstitial

Mediation of static image ads Support for custom key/value Unique user identification (cross app) Tiling & companion ad

Click2call, click2sms, click2mail, click2cal sync (iOS)

Carrier name detection Display of MRAID 2.0 rich ads Track MRAID 2.0 events Report MRAID 2.0 events ORMMA Level 1 & 2

Feature iOS Android Windows

Phone 7.5 Windows 8 Caching of ADTECH static image ads

Caching of ADTECH rich ads Caching of 3rd party MRAID ads Cache disengageable on placement lev-el

Caching of fullscreen interstitials Track offline impressions, views, clicks Report offline impressions, views, clicks Ad display features

Offline delivery features

(37)

2012-12-18 Page 37 of 216

SDK iOS Android Windows

Phone 7.5 Windows 8 AdMob iAd Millenial Media Greystripe Vdopia Mediation to 3rd party SDKs

(38)

2012-12-18 Page 38 of 216

Placement Configuration for the ADTECH Mobile SDK

This topic shows the configuration that has to be provided for each placement.

The following values can be provided by the user of the ADTECH SDK to configure both the banner ads and the video ones:

• application name • domain

• network ID • subnetwork ID • alias

• additional user defined key value pairs

Additionally, for the banner (and interstitial) ads the user can specify values for these settings:

• animation type • ad refresh interval • group ID

• allow location services

For the video ads the user can specify the following:

• type of linear ads to be served (pre-roll, mid-roll and/or post-roll) • overlays (non-linears) to be shown during content playback • videoDimension

• videoLength • videoBitrate

• maxWrapperRedirections

Some of the above enumerated values have to be provided via static configuration files given the restrictions and best-practices of the respective platforms. These values will be used as defaults in any newly initialized ATBannerView’s configuration. These can then be changed at any time during runtime. This will ensure that all placements are initialized consistently with a minimal of written code, but then if needed they can be configured to suite the application needs.

Configuration that needs to be specified in the configuration file is: • application name • network ID • subnetwork ID • domain • animation type • ad refresh interval • allow location services Introduction

Placement configuration

(39)

2012-12-18 Page 39 of 216 Additional values that the user can configure at runtime are:

• domainForVideo (domain for the video ads if it is different from the one used for banners and interstitials)

• alias (the placement description of the ad, mandatory for all kind of ads) • group ID (for companion and tilling)

• additional user defined key-value pairs

• type of linear ads to be served (pre-roll, mid-roll and/or post-roll) • overlays to be shown during content playback

• videoDimension • videoLength • videoBitrate

• maxWrapperRedirections

Mediation can be set up via the configuration file. For each mediation partner there should be an additional entry. See platform specific mediation chapter for learn more details (How to Use Mediation for Third Party Advertisement SDKs in Android on page 146 and How to Use Mediation for Third Party Advertisement SDKs in iOS on page 105).

Value Description

Application name The application name will be used by the ADTECH IQ server for tracking purpose and statistics. The application name needs to be the same for all placements in an app and for this reason it can only be specified via the configuration file. Changing it at runtime is not possible.

Network and

subnetwork IDs These values identify a user and campaign on the ADTECH IQ server and can be configured per placement level. By default each placement will have the same values configured (provided via the configuration file) meaning that all the placements will show ads coming from the same ADTECH IQ user and campaign. However, at runtime these values can be changed as needed and this way the developer can configure two or more placements that will show ads from different campaigns or even more from different ADTECH IQ users.

Domain and

do-mainForVideo Just like the network and subnetwork ID, the domain is also configurable at runtime and per placement level. These will allow the developer to have in the same application placements that present ads coming from different domains.

The video ads can have their own domain specified in the configuration file for cases when it is different than the one used for serving banner and interstitial ads. It can also be changed at runtime on a per video in-stance basis.

(40)

2012-12-18 Page 40 of 216 Value Description

Alias The alias is set per placement and its purpose is to uniquely identify each placement within one app. For this reason the same alias should not be shared by multiple placements. The developer must ensure that the alias used for a placement exists on the ADTECH IQ server.

The alias currently conforms to one of the following patterns on the ADTECH IQ server:

• mappingname-position-size

• mappingname_description-position-size

• mappingname|description|website-position-size

where size is a numeric value in the range 1 to 5. As ADTECH deals with various customer requirements the format of the alias may be required to change, so for this reason the alias is not validated by the SDK

(out-side of checking that it is not Null or an empty string, i.e. "").

Animation type The animation type can be configured per placement level and its pur-pose is to add a visual transition effect for 2 ads changing in one place-ment. In case there is an animation set up in the ADTECH IQ server, the ad will come with its own animation and it will overrule this one set up by the developer at placement level. The possible values that can be used are:

TOP_TO_BOTTOM: the new ad will transition by pushing the old

one out of the way vertically from a top down direction

LEFT_TO_RIGHT: the new ad will transition by pushing the old one

out of the way horizontally from left to right

RIGHT_TO_LEFT: the new ad will transition by pushing the old one

out of the way horizontally from right to left

FLIP_FROM_RIGHT: the new ad will become visible by flipping the

old one out of the way, right flip

FLIP_FROM_LEFT: the new ad will become visible by flipping the old

one out of the way, left flip

NONE: no animation when changing ads

The animation duration is set internally by the SDK to 0.7 seconds. Refresh interval The refresh interval can be set per placement level and its purpose is to

define the time that an ad is shown before a new one replaces it. In case there is a refresh interval set up in ADTECH IQ, the ad will come with its own refresh interval and it will overrule this one set up by the developer at placement level.

The refresh interval can take values between 5 and 3600 seconds. An exception from this rule is a value of 0, it means never refresh. The SDK will internally validate and enforce this restriction on the re-fresh interval:

• If a value is smaller then 5, it will be automatically be set to 5 by the SDK (exception is value 0, in case of which the refresh will be switched off).

• If a value is higher than 3600, it will be automatically set to 3600 by the SDK.

(41)

2012-12-18 Page 41 of 216 Value Description

AllowLocation-Services setting This setting is used to allow or disallow the ADTECH Mobile SDK using the Location Services (iOS feature only). The app developer must explic-itly give his consent for the SDK to use the device’s location, either through this setting in the configuration file, or through the configura-tion object of each ad banner or interstitial. By default the value is NO, which means the SDK will not use the user’s location for advertising purposes.

Important: 3rd party SDKs that are used by the mediation feature are not affected by this setting. They might or might not have a specific way to allow or disallow usage of the location services for their purposes. Group ID The group ID is set per placement level and its purpose is to identify

placements that need to show ads in companion and tilling setups. By setting the same group ID value for two or more placements will ensure that the placements will show either companion ads or tiling ads. This is resolved at ADTECH IQ server level and the only responsibility of the SDK user is to correctly set the group ID values for the placements.

By default, each placement has the group ID set to 0 and this signals to the server that this is a standalone placement. The value of the group ID does not matter as long as it is the same for different placements. E.g. if you have 2 placements on one screen that you want to show tilled ads, it does not matter that you set the group ID to 100 or 200, as long as it is the same for both placements.

User defined key

value pairs Beside the predefined ad configuration properties the user can add ad-ditional key value pairs for a given placement. These key value pairs will be sent to the server when the ad request is made. The responsibility of the developer is to ensure these keys are defined on the ADTECH IQ server and the correct key values are used in the placement configura-tion.

A possible situation when additional key values might be used is when the developer wants to deliver more targeted ads.

Example: If the developer knows the app user’s gender and age, they could specify the gender and age of the app user to the placement so that the ADTECH IQ server can deliver the male or female targeted ads while also taking in consideration their age.

(42)

2012-12-18 Page 42 of 216 Value Description

Linear video ad

types to be served The configuration for a video player instance allows specifying the type of video ads to be served. There are three types of linear ads: • Pre-roll ads: they are presented before the video content gets to

play and be displayed

Mid-roll ads: they are presented at some point during the playback of the video content. The content is paused, the mid-roll ads are played and then the content resumes playback.

• The time of showing the mid-roll can be configured server side using the web interface.

• If not configured server-side, the middle of the video content is chosen as the presentation time.

• If the media being played back is stream based (might have an undetermined length) and the time for showing the mid-roll is not specified server-side, then the mid-roll ad will not be pre-sented as no appropriate time for showing it can be determined. • Post-roll ads: they are presented at the end the video content being

played back

Any combination of these types can be set on the video player instance configuration.

Overlays to be shown during video content playback

The configuration of a video player instance allows specifying how many overlays (non-linear ads) to show during content playback.

Only image overlays are supported at the current time (StaticResource with an image mime-type in VAST terminology).

For each overlay you can configure the following:

startTime: the time interval of content playback, specified in

sec-onds, after which to start displaying the overlay

duration: the time interval of content playback, specified in

sec-onds, to keep displaying the overlay for.

placement: Position inside the video area to place the overlay at.

Possible values are: bottom, top, left and right.

percentOfMargin: The value of margin to leave between the edge of

the screen and the overlay specified in percents. E.g. With a bottom placement and percentOfMargin of 10, the overlay will be placed at 10% of the video height from the bottom edge.

secondsUntilDismissable: Specifies the number of seconds to wait

until allowing the user to dismiss the overlay by the close button on the top right corner. Beside the positive values meaning actual sec-onds to wait there are some special values:

Default: The time to wait is determined by the SDK, currently as

half of the duration

NotAllowed: Dismiss is not allowed on the overlay and the close

button is not shown

AllowedFromBeginning: Dismiss is allowed from the moment

the overlay is shown

Any number of overlays can be configured to be shown on the video player, even with overlapping intervals.

(43)

2012-12-18 Page 43 of 216 Value Description

The video

dimen-sion This is an optional value for filtering video ads to be returned by the server. The dimension is specified as a width and height pair of values and if set, the server will return only video ads of the specified size. The video length This optional value is used to limit the maximum length of the video ads

being served. The values is specified in seconds and, if set, only video ads of that length or shorter will be served.

The video bitrate This optional value is used to serve only video ads of the specified bi-trate. The value is measured in kbps and, if set, only video ads of the same bitrate will be served.

If not specified and there are multiple video ad alternatives to be shown with different bitrates, the SDK will chose one based on the detected Internet connectivity type:

• if Wifi is available: the ad with the highest bitrate is chosen • if Wifi is not available: the ad with the lowest bitrate is chosen The max wrapper

redirections This is an advanced optional setting that allows the app developer to configure how many redirections, in the way defined by the VAST speci-fication, to follow until the SDK gives up obtaining the video ads. The default value is 3.

(44)

2012-12-18 Page 44 of 216

Tracking Unique Devices with the Mobile SDK

This topic describes how ADTECH uniquely identifies devices within mobile apps. Many ADTECH Ad Server features, such as Frequency Capping and Re-Targeting are based on unique device identification. This topic specifies which information will be passed to the ADTECH Ad Server.

Each mobile device has its own, fixed identification property and this identifies a de-vice cross-application. For Android the UDID of the dede-vice.

For iOS before 6.0 or ADTECH Mobile SDK versions before 3.0, a unique string is gen-erated the first time the application is used and is passed to the ADTECH Ad Server when the ad request call is performed. This is identified by the appguid key in the re-quest URL. (E.g. appguid=faf5341a39919352a4f9bde4d6de5396). Each applica-tion creates its own identifier.

Starting iOS 6.0 and ADTECH Mobile SDK version 3.0, the OS provided advertisin-gIdentifier is used (see here). This value is shared among applications and is changed only when the device is erased. If the user limits ad tracking in the device settings, this identifier is not used anymore.

Identifying unique devices Unique device ID in Android Unique device ID in iOS

(45)

2012-12-18 Page 45 of 216

Logging the ADTECH Mobile SDK Activity in the Console

By default the SDK is provided with logging turned off, but the developer can enable logging of different levels. This will ensure that all relevant SDK activity information is logged to the console at runtime.

For details see the Android or iOS topics for a list of available logging levels: • How to Set the SDK Log Level (Android) on page 139

How to Set the SDK Log Level (iOS) on page 76 About logging

(46)

2012-12-18 Page 46 of 216

Caching and Offline Display

Caching refers to the capability of the ADTECH Mobile SDK to fetch and store ads and ad related assets in advance. The purpose of this is to improve the overall user expe-rience by having the ad assets already downloaded and ready when the time comes to show the ad while online or to be able to show ads while the mobile device is not connected to the internet.

Performance is obtained by having an ad ready when a new one is needed and having its resources locally available. When it is time to show a new ad, all the needed data for it is available without having to perform networking operations. This can lead to dramatic performance improvements.

By default caching is enabled in the ADTECH Mobile SDK. Caching can be disabled only server side on a placement level. The application developer does not have direct ac-cess and can not intervene with the cache used by the ADTECH Mobile SDK.

The ADTECH Mobile SDK will hold individual caches for unique configurations. This means that if each placement has a unique configuration then each placement will have its own cache, but if some placements share the same configuration values than there will be one cache that will serve the placements. The following configurations identify an individual cache: domain, network ID, subnetwork ID, alias.

The advertiser can create ads suitable for offline display and the ADTECH Mobile SDK is able the cache those ads in advance and play them even of the mobile device is not connected to the internet.

The ADTECH Mobile SDK will track and record ad events that occur while the device is offline and will bulk report these events when the device goes online again.

For performance reasons the ADTECH Mobile SDK will skip from caching video and audio components of the ad even if these assets are part of the cache manifest that the ad is delivered with. Because of this, when offline, even if the ad is offline enabled, the video and audio is not available in it.

The ADTECH Mobile SDK will only cache ADTECH ads that are specially marked as cacheable. Any 3rd party mediated ads are not cached.

The first time an ad is requested the caching will try getting more ads and cache their resources. This can have small networking performance degradation on the applica-tion using the SDK. In order to reduce this effect, only one networking connecapplica-tion is used at one time (per cache). The same effect can happen when there are cached of-fline events that need to be reported when Internet connectivity is available.

The resources for cached ads are downloaded to the Library/Caches folder from the application space. Depending on how many ads are cached and how many caches are there, these resources will take up some available storage space. Cleanup of lefto-ver/unused resources is performed at each application startup (when the first banner view or interstitial is created). Normally, each ad gets its resources deleted after dis-play is done for them, but because of unexpected application terminations, leftover resources can remain stored until the next application run.

Purpose

Configuration

Offline display / offline event tracking & reporting

(47)

2012-12-18 Page 47 of 216 If caching the resources of an ad fails (maybe due to changing networking conditions), the ad is marked as non-cacheable and will be displayed online only, but the success-fully stored resources for it will be served from local storage, speeding up display. Cacheable ads usually contain an expiration date that specifies how long an ad should be stored for delivery on the device. If this is not the case, the ADTECH Mobile SDK will automatically attach an expiration date 7 days in the future to it. Cacheable ads will be removed from the cache, as soon as the SDK detects that they have expired. This will be checked on each application startup. Delivered ads will be removed from the cache, no matter the expiration date.

Offline delivery is limited delivery. Any feature that requires a loopback to the ADTECH adserver is not going to work while the device is offline, such as Frequency Capping or Tiling and Companion Ads. Offline delivery has the potential risk of counting differ-ences, if a device stays offline for a longer period of time. The moment the ad was requested by the SDK, it is counted as delivered in the ADTECH adserver, even if it was not displayed to the user. Suppose the user deletes the application or will not use it for a longer period of time than the expiration date is, this ad will never be viewed. Any requests to external resources, such as landing pages, are not available when the device is offline at the current release of the ADTECH Mobile SDK. The intent to open those external resources will be reported to the adserver when the device is online again.

(48)

2012-12-18 Page 48 of 216

Video Ads in the ADTECH Mobile SDK

This topic details the way to use the provided video player component in a platform independent manner. It also provides some insight into the behavior you can expect when using the player and the way video ads are being tracked and can be engaged with. The in-place limitations related to the VAST specification are stated at the end of the section.

Showing ad-enabled video content is a matter of creating an instance of the provided video player component, configuring it with the campaign details and the type of ads to serve and putting its view on the application interface. The app developer does not need to (nor can it) play the ads manually, it is all done internally by the player. The player determines the appropriate times to fetch and show the ads based on the con-figuration made available to it.

A typical use case for using video player would follow these steps: Step Action

1 Create a new instance of the provided player.

2 Configure it to match an already set up campaign on the ADTECH IQ server.

References

Related documents

Chlamydia trachomatis detection in cervical PreservCyt specimens from an Irish urban female population Objective: The aim of this study was to determine the prevalence of

If you are the first person to notice or detect water damage to library materials or if you are the first person to enter the library, a flooded area of the library, or accessing wet

İçimizdeki bu coşku -onun için önemli, benim için ikinci derecede olan- Saint- Michel-de Seze'de biraz daha artmıştı.. Bunun sebebi okulda Katolik eğitim verilmesi değildi

depuis (for), pendant (for) and pour (for), followed by a time period - Depuis is used to translate for (+ time period) when referring to an action or situation that started in

Georgian bars are available in the traditional integral type, which are located in be- tween the two panes of glass and now the Astrical Georgian bar which in mounted on the front

The Client agrees to send, via mail, all credit reports and/or correspondence received from credit bureaus and/or creditors to MP ASSET RECOVERYS within five (5) days after the

Because Clustrix completely eliminates the need for database customization to support application scaling, MakeMyTrip can deploy as many new applications as needed without risk of

If you received this card, it is a symbol that someone is needing help and does not know how to ask for it.. When you receive this card, please take the necessary steps to get