Tapjoy 9.1 SDK Upgrade Guide This document will help guide you through the integration process for the Tapjoy 9.1 SDK. There are a few important changes to note for both Android and ios while upgrading from 9.0.x to 9.1. Please refer to the Integration Notes below for more details. Integration Notes ios This video highlights all the required changes: http://www.youtube.com/watch?v=flx5sv0hni4 Details: The ios integration of SDK 9.1 differs somewhat from the 9.0.x integration. To integrate the SDK into your own project: Select and drag Tapjoy.embeddedframework into your project and choose the option "create groups for any folders". Additionally, apps must link against several additional libraries and frameworks. Optional means that the framework must be added but the Optional compiler selection should be chosen. Go to your project Build Phases tab and add the following:
AdSupport (Optional) CFNetwork CoreGraphics CoreLocation CoreMotion CoreTelephony (Optional) EvenKitUI EventKit Foundation libsqlite3.0 libxml2 libz MapKit MediaPlayer MessageUI MobileCoreServices QuartzCore Social (Optional) StoreKit SystemConfiguration Twitter UIKit Import statements now look like #import <Tapjoy/Tapjoy.h> The -ObjC and -all_load linker flags should NOT be used anymore Integration from here is the same as 9.0.x, starting with the connect call. For more details, visit: https://knowledge.tapjoy.com/en/integration/getting-started-guide-for-publishers#ios
Android This video highlights all the required changes: http://www.youtube.com/watch?v=zpgmq5hdahk Details: To get accurate session tracking data, apppause() and appresume() should be called when your application pauses and resumes. The getdisplayad() method now requires an Activity context. It should be the activity where the banner is getting displayed. The old getdisplayad() method is deprecated and will still compile but not return any banners. New method signature: getdisplayad(youractivity.this, yourdisplayadnotifier); Additional Activity declarations are required in AndroidManifest.xml to enable rich media ads: android:name="com.tapjoy.tjadunitview" android:configchanges="keyboardhidden orientation screensize" android:hardwareaccelerated="true" /> android:name="com.tapjoy.mraid.view.actionhandler" android:configchanges="keyboardhidden orientation screensize" /> android:name="com.tapjoy.mraid.view.browser"
android:configchanges="keyboardhidden orientation screensize" /> Integration from here is the same as 9.0.x, starting with the connect call. For more details, visit: https://knowledge.tapjoy.com/en/integration/getting-started-guide-for-publishers#android Changelog General There is only one SDK now. The Advertiser/Connect SDK is no longer supported. The test app is no longer named EasyAppPublisher, it s now a new app TapjoySampleApp Banner Ads and FullScreen Ad are now capable of supporting rich media content (MRAID) FullScreen Ads are now capable of supporting VAST videos The ios App Store can now be opened within the App ios features: the sample app has been updated add session_id session_id is generated on app launch, pause/resume, or 30 minutes of inactivity (no Tapjoy API calls) MRAID support for ad units the App Store now opens in-app updates: gettappoints is no longer being called on SDK init or application resume. It must now be called explicitly to get an updated currency amount. setuserdefinedcolorwithintvalue:(int)colorvalue has been removed setuserdefinedcolorwithred:(int)red WithGreen:(int)green WithBlue:(int)blue has been removed Android features: the sample app has been updated add session_id session_id is generated on app launch, pause/resume, or 30 minutes of inactivity (no Tapjoy API calls) add apppause and appresume methods these should be called to get accurate session data for your app MRAID support for ad units. This requires updates to the AndroidManifest.xml and to the getbannerad method signature fixes: fix issue where video would be unable to be played if streaming and no sd card was mounted fix issue where some parameters weren t being Uri.encoded (userid)
FAQ Why do I need to include all these frameworks on ios now? Our new rich media units include new interactive elements that require these additional frameworks. What activity do I need to pass to the getdisplayad call on Android? It should be the activity where the banner is getting displayed. FOR MORE SUPPORT: integrations@tapjoy.com