Last modified June 17, 2021 by Shelly Wolfe

Geo SDK upgrade guide

This guide provides information about how to upgrade to the latest Swrve Geo SDK add-on. For information about the changes that have been made in each release, see Swrve Geo release notes.

Request a copy of the latest Swrve Geo project for your platform from your CSM at support@swrve.com.


Android version 7.0.0

Swrve Android SDK 9.0.0 is the minimum supported version for Android SwrveGeoSDK 7.0.0, however we recommend always updating to the latest version of the Swrve SDK.

To upgrade to v7.0.0 for Android:

Update your build.gradle file to use SwrveGeoSDK 7.0.0. For example:

api 'com.swrve.sdk.android:swrve-geo:7.0.0'

iOS version 5.0.1

Swrve iOS SDK 7.0.3 is the minimum supported version for iOS SwrveGeoSDK 5.0.1, however we recommend always updating to the latest version of the Swrve SDK.

To upgrade to v5.0.1 for iOS:

Update your Podfile to use the latest SwrveSDK 7.0.3 and SwrveGeoSDK 5.0.1.


iOS version 5.0.0

Swrve iOS SDK 7.0.2 is the minimum supported version for iOS SwrveGeoSDK 5.0.0, however we recommend always updating to the latest version of the Swrve SDK.

To upgrade to v5.0.0 for iOS:

Update your Podfile to use the latest SwrveSDK 7.0.2 and SwrveGeoSDK 5.0.0.


Android version 6.0.0

Swrve Android SDK 7.3.2 is the minimum supported version for Android SwrveGeoSDK 6.0.0, however we recommend always updating to the latest version of the Swrve SDK.

To upgrade to v6.0.0 for Android:

  • Update your build.gradle file to use SwrveGeoSDK 6.0.0. For example:
    api 'com.swrve.sdk.android:swrve-geo:6.0.0'
  • Add mavenCentral() to your root build.gradle file allprojects/repositories section:
    repositories {
        mavenCentral()
    }
  • Replace uses of SwrveGeoCustomFilter with SwrveGeoNotificationFilter.
  • Remove any reference to maxDisplayWindowMinutes configuration.

Android version 5.1.0

There are no code changes required to upgrade to v5.1.0.


iOS version 4.1.0

Swrve iOS SDK 6.5.3 is the minimum supported version for iOS SwrveGeoSDK 4.1.0, however we recommend always updating your Podfile to the latest version of the Swrve SDK.

If you’re upgrading from a version prior to 3.0.0, see below. Otherwise, there are no code changes required to upgrade to v4.1.0.


Android version 5.0.0

To upgrade to v5.0.0 for Android:

  • Update your build.gradle file to use SwrveGeoSDK 5.0.0. For example:
    api 'com.swrve.sdk.android:swrve-geo:5.0.0'
  • We removed the SwrveGeoConfig.delayStart API. At an opportune time, start the SDK by calling the SwrveGeoSDK.start API. The OS will then request location permission.
  • SwrveGeoSDK.start(Activity activity) replaces the SwrveGeoSDK.start(Context context) API and requests the necessary location permissions, if required.
  • If you’re using the new method for managing location permission, remove any existing permission handling code. For more information, see the Geo integration guide.

If you’re upgrading from a pre-4.0.0 version, also see instructions below.


iOS version 4.0.0

To upgrade to v4.0.0 for iOS:

Update your Podfile to use the latest SwrveSDK 6.5.3 and SwrveGeoSDK 4.0.0.

We removed the SwrveGeoSDK.delayStart API. At an opportune time, start the SDK by calling the [SwrveGeoSDK start] API. The OS will then request location permission.

If you’re upgrading from a pre-3.0.0 version, also see instructions below.


iOS version 3.0.1

If you’re upgrading from a version prior to 3.0.0, see below. Otherwise, there are no code changes required to upgrade to v3.0.1.


Android version 4.0.0

Upgrading from Swrve Geo SDK 2.X-3.0

Complete the following steps:

  1. Remove the following declaration from your root build.gradle if it was only used for Swrve Geo integration:
    maven { url 'https://jitpack.io' }
  2. Remove the following declarations from your app build.gradle:
    api 'com.swrve.sdk.android:swrve-geo-bluedot:X.X.X'
    api 'com.github.Bluedot-Innovation:PointSDK-Android:X.X.X'
    
  3. The swrve-geo-bluedot artifact has been renamed to swrve-geo. Add the following declaration to your app’s build.gradle:
    api 'com.swrve.sdk.android:swrve-geo:4.0.0'
  4. The Swrve Geo SDK has a hard dependance on the native SDK version 7.0. Update your build.gradle to use at least Swrve SDK 7.0. For example:
    api 'com.swrve.sdk.android:swrve-firebase:7.0.0'
  5. The SwrveGeoSDK.init method signature has changed with the removal of the String apiKey parameter.
  6. The SwrveGeoConfig has changed to a builder pattern; see the basic example below.
    SwrveGeoConfig geoConfig = new SwrveGeoConfig.Builder()
                    .delayStart(true)
                    .foregroundNotification(notification, NOTIFICATION_ID)
                    .build();
    
  7. The following configurations have been removed from the SwrveGeoConfig with no replacement.
    setApplicationNotificationListener(ApplicationNotificationListener applicationNotificationListener)
    setServiceStatusListener(ServiceStatusListener serviceStatusListener)
    setRestartMode(boolean restartMode)
    setTargetAllApisWithForegroundNotification(boolean targetAllApisWithForegroundNotification)
  8. If you’ve configured a foreground notification, it will only display on Android Oreo and above.
  9. The method signature of SwrveGeoSDK.isStarted() has been changed with the addition of a Context parameter.

Migrating from deprecated Locations SDK

Complete the following steps:

  1. Remove the following declaration from your root build.gradle:
    maven { url 'https://maven-repo.plotprojects.com' }
  2. Remove the following declarations from your app build.gradle:
    api name: 'swrve-location-X.X.X', ext: 'aar'
    api 'com.plotprojects:plot-android:X.X.X'
    
  3. Remove the plotconfig.json file.
  4. Remove any references to SwrvePlot classes.
  5. Follow the integration guide for installing the latest Swrve Geo SDK. For more information, see the Swrve Geo SDK integration guide.

iOS version 3.0.0

Upgrading from Geo SDK version 2.X

Complete the following steps:

  1. Remove the following declaration from your Podfile:
    pod 'BluedotPointSDK'
  2. The [SwrveGeoSDK init] method signature has been changed with the removal of the String apiKey parameter.
  3. The following properties have been removed from the SwrveGeoConfig with no replacement.
    @property(nonatomic) id  sessionDelegate;
    @property(nonatomic) id  locationDelegate;
    
  4. Remove BDPointLocalNotificationEnabled from your Info.plist.

Migrating from deprecated Locations SDK

Complete the following steps:

  1. Remove the following declaration from your Podfile:
    pod 'PlotPlugin'
  2. Remove the plotconfig.json file.
  3. Remove any references to SwrvePlot classes.
  4. Follow the integration guide for installing the latest Swrve Geo SDK. For more information, see the Swrve Geo SDK integration guide.

Previous versions

If you’re upgrading from a version older than Android 4.0.0 or iOS 3.0.0, see above and refer to the Swrve Geo integration guide.