Android SDK Change Logs

The following changes have been made to the Android SDK:


 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. 



 * Fixed bug with database versioning introduced in revision 2.1.3



 * Changed startEventTimer() API method to include optional dimensions parameters.  The optional dimensions parameters are used in the same manner to include dimensions and metrics as the other custom event functions.  This API method can be used as before where only an event name parameter is used if there is no desire to also include dimensions and metrics. 

 + 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.



 + Added new setLocation(String) API method



 * No change other than to update internal revision to match iOS SDK



 + Added new table definitions. Actions, Engagement, FTUE



 + Under the hood improvements. No API Changes.



 + Minor improvements



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

 + Added a function called Apmetrix.notificationHandler() that returns your Notification data as a Map<String, String>

 + Added better GCM related error handling. Use tag:ApmetrixGCM to filter to any GCM messages. 

 + Now build against the Google Play Services library

 + Now link with android-support-v4.jar

 + Strings.xml file has been removed

 + Now collect the Android Ad Id:



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



 + Fixed a bug with DB synchronization.



 + Fixed a bug where the DB cursor was not getting closed



 + Added new push notification api - getPushMessage()

 + Push notification optimizations and updates

 + Now collect Android Ad Id if ALLOW_IDFA is set in init()

 + 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 code



 + Minor changes to internal SDK code. No API changes



 + Added the following API methods:

  • startLevel(String)
  • setApTrakBundleCount(int)
  • setUploadInterval(int)
 + Added the NO_AD_ID permission flag
    (included in CHILD_SAFE permission definition)



 + Added "setCustomerId" API method



 + Added "virtualCurrency" API method



 * Change made so Android Id is passed to the server in raw form.

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



 + Added Timer API functions

  • startEventTimer(String event)
  • stopEventTimer(String event)
  • appWillEnterForeground(Activity activity)
  • appDidEnterBackground()



 * Fixed bug introduced in revision 0.9.5 causing a "Null Pointer Exception" if any arguments to logEvent() are null rather than an "empty string" (which is what should be used when skipping a dimension). 


 1.2 5

+ Added "inApPurchase" API method 

+ Added "virtualItem" API method

+ Added "offer" API method

- Removed "monetize" API method 



 * Fixed bug in push notifications where a notification that occurred when application not running would not be handled properly.

+ Added “gotPushNotification” API method.

* Change made so Android Id only sent (if appropriate) during start session. 



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.

We have added this functionality to Android to keep parity with the iOS version.

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



minor bug change based on Android ID



* 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.



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



+ 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.


+ 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.



* Changed construct of push alert dialog box so minimum target API can remain at Level 8.  Previous revision required minimum target API of Level 11.



+ Added checks for reference to push alert activity in manifest file and return error rather than throwing exception if it is missing.



* Changed how GCM registration ID is sent to application server.


+ Added single button push alert if push notification occurs while the application running in foreground.


+ Added push alert dialog to display notifications when application not running in the foreground.



+ Added sound to push notifications.



* Change made to GCM registration.



 Initial revision.


Have more questions? Submit a request