## iPhone Service Platform Readme

Version | 3.0.0 Beta
Release date | August 17th 2010
Contact | iPhonePlatformSupport @ EAMOBILE

### Status (IMPORTANT)

- NEW: This is the first release to include social features. Social features are available in the Data Layer and both store configurations.
- NEW: At this time there is a separate sample app for the social features which is located in \iPhone\ipsp_sample\Social. If your game uses both existing IPSP features and social features please refer to the sample app for the configuration you are using and the social sample app.
- This is a beta release. Game teams can use this release in their game, but should check with iPhone Service Platform support before releasing to ensure there are no major issues.
- Game teams should follow the legal requirements displayed here: http://wiki.eamobile.ad.ea.com/display/stl/STL+Apple+Information+Page. External game teams ununable to access this link should contact their EA Mobile producer for assistance.

### Features

- In App Commerce (microtransactions): Functionality to purchase game items from within an app.
- Store UI: A complete skinnable Store UI for In App Commerce.
- Push Notifications: Functionality to register device tokens on EA's server.
- Message To User: Display of in-game banners, tickers and In-App Messages to deliver specific messages to users.
- Tracking: Functionality to log usage events to EA's server.
- Dynamic More Games: A More Games component that is populated dynamically from J2Play's server.

### File List

- iPhone Service Platform Integration Guide.pdf: Details how a developer goes about integration platform features.
- iPhone Service Platform API Reference.pdf: API documentation detailing functions available.
- ipsp_sdk: Contains SDK header and binary files to include in applications.
- ipsp_sample: Contains a sample application utilizing the SDK.

### Known Issues

- EAMTX_MTXProduct.m_CurrencySymbol may return a different currency to that contained in the purchase confirmation popup. This appears to be an iPhone OS bug and so far has only been reproduced with the Romanian and Pakistan app store. Developers that wish to utilize m_CurrencySymbol in their in-game stores are recommended to test the currency display behavior in a sample of their target markets.

### Change History

- 3.0.0 Beta (August 17th 2010)

- Added suite of social features (leaderboards, challenges, acheivements user communication).
- Removed jailbreak checks.
- Disabled piracy check (P_PKG check only).
- Additions to telemetry event types.

- 2.5.4 Beta (August 13th 2010)

- The IAC restore functionality only restores purchased items. Free items are no longer restored.
- Fixed DMG Back and Buy Now button issues.

- 2.5.3 Beta (July 28th 2010)

- Enabled support for IAC data later for iPad.

- 2.5.2 Beta (July 15th 2010)

- iPad configuration is compiled with iPhone SDK 4.

- 2.5.1 Beta (July 2nd 2010)

- Support for iOS 4 added.
- Added functions to support multitasking.
- iPhone 4 only: fixed IAC Store description text display issue.
- iOS 4 only: fixed IAC Store purchase dialog issue when user leaves dialog open for too long.

- 2.5.0 Beta (June 24th 2010)

- Product ID, game Sell ID, DMG ID, Hardware ID and app version are now automatically determined by the SDK. These parameters have been removed from several function signatures.
- Piracy and jailbroken device detection added to telemetry. Apps integrated with 2.5.0+ will automatically benefit from this feature.
- Push Notifications are now supported in the minimal configuration.
- Additions to telemetry event types.

- 2.4.4 Beta (April 2nd 2010)

- DMG now always uses live servers regardless of server environment setting
- Optimized downloading speed of DMG content
- Rendering issues for DMG banners on the iPad fixed
- DMG cosmetic issues fixed

- 2.4.3 CR (March 24th 2010)

- Show all banner/ticker links from the Store and DMG in Safari regardless of the URL.
- When the app is closed while an IAM is on the screen, for following startups the IAM will now have buttons.

- 2.4.2 Beta (March 23rd 2010)

- Fixed iPad MG Back button issue when device is connected to a network, but not to the Internet.
- Fixed Store stability issues for 2.x firmware users.
- Fixed crash when lock interrupt is issued while user is viewing an In-App Message.
- DMG content isn't saved in the cache.
- In-App Commerce item select event is now logged.

- 2.4.1 Beta (March 12th 2010)

- Added Push Notification feature to Minimal configuration.
- Fixed bug with DMG crashing on 2.x devices.
- Fixed bug with crashing of DMG when it is displayed the first time.

- 2.4.0 Beta (March 5th 2010)

- Added new In-App Messaging feature. See Integration Guide for details.
- Added support for iPad optimized view of DMG.

- 2.3.0 Beta (February 19th 2010)

- Deprecated EAServerURL and MGServerURL parameters in favor of ServerEnvironment parameter.
- The Store will now restore free items in addition to non-free items
- Telemetry can now be disabled on a per game and per event basis from the server
- Added sample code to show how to detect when the app was started from a push notification
- Added Pause and Restore functions to support iPhone OS interrupts
- Improved handling when device memory is nearly full
- Thumbnails are now correctly displayed in the store
- DMG category selects now send the correct tracking event key type

- 2.2.0 Beta (January 20th 2010)

- Reworking of Dynamic More Games
- Allow iPhone OS 2.x users to launch store, see all items and download free items
- Logging event in Store: Clicked on in-store banner
- Logging event in Store: Clicked on in-store ticker
- Sample app: function to detect app started after install
- Sample app: function to detect app started after upgrade
- Fixed hardware id '0' issue that occurs after an app upgrade
- Fixed memory issue when entering the Store
- Fixed "unselect all" crash if the game doesn't have any categories
- Fixed error message loop crash if user doesn't have WiFi or SIM card

- 2.1.0 Beta (December 10th 2009)

- Include type information in banner/ticker callback structure
- Added feature to find out number of new unseen IAC items
- Added loading bar to Store UI item downloading screen
- Downloads in Store UI can now be resumed if interrupted
- Cancel option for Store UI loading and item downloading screens
- iPhone model hardware ID is automatically determined
- New tracking event to record app language used
- New tracking events for Lite Editions
- SDK exposes Tracking session ID and step number
- Number of events to post can now be specified when force pushing events
- Advanced seeding of Tracking session ID
- Increased maximum number of cached tracking events to 10,000
- Fixed banner/ticker callback issue in minimal configuration

- 2.0.3 CR (October 30th 2009)

- Fixed badge dissapearing issue in Store UI on subsequent app runs
- Fixed text wrapping issue in Store UI
- Items not returned by the StoreKit are hidden in the Store UI
- No longer shows "Master Item Not Found" in Store UI if no items are returned by the StoreKit
- Unlockable items are now supported in the Store UI without the need for a dummy content pack
- IsItemAllowed can now be called before any other function

- 2.0.2 CR (September 23rd 2009)

- Fixed Restore callback issues (e.g. when user has not purchased any items)
- Fixed Store UI ordering of items for category views

- 2.0.1 Beta (September 18th 2009)

- Dynamic More Games file space usage has been optimized.
- Fixed ticker caching issue.
- Aspect ratio is maintained when opening and closing store panels.
- IPSP-145: If no items are available for a certain language, error message will now appear on each visit to the store.
- IPSP-146,163-166: Fixed all display issues for various localizations.
- IPSP-150: Fixed error message after cancelling ""you already purchased this item" message.
- IPSP-156: Fixed display of extended characters for free items.
- IPSP-158: If the language is changed, the purchase status of items will no longer reset.
- IPSP-161: Badges no longer reappear when changing language between store accesses.

- 2.0.0 Beta (September 1st 2009)

- Added Store UI feature.
- Added Message To User (banners and tickers) functionality.
- Added Dynamic More Games functionality.

- 1.2.1 Beta (August 26th 2009)

- Added constants for the standard tracking key types.
- Issue IPSP-88: Downloading of multiple items fixed.
- Issue IPSP-89: Downloading of same item in same session fixed.

- 1.2.1 Alpha (August 21st 2009)

- Support for weak linking is now included in the SDK. This is in the form of a function to check whether microtransaction functionality is available. See the Integration Guide "Weak Linking" section for more details.
- Applications can now specify whether to enable debugging in the SDK. See the Integration Guide "Debug Configuration" section for more details.
- Downloading of microtransaction content assets has been optimized by 25%.
- Bug fixed with retriving new items.
- Corrupted UID issue fixed.
- Issue IPSP-17: Currency symbol is now available. See API Reference "MTX Item Structure" for more details.
- Issue IPSP-22: Cached microtransaction descriptors are cleared when language is changed.
- Issue IPSP-65: Sample app now uses correct iPhone/iPod Hardware ID.
- Issue IPSP-66: SDK now sends updated server API versions.

- 1.2.0 Beta (July 22nd 2009)

- Tracking functionality has been enhanced. Tracking events can now handle more structured custom parameters and more control is given to game developers to control tracking operation, including a disable function to meet the legal requirements of the included document.
- Tracking only binaries are now included for games that only use tracking and wish to be compatible with 2.x devices.
- The ability to configure which server environment the SDK connects to has been added. See page 9 of the integration guide for details.
- In general this release is backwards compatible with the 1.1.0 Beta release. The only exception is a small change has been made to the MTX_LogEAServer (for tracking) method signature (see page 21 of the API Reference).

- 1.1.0 Beta (June 25th 2009)

- First beta release.