All notable changes to the iOs SDK are documented in this file.

Adtag vs Herow

Since version 4.6, the SDK for the AdTag Platform and the SDK for the Herow Platform) has been splitted.

The documentation version ending with Adtag is dedicated to the SDK for the AdTag Platform.

5.2.0 - (November 8th, 2019)

  • FEATURE: Add live events.

  • IMPROVEMENT: Improve analytics.

  • FIX: Support deep link for Push Notifications and remove legacy Welcome Notifications.

5.1.1 - (October 11th, 2019)

  • FIX: Minor fixes for iOS version.

  • IMPROVEMENT: improve notifications reception rate.

5.1.0 - (September 24th, 2019)

  • FEATURE: Add iOS 13 and Xcode 11 support.

5.0.4 - (September 6th, 2019)

  • IMPROVEMENT: Add deep link support for iOS.

  • IMPROVEMENT: Send user timezone to the platform.

5.0.3 - (July 30, 2019)

  • FIX: Push notifications fixed when testing with APNS sandbox mode.

5.0.2 - (July 23, 2019)

Minor fixes for iOS version.

5.0.0 - HEROW (July 16, 2019)

  • FEATURE: Push (remote) Notifications support on iOS and Android with Herow Platform

  • FEATURE: New user ID management. The SDK can support custom user ID in order to use our segment API. Have a look on our SDK documentation section Setting up a custom user ID.

4.6.4 - (June 21, 2019)

  • FIX: correction on multilingual notification management

  • IMPROVEMENT: optimizing battery consumption when the user is near a zone border

4.6.1 - ADTAG - (April 29, 2019)

First version dedicated to the Adtag Platform.

4.6 - (April 17, 2019)

  • FEATURE: support notifications stacking. By default notifications are now displayed separately instead of overwriting the old notification with the new one. Stacking notifications is an option you can disable from the app settings on my.herow.io

  • FEATURE: notifications are still displayed even if user open App. Of course, if user opens app through the notification (tap on notification), the notification will disappear.

  • FEATURE: support zone in zone and overlapping zones campaign scenario. Zone inclusion is now manage by the SDK to display the right notifications at the right moment

  • CHANGE: when initializing the SDK (HerowInitializer), "login" becomes "ID" and "password" becomes "SDK Key". Those modification’s purposes are to simplify the connection to make sure you use the same credentials names as the ones used in the Herow platform

  • FIX: fix on persistence notification filter when app state change from background to foreground

  • IMPROVEMENT: optimizations on "Action" SDK library

  • IMPROVEMENT: battery improvement on LocationDetectionHerow

  • FIX: fix on UserId stability for Herow platform WebServices

4.5.3 - (April 1, 2019)

  • IMPROVEMENT: add Swift 5 support.

4.5.1 - (March 22, 2019)

  • FEATURE: support notification capping at campaign level thanks to SDK campaign filters. When creating a campaign on my.herow.io, you can now limit the maximum number of notifications received per user for this campaign.

  • FEATURE: support integrations with push notification partners to send geofence events in real time. Partner integration is an option you can activate from the app settings on my.herow.io

4.4.0 - (March 01, 2019)

  • FEATURE: the Herow SDK supports dwell time notification triggered by a geofence zone entry. A dwell time notification is displayed only if the user time in zone is higher than the dwell time on Herow campaign

  • IMPROVEMENT: persistent notification improvement in zone

  • IMPROVEMENT: the Herow SDK has filters to send or not each generated logs to the Herow platform. This SDK filters logs can be managed in the app settings on my.herow.io

  • IMPROVEMENT: the Herow SDK can set time lapse between two location logs send to the Herow platform. This time lapse can be managed in the app setting on my.herow.io

  • IMPROVEMENT: new web service for media content notification

  • CHANGE: ConnectPlace Provider PlaceCacheInfo use TimeProvider instead of CACurrentMediaTime

  • CHANGE: Now, the company is not mandatory for the SDK initialisation

4.3.1 - (January 17, 2019)

  • FEATURE: support of persistent geofence zone notification. A persistent notification is still displayed even if user leave the zone. The notification display strategy is as follows: a new geofence zone notification overwrites and replaces the previous geofence zone notification.

  • FEATURE: support of exit geofence zone notification. An exit notification is triggered when user leave the geofence zone. An exit notification is also persistent, the notification is still displayed until a new geofence zone notification overwrites and replaces the old one.

  • IMPROVEMENT: in the SDK Settings, if User id (IDFA for iOS and GAID for Android) is activated, it will be used to count the number of users if there is a limit in the quotas, instead of counting with the Phone id (IDV for iOS and Device id for Android).

4.1.3 - (November 29, 2018)

  • Feature: permits to easily configured a sound associated to a notification. Check our dedicated tutorial

  • Fix: fix a crash when treating locations at hight frequency

4.1 - (October 19, 2018)

  • FEATURE: Official support of in-app actions with Geofence zones.

  • FIX: on notification duplication in zone without being out of the zone.

  • IMPROVEMENT: new time log to help with accuracy in dates and times associated to analytics logs

4.0.1 - (October 2, 2018)

  • FEATURE: add a geofence detection module

  • CHANGE: All The package containing Adtag[...] has been renamed Herow[...]

    • AdtagConnection -> HerowConnection
    • AdtagAnalytics -> HerowAnalytics
    • AdtagLocationDetection -> HerowLocationDetection
    • AdtagScanProximity -> HerowScanProximity
  • CHANGE: The objects with name Adtag[...] has been renamed Herow[...]. In particular:

    • AdtagInitializer has been renamed HerowInitializer
    • AdtagPlaceDetectionManager has been renamed HerowDetectionManager
  • CHANGE: The url type prepProd and prod are now pointing to the Herow server:

    • preProd is now linked to my-preprod.herow.io
    • prod is now linked to my.herow.io
    • To access to the Adtag server, use the url named preprodAdtag and prodAdtag
  • CHANGE: It is no more mandatory to call the method HerowInitializer.appInBackground, and HerowInitializer.appInForeground respectively in the method applicationWillResignActive, and applicationDidBecomeActive of the AppDelegate

  • CHANGE: On iOs 10 and later, it is no more mandatory to register the didReceivePlaceNotification from the HerowInitializer on the UNUserNotificationCenterDelegate

    • But be sure to call the HerowInitializer.synchronize() after having register the UNUserNotificationCenterDelegate to the UNUserNotificationCenter

3.0.3 - (May 24, 2018)

  • FEATURE: add methods to ask to the en-user opt-ins to collect personal data to be compliant with the GDPR

3.0.2 - (April 10, 2018)

  • FEATURE: New Analytics to track when a notification filter block a notification

  • FEATURE: New Analytics to track backend error

  • FEATURE: Remove the IDFA from the headers of the WS, make it optional and configurable from the AdTag platform in the Analytics.

  • FIX: Possible conflict on notification filters used with the classical notifications and the welcome notifications process

  • FIX: The beacon notification was deleted if a beacon was wrongly detected a second time

  • FIX: The renewal of the token could fail

2.8.4 - (March 30, 2018)

  • FEATURE: New Analytics to track when a notification filter block a notification

  • FEATURE: New Analytics to track backend error

  • FIX: Filters parameters where reset to 0 if the synchronization with AdTag was done before the first View Controller is loaded

    • The consequence was that all the notifications were blocked by the notification filters.

3.0.1 - (February 28, 2018)

  • FIX: error when deserializing json content with boolean attribute

3.0 - (December 19, 2017)

  • FEATURE: We reworked the SDK' architecture for more flexibility around two concepts:

    • A beacon detection module
    • An action module, built on top of the detection module, which offers new opportunities for our partners to create their own set of actions, with an limited cost of integration.
  • CHANGE: The previous NotificationStrategy object is now call a NotificationFilter.

  • CHANGE: Alerts are now called In-App actions.

  • CHANGE: To create an in-app action in foreground instead of implementing an ATBeaconAlertDelegate you must implement an AdtagInAppActionDelegate.

  • CHANGE: To receive content in foreground instead of an ATRangeDelegate you must implement an AdtagInProximityInForegroundDelegate.

  • CHANGE: To receive content in background instead of an ATBeaconReceiveNotificatonContentDelegate you must implement an AdtagInProximityInBackgroundDelegate.

  • CHANGE: To receive information about any possible errors, you can implement the ProximityHealthCheckListener.

  • CHANGE: To be able to use the new version, you will need to update your pod, instead of an ATLocationBeacon dependency you will need to include an AdtagLocationBeacon dependency.

2.8.1 - (October 13, 2017)

  • FIX: when using the depracated ATBeaconNotificationDelegate.

2.8 - (Septembre 22, 2017)

  • FEATURE: NFC Tag reading available

  • FEATURE: Manage multi-lines notifications

  • FEATURE: allow to disable the location permission popup at the launch of the application

  • CHANGE: the ATQR library has been renamed ATQrNfc

  • IMPORTANT : update the location permissions of your application for iOs 11:

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Your description goes here</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Your description goes here</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Your description goes here</string>

2.7.5 - (July 18, 2017)

  • FEATURE: the user-agent format has been re-worked to be compatible with our user-agent detection library

  • FIX: Logs where not send in the QR Library

2.7.4 - (June 19, 2017)

  • FIX: Security to avoid duplicate notifications was not reseted in some cases.

  • FIX: Welcome Notification were not displayed if the application was manually killed

2.7.3 - (May 12, 2017)

  • FEATURE: The SDK is fully configurable from the Adtag Platform.

  • FEATURE: Beacon Notifications & Beacon Alerts with Vocalization

    • Your application now support accessibility. The content of notifications or alerts can be read for visually-impaired users.
    • To improve the user experience you can fill a text to speech field on the Adtag Platform.
  • FEATURE: Beacon Notifications with images

    • Your application can generate beacon notifications and welcome notifications with an image, on iOs 10+ and Android 4+
    • Each image must be pre-loaded on the Adtag Platform
  • FEATURE: Beacon Alerts with images

    • Your application can generate beacon alerts with an image
    • Each image must be pre-loaded on the Adtag Platform
  • FEATURE: Asynchronous Listeners

    • This new version introduces three new listeners permitting asynchronous tasks:
      • ATAsyncBeaconNotificationListener
      • ATAsyncWelcomeBeaconNotificationListener
      • ATAsyncBeaconAlertListener
    • The old listeners are deprecated but can still be used.
  • CHANGE: the ATBeaconWelcomeNotification is now a delegate. You have to replace ATBeaconWelcomeNofication with idin your code.

  • CHANGE: The ATBeaconReceiveNotificatonContentDelegate is now registered automatically if your AppDelegate extends the ATBeaconAppDelegate

  • CHANGE: the method of the ATBeaconReceiveNotificatonContentDelegate has been renamed:

    • didReceiveNotificationContentReceived has become didReceiveBeaconNotification
    • didReceiveWelcomeNotificationContentReceived is now didReceiveBeaconWelcomeNotification

2.5.8 - (January 19, 2017)

  • FEATURE: Automatic Notifications

    • The SDK now comes with the AtNotificationDelegate and ATWelcomeNotificationDelegate implemented by default
      • This means that the SDK can generate beacon notifications as soon as it has been initialized
      • You can disable beacon notifications if you don't want your application to generate local notifications when detecting beacons.
  • FEATURE: The SDK allows to detect beacons across several uuids

  • FEATURE: Redirect logs from notifications are now generated automatically

  • FEATURE: New delegate object to retrieve the content received from notifications and welcomeNotifications when the didReceivedLocalNotification method is called in the appDelegate class

  • IMPROVEMENT: enhanced server calls security and flexibility

  • IMPROVEMENT: simplified access to all the ATbeaconAppDelegate methods from BeaconManager

  • IMPROVEMENT: optimized iOs 10 geofencing algorithm to enhance iBeacon detection

  • CHANGE: The CLRegion argument has been removed from the didRangeBeacons method of the ATRangeDelegate

2.4.7 - (December 1, 2016)

  • FIX iOS 10 bug: optimization of the iOs 10 geofencing algorithm to enhance the iBeacon detection

2.4.6 - (November 16, 2016)

  • FIX iOS 10 bug : add a geofence algorithm to enhance the iBeacon detection

2.4.4 - (November 3, 2016)

  • IMPROVEMENT: Additional usage description (key/string) for use of Bluetooth privacy-sensitive data in info.plist.
  • FIX rejects apps : App Review checks for use of << CFBundleSupportedPlatforms >> key, replace the SDK key bash 'CFBundleSupportedPlatforms = { "iPhoneSimulator" }' with bash 'CFBundleSupportedPlatforms = { "iPhoneOS" }'

2.4.2 - (August 30, 2016)

  • FEATURE: introduction of the concept of "Welcome Notifications".
  • A Welcome Notification is displayed the first time your application detects a beacon.
  • A specific Welcome Notification can be displayed when your application has no internet connection.

Learn more about Welcome Notifications in the dedicated tutorial

  • FEATURE: the Alert process has been re-designed, with simpler beacon interactions when the application is in the foreground, and more flexibility.

  • IMPROVEMENT: additional support for CocoaPod dependencies for SWIFT Frameworks.

  • IMPROVEMENT: migration of the frameworks to the Embedded framework ios 8 package

2.3.9 - (May 15, 2016)

  • IMPROVEMENT: better Notification Strategy algorithm

2.3.7 - (Mars 22, 2016)

  • FEATURE: add Demo plate-form access

2.3.6 - (February 29, 2016)

  • FEATURE: Update the webService url
  • IMPROVEMENT: better management of the network status

2.3.5 - (February 12, 2016)

  • Feature: The SDK introduces the "Notification Strategy" concept.

A Notification Strategy permits to modify the algorithm that manages the display of a local notification associated with a beacon.

2.2.0 - (Dec 16, 2015)

Added :

  • Log the Beacon detected around.

2.0.4 - (Sep 08, 2015)

Added :

  • New delegate class for detecting phone status (background / foreground).

Change :

  • Manage Notification background.
  • Rename Method and attributes.

Removed :

  • ATAppDelegate class.

2.0.0 - (Sep 03, 2015)

Added :

  • Track user with Advertising Identifier.
  • Manage Multimedia URL.

Change :

  • Change WS url.
  • Switch the load log data code source from the generic class into the new one ATAdtagLogDataLoadContent.
  • Change all the podspec version.

1.3.4 - (Aug 27, 2015)

Added :

  • Add company field in the log list.
  • Add new log subtype LOAD_CONTENT.
  • Add new property load Origin for identifying the origin of the log (it could be sent from WS/ Cache).

Fixed :

  • Fix the bug of the iBeacon number in the dashboard (enter region)

1.3.3 - (Aug 07, 2015)

Fixed :

  • Fixing the log problem, correct the format of the field date.

1.3.2 - (Aug 07, 2015)

Fixed :

  • Fixing ios7 support bug.

1.2.0 - (Jul 28, 2015)

Added :

  • Manage Dependencies with cocoaPods.

Fixed :

  • Fix arm64, architecture X86 problem.

1.1.0 -

Fixed :

  • Fix the background notification bug.

1.0.0 -

Features :

  • Ranging and monitoring ibeacons.
  • Connect app to the AdTag™ platform and allow access to the properties of the IBeacon.
  • Notification background range ibeacons.
  • Manage the Alert Action with proximity.