Android - Upgrading from version 2.x to 3.x

In many cases just updating the library version from 2.x to 3.x is enough to upgrade your plugin. There are a few small breaking changes. Those are listed below.

Removed Geotrigger Handler and Notification Filter Services

Starting from Plot Projects Android SDK 2.4.0 we deprecated the following classes, due to the deprecation for background services in Android Oreo. In 3.x the deprecated classes are removed completely. We provide as replacement classes based on BroadcastReceivers.

  • NotificationFilterReceiver (replaced by NotificationFilterBroadcastReceiver)
  • GeotriggerHandlerReceiver (replaced by GeotriggerHandlerBroadcastReceiver)

For more information, see the migration guide for 2.4.

Removed deprecated configuration features

Support for setting the cooldown inside the plugin is removed. You can set the app-wide cooldown in the dashboard. Therefore the following methods are removed:

  • PlotConfiguration.getCooldownPeriod()
  • PlotConfiguration.setCooldownPeriod()

The method PlotConfiguration.getPublicKey() was deprecated in 2.x and is now completely removed. In 2.x it was an alias for PlotConfiguration.getPublicToken().

Split campaignId and regionId into separate fields

The constructors of the following class changed to be initialized with a campaignId and a regionId, instead of a combined notificationId. The method getId() is still available and supported.

  • FilterableNotification
  • Geotrigger

Other removed classes

The following classes were needed to provide QuickSync support via Google Cloud Messaging. This functionality is altered to use Firebase Cloud Messaging.

  • SyncGcmListenerService
  • SyncInstanceIDListenerService

The class MockedLocation was accidentally made public and is therefore removed. It doesn’t provide any functionality.

You can find all versions of the Android Plugin at our download page. The necessary steps to integrate the Plot plugin can be found in the Android integration guide.