Help Center

BlueConic SDK for iOS Release Notes

These release notes show incremental updates to the BlueConic SDK for iOS, including the SDK version number, the date the update was released, and major changes or additions.

3.3.0 - June 12, 2024

Changed

  • Migrated SDK local file save location for enhanced security and added obfuscation to the file contents.

Added

  • Added support for timeline events in the SDK.

Fixed

  • Fixed minor issues with processing UI elements for Form Listeners.

3.2.0 - March 12, 2024

Added

  • Privacy Manifest as required by Apple Privacy Guidelines.
  • SDK Code signing.

3.1.0 - February 23, 2024

Added

  • Internal tracking for React Native usage

3.0.0 - October 26, 2023

Added

  • Support for Binary Framework
  • Support for Swift Package Manager

Changed

  • Updated minimum iOS version requirement to 12.
  • The main api class renamed from 'BlueConicClient' to 'BlueConic'.

2.9.0 - September 4, 2023

Added

  • Support for Swift 5.8.1

Fixed

  • Set (if empty) not setting values in Rule Based form listener.
  • Error on lightbox without content.
  • Order of plugin disposal/recreation after a page switch is incorrect.

2.8.10 - March 1, 2022

Added

  • Support for Swift 5.7.2

2.8.9 - June 7, 2022

Added

  • Support for Swift 5.6.1
  • Add increment method to BlueConic SDK for iOS.

Fixed

  • Sending information on deleted properties for RPC hash getProperties is not supported.

2.8.8 - November 24, 2021

Fixed

  • Set (if empty) not setting in Behavior Listener for Mobile SDK.

2.8.7 - September 27, 2021

Added

  • Support for Swift 5.5

Fixed

  • BlueConic SDK for iOS has a cache file that does not get cleared; slows the app down.
  • Clean up outdated files.

2.8.6 - May 3, 2021

Changed

  • BlueConic SDK for iOS creating a new profile for each pageview event. By setting bc_shared=false in the Info.plist a dedicated BlueConic cookie store is used.

Added

  • Support for Swift 5.4

2.8.5 - November 3, 2020

Changed

  • The logic in `setUrl` to only call `setHostname` when `debug` mode is `true` to avoid invalid URL as overrule hostname.

Fixed

  • Issue in the simulator mechanism to not overrule the hostname when `debug` mode is `false`.

2.8.4 - September 20, 2020

Added

  • Support for iOS 14
  • New method `setMobileAdId(mobileAdId)` that can be used to programmatically set the IDFA/ Mobile Advertising UID, to apply for the new rules regarding privacy, data tracking, and IDFA.

Removed

  • The `GlobalListener` will no longer auto-detect and set the IDFA/ Mobile Advertising UID. The profile properties "Mobile Ad Id (Most Recent)" `mobile_ad_id` & "Mobile Ad Id (all)" `mobile_ad_ids` are removed from this listener, and can be set/stored via the new method `setMobileAdId`.

2.8.3 - July 16, 2020

Fixed

  • A small issue in `EngagementService` where multiple items were stored with pipes (`|`) instead of separate values.

2.8.2 - June 16, 2020

Changed

  • BlueConicEventManager uses the BlueConic DispatchQueue.
  • Changed the GlobalListener to collect data without any `Context` to also support non-`ViewController` pages.

Added

  • Debug statements around connecting with the Simulator.
  • New method `setURL(url) -> Bool` to connect with the Simulator and retrieve a status `true` or `false` when the connection succeeded.

Fixed

  • Multithreading issues when registering Events via the `BlueConicEventManager`.

2.8.1 - April 27, 2020

Fixed

  • Process of `Segments` during a register of a `PAGEVIEW` event.
  • Support for callback methods, design for `ReactNative`-module.

2.8.0 - April 17, 2020

Changed

  • The internal property of the ViewController `context` to a `weak` variable, to avoid keeping a refers to this.
  • The `context` statement to be optional `PAGEVIEW` and/or custom events, can now trigger an event without the need of a `ViewController`.

Added

  • Support for Swift 5.2
  • New method `registerPluginClass :className` to register custom `BlueConicPlugin` classes, registering plugins and specify on class name.
  • New method `getSegments` retrieve all segments where the profile belongs to. BlueConic Segments are retrieved when there is a `PAGEVIEW` event created.
  • New method `hasSegment` validate if a profile is in a certain segment, based on Segment ID.
  • New method `createEvent :properties :completion` - Create event method with a callback/ completion mechanism to do follow up actions at the time BlueConic retrieved new data from the servers.
  • New method `createEvent :data :completion` - Create event method with a callback/ completion mechanism to do follow up actions at the time BlueConic retrieved new data from the servers.
  • New method `updateProfile` - Update the profile instantly push/ sync all profile property data with the profile on the BlueConic tenant.
  • New method `updateProfile :completion` - Update the profile method with callback/ completion mechanism to do follow up actions at the time BlueConic retrieve new profile data from the servers.
  • New method `getInstance` - Retrieve an instance without sending a ViewController along, improvement on the method calls `getInstance(nil)'.
  • New methods for `InteractionContext` to call within your `BlueConicPlugin`:
    • `getInteractionTypeId` The ID of the interaction type.
    • `getPluginType` The type of the plugin.
  • Extra accessibility for other (UI) Frameworks - not using `ViewController`s

Fixed

  • The issue for `addRefusedObjective` not pushing refused objectives.
  • Running background tasks on the main thread.

2.7.0 - February 17, 2020

Changed

  • The deprecated `UIWebView` to `WKWebView`.
  • Support for custom/ timeline events with context `createEvent`- custom events are now sent to BlueConic servers and could be used to store these events on the timeline.
  • Clear the events on `BlueConicClient` level when a `PAGEVIEW` event is called.
  • Execute all published `Events` after the `onLoad` of all plugins is called, so none of the published `Event`s are missing for these calls.
  • Moved `BlueConicEventFactory` and `BlueConicEventManager` from `Plugin`-directory to `BlueConicClient`. This is now part of the `main`.

Added

  • New privacy legislation methods `getPrivacyLegislation` and `setPrivacyLegislation`.
  • New Objectives getter methods `getConsentedObjectives`, `getRefusedObjectives`.
  • New Objectives setters methods `setConsentedObjectives`, `setRefusedObjectives`.
  • New Objectives adders methods `addConsentedObjective`, `addRefusedObjective`.
  • New method `isEnabled` and `setEnabled` to enable or disable the BlueConicClient SDK programmatically.
  • New method `registerPluginClass` to register custom `BlueConicPlugin` classes, registering plugins.
  • New method `createEvent: withData` that supports a map `[String: Any]`
  • New methods for `InteractionContext` to call within your `BlueConicPlugin`:
    • `getName` The name of the interaction
    • `getPluginType` The type of the plugin
    • `getPositionName` The name of the (channels) position
    • `getDialogueId` The ID of the dialogue ( Only used for `Action`s )
    • `getDialogueName` The Name of the dialogue ( Only used for `Action`s )

Fixed

  • Handle all events between `PAGEVIEW` event and the plugins `onLoad` method correctly.
  • Don't store the invalid value (`00000000-0000-0000-0000-000000000000`) to profile property `Mobile Ad ID`.
  • Crashes around registering plugin classes. Issue `objc_getClassList` when the parameter is not a `MutablePointer`.

Removed

  • All `cleanup`-event calls in `Listeners` this is no longer required this is no managed by `BlueConicClient` instead by the `BlueConicPlugin`s individually.
Was this article helpful?
0 out of 0 found this helpful