AdWhirl Open Source SDK Setup Instructions ------------------------------------------ The AdWhirl Open Source SDK contains the code for your iPhone application to display ads from different ad networks. The instructions below assume that you are familiar with Xcode and understand how to change build settings and add frameworks to your Xcode projects. They also assume that you are deploying to devices running iPhone OS 3.0 or later. See separate instructions if you need to deploy to devices running iPhone OS 2.2.1 . Note: When adding files to your Xcode project, make sure "Copy items into destination group's folder (if needed)" is checked and use "Recursively create groups for any added folders". Setting up the AdWhirl SDK -------------------------- 1. Add the AdWhirl folder from the AdWhirl SDK into your project. In the AdWhirl folder, you'll find two files (AdWhirlDelegateProtocol.h, AdWhirlView.h) and three folders (adapters, internal, legacy). 2. Add TouchJSON into your project. 3. Add the supporting frameworks required by all of the supported ad networks. The frameworks will not affect the size of your executable unless they are used by ad network libraries that you integrate. - AVFoundation.framework - CoreLocation.framework - AddressBook.framework - AudioToolbox.framework - MapKit.framework - MediaPlayer.framework - MessageUI.framework - QuartzCore.framework - SystemConfiguration.framework - libsqlite3.dylib - libz.dylib 4. Add the ad network libraries. All of the ad network libraries are optional. You do not have to integrate an ad network if you do not want to run their ads, or do not have access to their SDK. a. AdMob i. Download the AdMob SDK from http://www.admob.com/ . As of version 20100322, AdMob provides one binary for all iPhone SDK versions. ii. Drag the AdMob folder into your Xcode project (containing AdMobDelegateProtocol.h, AdMobView.h and libAdMobDevice.a) b. Google AdSense i. Get your Google AdSense library from Google. As of version 2.0, there is one binary for all iPhone SDK versions. ii. Drag the folder into your Xcode project (containing GADAdSenseParameters.h, GADAdViewController.h, GADRequestError.h, libGoogleAds.a) iii. Make sure you implement googleAdSenseCompanyName and googleAdSenseAppName in your AdWhirlDelegate. c. Jumptap i. Download the JumpTap SDK from https://support.jumptap.com/index.php/IPhone_Library_Integration#Downloading_the_library . ii. Drag the JumptapApi folder into your Xcode project (containing the folders 2.2.1 and 3.0, and the files JTAdWidget.h and JumpTapAppReport.h). iii. Right click your primary target -> Get Info -> Build tab. Double click on the value for "Library Search Paths". Remove all the JumptapApi paths except one, and change it to "$(SRCROOT)/JumptapApi/$(IPHONEOS_DEPLOYMENT_TARGET)/$(PLATFORM_NAME)/" . The path components before "/JumptapApi" may differ in your environment. d. Millennial Media i. Download the Millennial Media SDK from http://developer.millennialmedia.com . As of Version 3.5 (4/1/2010), Millennial Media provides one binary for all iPhone SDK versions. ii. Drag the Public folder into your Xcode project (containing the files MMAdView.h and libMMSDK.a). e. Quattro Wireless i. Download the Quattro Wireless SDK from http://www.quattrowireless.com . Be sure to download the version for OS 3.0. ii. Drag the QuattroWirelessLib folder into your Xcode project (containing libQuattroWireless-Simulator3.1.0-os3.0.a, libQuattroWireless3.1.0-os3.0.a, QWTestMode.h, QWAd.h, QWAdView.h. Exact names of .a files may be different depending on the version you download). f. VideoEgg i. Download the VideoEgg SDK from http://www.videoegg.com/ . ii. Drag the appropriate VEAdFrames folder under the lib folder into your project (containing the folders ARM, X86, and include). iii. To avoid build errors, remove AdFrameView.o from under the ARM and X86 folders. Rename libAdFrame.a in each directory to include the architecture in the file name, such as libAdFrame-ARM.a and libAdFrame-X86.a. 5. Remove the ad network adapters that you don't use. Under the adapters/ group, you must remove the ad network adapters for ad networks that you did not integrate in step 4, or your project will not compile. In the extreme case, you can remove all files under adapters/ except the AdWhirlAdNetworkAdapter.h file, in which case, your app can only run custom ads and generic notifications. 6. Implement the required AdWhirlDelegate methods in your code. If you have integrated with AdWhirl before and have implemented AdRollerDelegate, you do not have to change the code. This open source SDK is a drop-in replacement of ARRoller APIs and is backwards-compatible. At a minimum, you must implement the adWhirlApplicationKey method to return your AdWhirl application key. See the comments in AdWhirlDelegateProtocol.h for optional methods to implement. 7. Request an AdWhirlView in your code and add it to your view hierarchy. For example: AdWhirlView *awView = [AdWhirlView requestAdWhirlViewWithDelegate:self]; [self.view addSubview:awView]; 8. To avoid build warnings (it is useful to have "Treat Warnings as Errors" turned on), you can uncheck static libraries from the target that are not the same architecture as those you are building. 9. AdWhirl will support Apple’s iAd when it is launched and we have included an early look of an ad network adapter for iAd. To use it, add AdWhirlAdapterIAd.m and .h files under the extras/ directory, and add the iAd.framework into your project. You must use Xcode 3.2.3 with iPhone OS 4.0. This adapter is for your reference only until iPhone OS 4.0 is released.