iOS SDK Change Logs

The following changes have been made to the iOS SDK:  


customer Change Description



+ Added to information passed with each event:

    1. session time (time in secs from the start of session that event occurred
        within the current session).
    2. life time (time in secs from the start of the initial session that event

 + Pass background time (time in secs that the timers were paused) with 
    each resume timer event.  These events are not directly initiated but are
    the result of a start or restart session event or the application returning to
    foreground state.  Note: all timers are paused when session ends or the
    application goes into background state. 


  + Added startTimerForEvent: andDimensions: API method as an option to startTimerForEvent: where dimensions parameters can be included with the start timer event.  These dimensions parameters are used in the same manner to include dimension and metric data as the other custom event functions.  If there is no desire to include dimensions and metrics with the start timer event then the original startTimerForEvent: API method should be used. 

 + Added OFFLINE_MODE permission to aid developers that want to see contents of urls that would be sent to server without it actually happening.

 * Changed Http method used to send data to gateway to HttpPost.



 + Updated to add setLocation: API method.



 + Updated to be able to process watch messages from the watchOS SDK



 * Change necessary for applications targeted to run on simulated iOS 9 devices.



 + Added new table definitions. Actions, Engagement, FTUE



 + Under the hood improvements. No API Changes.

 + SDK does not include IDFA code by default. Link with libApmetrixWithIDFA.a if you are wanting to use IDFA



 + New Push Notification system now includes the ability to send key/value pairs down via JSON Payload.   

 + NotificationHandler now returns an NSDictionary containing the key/value pairs that are passed down. At minimum it will contain the Push Notification Message via key "message"

 + Added a function called localNotificationHandler which tracks when users interact with device generated local notifications.



 + Increased Max Metrics to 20. Dimensions still capped at 25.



 + Optimizations for 32-bit & 64-bit libraries regarding iOS 8.



 + Now support 64-bit, library built to include arm64 and x86_64 slices.

 + New Push Notification API - notificationHandler. Returns message after processing

 + Push Notification Updates and Optimizations

 + Do not collect IDFA by default unless ALLOW_IDFA permission set

 + Bug Fix with iPad Simulator

 + General SDK performance updates

 + SDK does not collect IP, does not use Geo Lookup or collect Ad Ids by default.



 + Added logging of session ID (No API changes)



 + Minor changes to internal SDK code. No API changes



 + Added the following API methods:

  • startLevel:(NSString *)
  • setApTrakBundleCount:(int)
  • setUploadInterval:(int)
  • setProductId:(NSString *)

 + Added the NO_AD_ID permission flag
    (included in CHILD_SAFE permission definition)



 + Added "setCustomerId" API method



 + Added "virtualCurrency" API method



 * Change made to fix bug that occurred randomly when session was initialized.



 * Change made so the IDFA is sent to the server in raw form.

+ Added first time tag that is sent only with the first request after application is installed.



+ Added new permission NO_IDFA that if set prevents the SDK from looking up and uploading the "identifier for advertisers".  By default the SDK allows this identifier to be used. This identifier is necessary for ad tracking to work so advertisers can track what advertisements your clients follow.  



* Changes made to improve memory management

* Change made to routine that gets the current time in milliseconds.  Using gettimeofday() rather than [NSDate timeIntervalSince1970].



+ Added Timer API functions

  • startTimerForEvent:
  • stopTimerForEvent:
  • appWillEnterForeground
  • appDidEnterBackground

+ Added API function showPopupInApp: withUserInfo: andAppLaunched:



* Replaced FMDB open source with Apmetrix equivalent



+ Added "inApPurchase" API method

+ Added "virtualItem" API method

+ Added "offer" API interface method



Minor bug fixes.



Change made to not automatically do Geo Lookup on the device.

You must now pass in USE_GEO_LOOKUP if you wish to track Long/Lat of a customer.

This change is made based on Apples updated requirements, which prohibit using Location information in an App, which does not use Locations.



* included a extra lib which removes Apples Reachability functions (it will link and use your Reachability if you have it).

Apple's Reachability functions are great for instantly detecting connections to the internet, which we use before trying to call out.

If you include Apple Reachability functionality, you will want to use the libApmetrixNoReach.a otherwise use libApmetrix.a



* Change made so external IP address is never looked up (rather than just not sent) if permissions don’t allow.  Change also made so external IP address is looked up only once at start session if permissions allow.



+ Added “monetize” API method


- Removed “setTracking” API method.

* Changed “init” API method so multiple permissions can be passed as a parameter by OR’ing them together (these are the permissions that could be set using the previous “setTracking” API method

* Changed integer values for the defined permissions.  This was necessary when allowing multiple permissions to be OR’ed together.  They were also renamed to “NO_GEO_LOOKUP, NO_IP_LOOKUP, NO_UDID and CHILD_SAFE.

* Fixed bug in “logEvent” where parameters that are empty strings were improperly handled


* Changed “setTracking” API method so UDID could be blocked and so parameters can now be added together (which required a change in the value for CHILD_SAFE from what it was in Revision 1.1.1)



+ Added “setTracking” API method for setting the tracking permissions prior to initializing the session.



+ Added “ApTrak” API method for logging screen coordinates of application events the developer wishes to track.


+ Added API methods allowing SDK to function as native plugin for Unity applications.


* Changed metric tag used when logging custom event data.  Previous revision was not constructing the tag properly.



* Changed implementation of SDK’s gotPushNotification method so it also clears the notification badge when called thus removing the burden from the developer.



* Changed timing to send clear notification event (result of call to gotPushNotification) immediately to application server rather than waiting for next log event activity.



+ Added didFailToRegisterNotifications method to library interface.


* Changed gateway url.


+ Added library interface method registeredForPushNotifications.


+ Added library method gotPushNotifications.

+ Added advertising identifier to start session data passed to application server.

+ Changed way device token for push notifications is sent to application server.


Initial revision.



Have more questions? Submit a request