ADITION ios Ad SDK Integration Guide for App Developers



Similar documents
eggon SDK for ios 7 Integration Instructions

GETTING STARTED. AppSher In-App Analytics for ios

ABTO Software VoIP SIP SDK for iphone Developer Manual

Please note that this SDK will only work with Xcode or above. If you need an SDK for an older Xcode version please support.

Self Testing with MoPub SDK

ios Application Development &

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions

Mocean Android SDK Developer Guide

Microsoft Tag Scanning SDK for iphone & Android Apps

2. About iphone ios 5 Development Essentials. 5. Joining the Apple ios Developer Program

ADITION Android Ad SDK Integration Guide for App Developers

Game Center Programming Guide

This documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied.

MatrixSSL Getting Started

Optimize Your Earning Power with iad

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

Xcode Project Management Guide. (Legacy)

ADTECH Mobile for App Developers

Gathering customer information from a mobile application James Adams, SAS Institute Inc.

BAM Checkout Mobile Implementation Guide for ios

View Controller Programming Guide for ios

AppConnect FAQ for MobileIron Technology Partners! AppConnect Overview

A Java proxy for MS SQL Server Reporting Services

Xerox Mobile Link 2.0 Frequently Asked Questions (FAQ) - Android

Penetration Testing for iphone Applications Part 1

Creating a Custom Class in Xcode

Objective C and iphone App

Setting Up Resources in VMware Identity Manager

Salesforce Mobile Push Notifications Implementation Guide

Contents. About Testing with Xcode 4. Quick Start 7. Testing Basics 23. Writing Test Classes and Methods 28. At a Glance 5 Prerequisites 6 See Also 6

MA-WA1920: Enterprise iphone and ipad Programming

App Distribution Guide

Magento module Documentation

IAB Full page flex Mobile Rising Star Ad Unit

Sitecore InDesign Connector 1.1

Introduction: The Xcode templates are not available in Cordova or above, so we'll use the previous version, for this recipe.

Teaching App Development with Swift Course Materials Overview

ios Dev Fest Research Network Operations Center Thursday, February 7, 13

Software Development Kit for ios and Android

ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011

Sophos Mobile Control Startup guide. Product version: 3.5

A product of Byte Works, Inc. Credits Programming Mike Westerfield. Art Karen Bennett. Documentation Mike Westerfield

Web Development I & II*

Advertising Specifications, Standards and Guidelines

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Introduction to NaviGenie SDK Client API for Android

... Introduction Acknowledgments... 19

ios Development: Getting Started Min Tsai March 1, 2011 terntek.com v1.0

Enterprise Mobile App Management Essentials. Presented by Ryan Hope and John Nielsen

Axxon Monitor. User Manual

Sizmek Formats. HTML5 Page Skin. Build Guide

Questions & Answers Preview the new HP LoadRunner and HP Performance Center 12.0

5.1 Features Denver CO 80202

Identity Implementation Guide

MOZU APP CERTIFICATION FOR THIRD-PARTY DEVELOPMENT. Certification Guide Mozu

ios SDK possibilities & limitations

Usage Analysis Tools in SharePoint Products and Technologies

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston

Your First App Store Submission

Universal Mobile Ads is a plugin for Unreal Engine 4 that enables the MoPub ad mediation system for ios & Android.

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

How To Customize An Orgsync App On Anorus Mobile Security Suite On A Microsoft Ipad Oracle 2.5 (Ios) On A Pc Orca 2.2 (Iphone) On An Android Orca2 (Ip

Tag Specification Document

Sophos Mobile Control Startup guide. Product version: 3

WEARIT DEVELOPER DOCUMENTATION 0.2 preliminary release July 20 th, 2013

GDC Data Transfer Tool User s Guide. NCI Genomic Data Commons (GDC)

AppPulse Mobile. Whitepaper: Overhead, Privacy, and Security. March 2016

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

MobileLink User Guide

Arrk purple paper. ios App store submission guide. India. India

THE NEW DIGITAL EXPERIENCE

New Features in XE8. Marco Cantù RAD Studio Product Manager

Adaptive Server Enterprise

Eventia Log Parsing Editor 1.0 Administration Guide

Electronic Ticket and Check-in System for Indico Conferences

CounterACT Plugin Configuration Guide for ForeScout Mobile Integration Module MaaS360 Version ForeScout Mobile

STANDARD BANNER: Ad Specs

Building Apps for iphone and ipad. Presented by Ryan Hope, Sumeet Singh

1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment.

How To Develop An App For Ios (Windows)

Sizmek Formats. IAB Mobile Pull. Build Guide

THE NEW DIGITAL EXPERIENCE

Developer Reference. A mobile loyalty platform for retailers. Document Number:

Turnitin User Guide. Includes GradeMark Integration. January 2014 (revised)

ios App for Mobile Website! Documentation!

System Administration Training Guide. S100 Installation and Site Management

User Management Guide

Building native mobile apps for Digital Factory

Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft

Shipment Label Header Guide

User Management Resource Administrator. UMRA tables. User Guide

Learning ios Programming

Citrix Worx App SDK Overview

Sybase Unwired Platform 2.1.x

Quareo ICM Server Software

Sage CRM. Sage CRM 2016 R1 Mobile Guide

Enterprise Mobility Management

Global Search v 6.1 for Microsoft Dynamics CRM Online (2013 & 2015 versions)

Product Guide Nintex. All rights reserved. Errors and omissions excepted.

Mobile Client SDK for ios Developer's Guide

Transcription:

ADITION ios Ad SDK Integration Guide for App Developers SDK Version 15 as of 2013 07 26 Copyright 2012-2013 ADITION technologies AG. All rights reserved. Page 1/8

Table of Contents 1 Ad SDK Requirements...3 2 Configuring Xcode...3 3 Compatibility Notes... 4 4 Displaying an Ad...5 5 Mandatory Delegate Methods... 6 6 Demo Xcode Project...6 7 Symbol Names Used By The SDK...7 7.1 Category Names... 7 7.2 Class Names... 7 7.3 Third-Party Source Packages...7 8 Change Log...8 Copyright 2012-2013 ADITION technologies AG. All rights reserved. Page 2/8

1 Ad SDK Requirements There is only one hard requirement for using the Ad SDK: Apps that make use of the SDK must be built for ios version 4.2 or later. Beyond that, there's only the recommendation that you use Xcode 4.2 or later as your development environment. The functionality implemented in the SDK is based on the MRAID standard, as defined in the IAB document https://www.iab.net/media/file/iab_mraid_v2_final.pdf. Although MRAID is aimed at SDK implemetors and rich media authors, knowing the contents of this document is certainly helpful for an app developer, albeit not a strict requirement. 2 Configuring Xcode In order to use the Ad SDK, you need to add several files to your Xcode project, as shown in the screenshot below: The static library containing the SDK (libaditionads.a), and the header file that comes with it (AdsView.h). Cocoa frameworks and libraries, supplying the classes and APIs that the SDK uses internally. Copyright 2012-2013 ADITION technologies AG. All rights reserved. Page 3/8

Additionally, you need to set the -all_load and -ObjC linker options in the Other Linker Flags setting of Xcode's Build Settings, as shown in the following screenshot: 3 Compatibility Notes The SDK comes wrapped as a static library with binary code for multiple CPU architectures ( universal binary ). One of the supported architectures is i386 so you can run an app that links to the library in the simulator. The other supported architectures are currently armv6 (iphone 3G and earlier) and armv7 (iphone 3GS and later). The newer armv7s architecture (for iphone 5 and later) is not included yet since that would mean dropping armv6 support. Copyright 2012-2013 ADITION technologies AG. All rights reserved. Page 4/8

4 Displaying an Ad To display an ad, you create an instance of the AdsView class and make that view a part of your app's layout. As a minimum, you need to provide the following information and infrastructure, in the sequence shown: You initialize the AdsView (via InterfaceBuilder or programmatically) with a size (width height in points) that matches one of the available ad formats. You assign a delegate to your AdsView that implements the mandatory methods of the AdsViewDelegate protocol (see the AdsView.h header file). The view controller for the AdsView's parent view would be a natural choice for an AdsViewDelegate. If necessary, you indicate interstitial placement for the ad by passing a YES argument to the -[AdsView placeasinterstitial:] method. An interstitial is a modal full-screen ad that blocks the workflow of your app until the ad is closed. Because of this, interstitals always need the active participation of the host app for preparing the ad's display and resuming the app workflow after the ad is closed. Only ads that are typed as interstitial in the ad server are eligible for interstitial placement. You pass an ad server network ID and a content unit ID to the -[AdsView loadcreativefromnetwork:withcontentunitid:] method to start loading an ad. You track the actual visibility of the AdsView in your app layout and pass the new status to the -[AdsView consideradonscreen:] method when visibility changes. In the simplest of cases, you can just pass YES from inside your implementation of -[AdsViewDelegate addidshow:]. Your publisher can provide you with relevant network IDs, content unit IDs and available ad size formats. Note that an AdsView must be part of a view hierarchy that is rooted in a visible window before you can start loading an ad. So if you want an AdsView to be invisible until it's loaded, you should do so by setting its origin to an off-screen value (but not by leaving it out of a view hierarchy altogether). Optionally, before loading an ad, you can add targeting information to an existing AdsView using its targeting component. The targeting object has properties you can set to further specify an ad's desired characteristics: humanlanguage If your app offers its own language selection, you assign a 2- or 5-character locale code (like en, de, or en_gb ) for the user's language choice. The ad server will prefer ads that are marked with a matching language code. If you don't assign a value, ad selection will use the system language the user has designated in the Settings app. maximumsize In order to allow ads to use the MRAID resize() function, you need to assign the maximum allowed size, in points, to this property. If you assign a size, the creative will be able to resize up to the given maximum width and/or height. If you don't assign a size, the creative will not be allowed to resize. Copyright 2012-2013 ADITION technologies AG. All rights reserved. Page 5/8

trackinggroupname The usage tracking group name acts like a namespace for anonymously tracking app usage on an individual device. If you assign the same name in several apps, requesting an ad in one of those apps will generate the same tracking ID on a specific device (but different IDs on different devices). The default value is the app's bundle identifier, which will produce different tracking IDs for each app on the same device. Since the tracking group name must be unique across all app developers, it is recommended that you use a reverse DNS naming scheme similar to your bundle identifier (à la com.yourdomain.groupname ). This is about as close as you can get to anonymous user tracking with scalable granularity across multiple apps. No personally identifiable information is ever transmitted. keyword An ASCII-encoded text with a maximum length of 255 bytes that narrows down which ads can be served. Consult the ADITION user manual to learn more about keyword targeting. 5 Mandatory Delegate Methods There is only one mandatory method your AdsViewDelegate must implement. -adsviewmayuselocationservices You return a Boolean that states whether your app makes meaningful use of Location Services from the perspective of the end user. Only if your app presents a sensible application of Location Services to the user is the SDK allowed to make use of location data for advertising purposes. 6 Demo Xcode Project For demonstrating the minimum effort needed to display an ad, we have added a demo Xcode project, SimpleAdDemo. You open the project in Xcode 4.2 or later, select an iphone simulator scheme and choose Run from the Product menu to see it in action. Note that you need an internet connection for this to work. The project's ViewController class contains the relevant demo code. In about one screenful of Objective-C, all necessary steps for displaying a simple ad are laid down. The source code also demonstrates how you can make Safari open an external web site after the user taps an HTTP link in an ad. Copyright 2012-2013 ADITION technologies AG. All rights reserved. Page 6/8

7 Symbol Names Used By The SDK The following shows the class and category names the SDK uses. To avoid duplicate symbol errors when linking your app, you should not use any of these names in your app project. 7.1 Category Names (AdSDK) (Adition) (FMDatabaseAdditions) (JSONKitDeserializing) (JSONKitSerializing) (JSONKitSerializingBlockAdditions) (Private) 7.2 Class Names ASIAuthenticationDialog ASIAutorotatingViewController ASIDownloadCache ASIFormDataRequest ASIHTTPRequest ASIInputStream ASINetworkQueue AditionAdsLibTests AdsAdminDatabase AdsAdminRecord AdsAssetRecord AdsDownloader AdsFileCache AdsHeadlessBrowser AdsJavaScriptBridge AdsMediaPlayer AdsSecondaryView AdsTargeting AdsView AdsWebBrowser AlertAgent AlertAgentInternalDelegate FMDatabase FMResultSet FMStatement JKArray JKDictionary JKDictionaryEnumerator JKSerializer JSONDecoder MRAIDReachability 7.3 Third-Party Source Packages Some of the symbol names listed above stem from the use of the following third-party source packages in the SDK. See the LICENCE file for the respective licenses. ASI-HTTP-Request FMDB JSONKit Copyright 2012-2013 ADITION technologies AG. All rights reserved. Page 7/8

8 Change Log Changes fom SDK version 14 to version 15: The SDK now supports attaching UIGestureRecognizers to AdsViews. Using gesture recognizers, the host app can intercept any special gestures that started on the AdsView but are meant to be handled by the app itself. Gesture recognizers that were attached while the AdsView is in the default state are active in the resized and expanded state as well. Removed the following AdsViewDelegate callback methods: adcannotcomposemail: makecalltophonenumber: openappstoreurl: The app developer no longer has to take care of these cases. Changes fom SDK version 12 to version 14: Removed the -[AdsViewDelegate adsviewowningviewcontroller] callback method. The host app no longer needs to supply this information. Changes fom SDK version 9 to version 12: Added the -[AdsView placeasinterstitial:] method. Changes fom SDK version 8 to version 9: The -adsviewmayuselocationservices: delegate method was revamped to no longer take an argument (using Location Services or not doesn't depend on an individual AdsView). Copyright 2012-2013 ADITION technologies AG. All rights reserved. Page 8/8