The Ensighten Objective-C library for iOS supports iOS 8 and above.
- Added new setFirstPartyDomain setting that enables data sharing using cookies between Ensighten and other web views deployed in your app.
- Added new setTagContainerBaseUrl setting that enables persistence of certain cookies when using third-party technologies.
- Added support for tracking app-specific page views, events, and conversions using the Ensighten Tracker and storing the data in the data layer
- Added a new toJSONString opcode that can be used to convert arrays and dictionaries into JSON strings
- Bug fixes
- Removed battery monitoring
- Added an option to disable automatic swizzling at bootstrap.
- Renamed DegreesToRadians to NSTN_DegreesToRadians to avoid symbolic conflicts with other libraries.
- Renamed RadiansToDegrees to NSTN_RadiansToDegrees to avoid symbolic conflicts with other libraries.
- Removed erroneous logging in cases where the device is connected to Ensighten Mobile via 4 finger press.
- Replaced UIWebView with the updated WKWebView.
- Tagging no longer causes disconnections from the UI.
- Updated tracing to improve memory usage and time spent tracing.
- Tracing and "select from list" moved to async threads.
- Updated screen rendering to use CADisplayLink with a default frame rate of 10 (60/10 = 6fps).
- Screenshot - rendering code optimized.
- Rendering moved to async thread.
- The force-touch app was updated to prevent launches/resuming that could cause a crash from block-closures being added to an NSArray and subsequently released.
- Updated other areas where closures might be added to NSArray instances.
- Tested on iPhone 6s (iOS 11.0 beta 2), iPad mini (iOS 9.3.5).
- Deployment target (lowest supported OS version) upgraded to 8.0.
- Added two new opcodes for performing complex content swaps
- Added support for passing
NSValuehonored struct types (
CGSize, CGPoint, CGRect, CGAffineTransform)
- Updated how arguments are handled when tagging local notifications
- Compatibility with iOS 10
- Improved decoding and encoding base64 strings on legacy OS versions
- Enhanced Mobile platform connections and screen streaming in realtime
- Improved UI loading efficiency.
- Improved tracing logic.
- Increased support for tracking systems.
- Includes an important patch for the cached queue file.
- The 3.0.1 library supports the new Mobile platform.
Version 3.0.1 requires a migration to the New Ensighten Mobile Interface otherwise analytics will fail. Contact the Ensighten Success team to schedule a migration into the new platform.
- Supports the New Mobile Platform and Associated Features
- Includes Bitcode Support
- Tracer Updates and b64 Encoding
- JSON Configuration Files
- App Versions now use public versions and not build versions
- Bug Fixes and Tweeks
- Compatible with Apple iOS 9.
- iOS library v2.2.2 supports features that will roll out in our new App Management platform in Q4.
- Support for Heartbeat-style video tracking including chapters and ads.
- Persistent test-mode support.
- General Bug Fixes and Performance Improvements.
- Removed unnecessary fields from query params.
1. MAJOR : Queuing system changes:
Queuing system now queues actual network requests natively. This is a major difference over queuing strings of java script to be executed later. This allows any js to be evaluated and fully executed in its correct context and separates any data gathering or collection from an actual request which is sent out to an analytics service.
- These requests are NSURLRequest objects.
- Requests which have not originated from our web view are filtered out.
- Requests which occur when offline are queued up to maximum (2500) regardless of batch size (queueDepth).
- A value of -1 for queueDepth will not queue any requests.
- A value of 0 for queueDepth is modified to be 1.
- Any other batch size will queue when online to the size of queueDepth and asynchronously dequeue when the queue is considered full.
- A new config for queueExclusions may be added as a single regex string.
- Offline queued items will dequeue upon reconnection.
- Queues will attempt to be purged regardless of batch size on app suspend.
2. MAJOR : Lifecycle Metrics
New "App Lifecycle" metrics were added into the library by default to excute at certain major and distinct points in an app's run. These are :
- App Launch
- App Suspend (exited but not quit)
- App Resume (started from suspend)
- App Page View
- App Global Events (button clicks, sliders sliding, bar items tapped, switches switched, segmented controls changed, page controls changed, steppers stepped)
New "lifecycle" member added to params object :
"installDate": "2015-04-23 07:12:09 +798000",
"lastUseDate": "2015-04-28 03:29:18 +099000",
3. Movie Watcher has been expanded to allow finer grained control of when polling points execute.
- Offset: comma separated set of seconds from start of movie.
- Milestone: comma separated set of percentages for entire movie.
- Interval: every x numbers of seconds.
- Bug with the polling timer which would only allow the first queue point to execute was repaired.
4. Bug fixes and general updates to support new OS versions.
- Ensighten bundle path fix
- All swizzles now use "ensighten_" prefix instead of "original_", "afteroriginal_", etc.
- Fixed class dumps to json
- Bug fixes
- Advanced Optimization Screen Capturing
- Drag Drop support
- Scaling of new images to match original size
- Text changes grow (not shrink) to accommodate larger text sizes
- Removed check for commas ( , ) in string mods.
- Removed "frame" values from hash ids.
- Removed check for socket being connected. Now relying on isDumpModeOn flag.
Ensighten Library Update: Includes App Optimization (A/B and MVT Testing)
- New library supports tag management and our new Optimization engine:
- Ability to modify elements visually for the following properties (default)
- background color
- text color
- tint color
- attributed text
- alpha (opacity)
- image by
- base64 encoded string
- previously packaged file
- Explicit enable/disable personalization
- Screen "dumping" only allowed when enabled and connected to optimization platform
- Special advanced custom properties
- Cache last test and last decision
- Report on successful tests
- Access to any view's controller from the view
- Finding a view controller instance by its screen name
- Easy connection to optimization platform by 4 second, 4-finger long-press on screen
- Bug fix for dequeuing and saving large numbers of tags simultaneously.
- Additional library improvements and cleanup
- Backwards support for iOS 7.