Unity SDK/Wrapper Change Logs

The following changes have been made to the Unity SDK/Wrapper Change Log:


 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,
    application shuts down or the application goes into background state. 



 * Changes made so release material includes two unique Unity Package files (one to use when building non-virtual reality applications, the other to use when building virtual reality applications).  This eliminates previous need to comment/un-comment code or define a Scripting Symbol in Project Player Settings depending on the type of application being built. 

 * Changes made so event data now buffered in persistent data file if SDK determines the device to be offline.  Periodic checks are made to see if the device has returned online and if so the buffered event data is uploaded.

 * Changes made to startTimer() API method so it now accepts as optional parameters custom dimension and metric data which will thus be sent to server when a corresponding stopTimer() API method call is made.

 * Changes made to delay shutdown until the End Session Event has been sent to server (or saved to file when offline). In addition any buffered ApTrak, Eye Tracking or Object Tracking data is also sent (or saved to file).

 * Changes made to how Eye Tracking and Object Tracking are enabled. In addition to being able to dynamically enable/disable tracking the SDK can be configured via Static Apmetrix VR Tracking variables so Eye or Object Tracking can be enabled in the build thus enabling tracking throughout the life of the application.



 * Changes made to how and when Player Preferences are used when storing and accessing key timing variables.  This results in fewer accesses to Player Preferences file and better error handling if value retrieved from Player Preferences is deemed incorrect.

 + Added Device ID to information passed at start of session.

 + Added permission to "Disallow Device ID Tracking" if desired.

 * Change made to how "STEAMVR" Scripting Symbol is defined.  Now defined through the IDE as Project Player setting rather than un-commenting a line of code. 

 * Change made to documentation to remove instructions on downloading Unity SDK/Wrapper from Unity Asset Store. 



 * Changed Asset folder directory structure to better support Unity Asset Store download/import.

 + Added support for SteamVR with the addition of the two API methods:

  • EnableEyeTracking(bool enable);
  • EnableObjectTracking(bool enable);

 * Changes made to ease SDK integration:

  • Added prefabs for VR and non-VR applications that replace the need to create an Empty GameObject and attach scripts.
  • Added editor so key initialization variables are entered in the Apmetrix inspector rather than having to make code changes in scripts.

 * Changed Http method used for StandAlone Platform to HttpPost.



 * Updated to use iOS & Android 2.0.5 SDK's (necessary if applications are targeted to run on simulated iOS 9 devices). 



 + Added new table definitions. Actions, Engagement, FTUE



 + Updated to use iOS & Android 2.0.4 SDKs 

 + 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



 + Minor improvements



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

 + Removed ApmetrixPushHandler() & corresponding Unity Update() in Apmetrix.cs

 + Removed Apmetrix_initAPNS() & corresponding IosRegisterForDeviceToken() in Apmetrix.cs

 + Removed IosRegisterForDeviceToken()

 + Added registerForAPNS(int types):

 + Apmetrix_notificationHandler(): no longer takes in a string. Has been re-designed to only return a Dictionary<string, string> of push data or an Empty Dictionary if there is no push data

 + If you are building to iOS you MUST use the ApmetrixPostProcess Python build script

 + ApmetrixPostProcess Python file now injects native code into the file to handle:
    + Push Notification Registering
    + Remote Notifications:
    + Did the app receive a Push while in the foreground/background
    + Did the app launch from a Push
    + Local Notifications:
    + Did the app launch from a Local Push Notification



 + Minor change regarding Android Plugin Configuration



 + iOS 8 x64 optimizations.

 + Android DB Synchronization fixes.

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



 + Updated to use iOS & Android 2.0 builds

 + Updated Android Manifest. Removal of old Unity Android Activities

 + Updates to Push Notification systems

 + New static variable lastReceivedPushMessage contains the most recent message that the user interacted with

 + General SDK performance updates 

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



 + Updated to use latest Apmetrix iOS SDK. No API Changes



 + Adjustments to how sessions are counted on standalone and Android. IOS update coming next.



 + Slight tweak url formatting.



 + Minor changes to internal SDK code. No API changes



+ Added the following API methods:

  • startLevel(string)
  • setApTrakBundleCount(int)
  • setUploadInterval(int)
  • setProductId(string) - Ios Only

+ Updated to newest Ios 1.6.1 & newest Android 1.4.2



 Changes made to the ApmetrixStatic.cs variables to prevent credential errors.



 + Added virtualCurrency, setAlternateGateway, & setCustomerID functions. Updated to IOS 1.6.0 and Android 1.4.1 SDK



 + Fixed a bug where the auto includes weren't adding the required linker flags.



 + Added functionality to take advantage of Unity's PostprocessBuild Pipeline



 + Updated to use latest Android & iOS SDKs. Fixed a bug with iOS push notifications.



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



 + Updated to use iOS v1.4.9sdk

 + Changes to ApmetrixStatic variables

 + Added additional crash handling for Unity Standalone.



 + Updated to use iOS v 1.4.8 sdk



 + Changes to IOS Push Notification System. Simplified the sdk calls.

 + Added Timer functionality



 + Updated the internal sdk core when using Unity Standalone.



 + Transaction Functionality Added. Can track InAppPurchases, VirtualItems and Offers.

 + Changes to the Android GCM Structure.



 + Change to Android Plugin folder structure



+ Push Notification functionality has been hooked-up. Supports IOS and Android. 
+ Adjustment to internal logic for saving timestamps to safeguard against a crash



 Daily, Monthly, Hourly, etc Active Users should now update correctly.



 Bug fixes with Session Time-stamps for Unity Standalone (PC, Mac, Linux).

 + Added a check for Unity Editor to help distinguish sessions in Editor Mode and Standalone platforms.



 Files & Objects renamed to avoid collisions with other plugins.

 Function calls cleaned up and optimized.



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

You must now pass in ApmetrixStatic.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.



 Bug fix in log event, data now properly lines up on the dashboard



 Bug fix in log event to properly handle empty strings.



 + Added monetization function to track micro transaction events.



 + Added support for Editor, PC, Mac. - Removed "setTracking" API method. Rolled functionality into the "init" API function



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



 Initial revision.


Have more questions? Submit a request