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

Herow vs AdTag

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: Remove legacy Welcome Notifications.

5.1.0 - (October 4th, 2019)

5.0.1 - (September 6th, 2019)

  • IMPROVEMENT: Improve deep link support for Android.

  • IMPROVEMENT: Send user timezone to the platform.

  • IMPROVEMENT: stability improvement.

4.6.7 - ADTAG (July 17, 2019)

Minor fixes for Android version of Adtag Libraries.

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.6 - ADTAG (June 21, 2019)

  • FIX: correction on release mode

4.6.5 - (July 2, 2019)

  • FIX: correction on multilingual notification management

  • IMPROVEMENT: stability improvement

4.6.3 - ADTAG - (May 22, 2019)

  • FIX: InProximityInForegroundListener called in UI thread

4.6.1 - ADTAG - (April 29, 2019)

First version dedicated to the Adtag Platform.

4.6.1 - (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.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.1 - (March 11, 2019)

  • FIX: crash fix on ConnectPlaceGeodetection

  • FIX: while saving analytics logs

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

  • IMPROVEMENT: background thread improvement to save more efficiently tasks when the app is in background

  • IMPROVEMENT: TaskManager refactor

  • FIX: crash fix on android ConnectPlaceActions

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

4.3.0 - (January 14, 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).

  • FIX: on generation of engagement analytics logs.

  • FIX: on rare cases of lack of localization depending of the device model and Android OS overlay version.

4.2.0 - (December 13, 2018)

  • IMPROVEMENT: the global battery consumption of the SDK

  • IMPROVEMENT: the battery consumption of the beacon detection module

  • IMPROVEMENT: the stability of the beacon detection

  • FEATURE: Some devices know excessive battery consumption when using the BLE scan. The SDK is able to detect them, and to adapt is behavior, scanning only few seconds when the device screen is on, on these devices.

  • FIX: Detect locations that are not in a correct range ([-90, 90] for latitude, [-180, 180] for longitude) and correct them

4.1.3 - (November 29, 2018)

  • FIX: minor bug fix - improved stability

4.1.2 - (November 15, 2018)

  • FIX: minor bug fixes - improved stability

4.1.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.2 - (October 2, 2018)

  • FEATURE: add a geofence detection module

  • CHANGE: All The package starting with com.connecthings.adtag has been renamed com.connecthings.herow

  • CHANGE: The dependency to download the lib in the gradle file is now com.connecthings.herow:herow-detection:4.0.1 - Previously was com.connecthings.adtag:android-adtag-detection:3.0

  • 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 PRE_PROD and PROD are now pointing to the Herow server:

    • PRE_PROD is now linked to my-preprod.herow.io
    • PROD is now linked to my.herow.io
    • To access to the Adtag server, note the you must use the url named PRE_PROD_ADTAG and PROD_ADTAG

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

2.8.6 - (April 26, 2018)

  • FIX: engagement analytics when the activity was already started.

3.0.2 - (March 30, 2018)

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

  • FEATURE: New Analytics to track backend error

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

3.0.1 - (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 BeaconAlertListener you must implement an InAppActionListener.

  • CHANGE: To receive content in foreground instead of an BeaconRange you must implements an InProximityInForeground.

  • CHANGE: To receive content in background you must implement an InProximityInBackground.

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

2.8.2 - (October 26, 2017)

  • FEATURE: add an option to turn on the lock screen when receiving a notification

2.8.1 - (October 18, 2017)

  • FIX: migrate on the last version of the AltBeacon library (2.12.3) to be fully compatible with Android O

2.8 - (Septembre 22, 2017)

  • FEATURE: Manage multi-lines notifications

  • FEATURE: Create a dedicated notification channel for notifications on Android O devices

  • FIX: click on the refuse button of the bluetooth notification does not have any effect

2.7.8 - (July 04, 2017)

  • FIX: scanning parameters where not correctly updated from the Adtag Platform

2.7.7 - (June 01, 2017)

  • FIX: Remove duplicate permissions that can block the APK publication on the play store.

2.7.6 - (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:
      • AsyncBeaconNotificationListener
      • AsyncWelcomeBeaconNotificationListener
      • AsyncBeaconAlertListener
    • The old listeners are deprecated but can still be used.

2.5.6 - (January 19, 2017)

  • FEATURE: Automatic Notifications

    • The SDK now comes with the ** BeaconNotificationListener** and ** BeaconWelcomeNotificationListener** 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: All logs are now automatically generated but make sure you respect the specifications when you configure your intent.

  • IMPROVEMENT: improved background scanning frequency for quicker reception of the notifications.

  • CHANGE: all SDK dependencies must be replaced with com.connecthings (previously android.connecthings)

  • CHANGE: the didRangeBeaconsInRegion method from the BeaconRange listener has been renamed to didRangeBeacons, and the Region argument has been removed

2.4.6 - (October 17, 2016)

  • FIX : correct a bug on the scanning beacon process on Android 7.0 devices.

2.4.2 - (August 23, 2016)

  • FEATURE: restart of the beacon service when the application is killed or the phone is rebooted

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

  • 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.
  • FEATURE: addition of the background Beacon Scanning Manager to have control over the beacon scanning period by the SDK

  • FEATURE: addition of the background bluetooth activation management feature to choose the behavior of your application if bluetooth is disabled

  • FEATURE: to avoid any conflict with any other AltBeacon library, creation of our own fork on Github using a different package name (com.connecthings.altbeacon vs org.altbeacon).

  • IMPROVEMENT: notification strategies have two new methods to save associated data

    • load(DataHolder): to restore the data of a Notification Strategy
    • save(DataHolder): to save the data of a Notification Strategy
  • CHANGE: all dependencies to the org.altbeacon library must be replaced with com.connecthings.altbeacon

  • CHANGE: all Notification Strategies have migrated from android.connecthings.util.adtag.beacon.strategy package to android.connecthings.util.adtag.beacon.strategy.Notification package

  • CHANGE: the AdtagBeaconManager.start(context) is not available anymore. It is now automatic.

2.3.10 - (April 5, 2016)

  • FIX: the multimedia url building process

2.3.9 - (March 23, 2016)

  • FEATURE: Add the Adtag Demo Platform to the list of available Platform.
  • FIX: Correct a bug when no BeaconNotification was registered to the AdtagBeaconManager

2.3.7 - (February 29, 2016)

  • FEATURE: Update the webservice url
  • FIX: correct a bug when the url returns an error

2.3.5 - (February 12, 2016)

Notification

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.1 - (December 11, 2015)

Android 6 permission system

  • The SDK permits to log the permissions accepted/refused by a user
  • Update cBeacon and QRNfcDemo sample to give an integration example of the new permission system:
    • cBeacon, integrating the beacon SDK, needs ACCESS_COARSE_LOCATION
    • QRNfcDemo, integrating the QR CODE and NFC SDK, needs PERMISSION_REQUEST_CAMERA

Analytics

  • Tracking of the beacons around a user
  • Rewrite the user tracking based on the User Google Accounts using instead the Google Advertiser Id
  • Log the new Location Permission approval

Model update

  • AdtagContent, BeaconContent has moved from package android.connecthings.adtag.model to android.connecthings.adtag.model.sdk
  • enum PROXIMITY into BeaconContent has been renamed BEACON_PROXIMITY and has moved to package android.connecthings.utils