Skip to content

Releases: sailthru/sailthru-mobile-android-sdk

Sailthru Mobile Android SDK 6.0.0

17 Sep 02:22
Compare
Choose a tag to compare

Features

FCM Integration

The Sailthru Mobile Android SDK now works with the Firebase Messaging library! There are several steps that need to be followed to ensure push functionality will still work as expected with this upgrade, which is why we have created a handy upgrade guide here:

https://docs.carnival.io/docs/android-updating-to-version-6

Note: that some of the stages must be completed for push notifications to work in your application. Failure to follow some of the steps can lead to pushes not working correctly, or even crashes in your application. Following the guide carefully during the upgrade process is highly recommended.

Bug Fixes

  • Dependencies in the SDK have undergone a cleanup and now the Firebase Messaging library is the only dependency exposed to the app. It should no longer be necessary to exclude dependencies in the SDK in Gradle.

Sailthru Mobile Android SDK 6.0.0-SNAPSHOT

23 Aug 02:37
Compare
Choose a tag to compare

Feature: FCM Integration

This release is a beta test of the new FCM integration. As the SDK is now integrated with the FCM library, there are some important steps that have to be taken to ensure that the push functionality will still work correctly. Documentation to assist with this process can be found here:

https://docs.carnival.io/v1.3/docs/android-updating-to-version-6

Sailthru Mobile Android SDK 5.7.2-SNAPSHOT

19 Jul 00:52
Compare
Choose a tag to compare

Introduces an experimental fix for stale device data.

To use this you will need to change your respository to snapshots

repositories {
    maven {
        url "https://github.com/carnivalmobile/maven-repository/raw/snapshots/"
    }
}

Sailthru Mobile Android SDK 5.7.1

19 Jun 02:30
Compare
Choose a tag to compare

Bugfixes

  • This release fixes an issue with Notification Titles where notifications consisting of only a title (ie having no alert) would not correctly display. This issue has now been fixed, and now notifications can have any mix of alert, title, both, or neither!

Sailthru Mobile Android SDK 5.7.0

18 Jun 04:40
Compare
Choose a tag to compare

First Things First

We've rebranded to be called Sailthru Mobile! Don't worry, nothing is changing - we'll just refer to it as the Sailthru Mobile SDK from now on 🙂

Feature: Notification Titles

The Sailthru Mobile SDK will now automatically include titles in the notifications when they're added, and won't include a title when one isn't attached - previously the SDK set the title of the notification as the name of the app implementing it.

Pushes with a title will look like this:
20180618_150821

And those with no title will look like this:
20180618_150727

If you want to keep a static string as your notification title, that's totally fine! Just add a NotificationCompat.Extender that sets the builder's contentTitle:

NotificationConfig config = new NotificationConfig();
// Use Sailthru's default notification extender as our base
config.addNotificationExtender(new CarnivalNotificationExtender());
config.addNotificationExtender(new NotificationCompat.Extender() {
    @Override
    public NotificationCompat.Builder extend(NotificationCompat.Builder builder) {
        builder.setContentTitle("My cool string");
        return builder;
    }
});
Carnival.setNotificationConfig(config);

Deprecations

We've cleaned up the NotificationBundle class and made it a little easier to use:

  • We've deprecated NotificationBundle.build(Bundle), as it's exactly the same as NotificationBundler(Bundle), and a constructor makes more sense than a build method in this case
  • We've deprecated NotificationBundle.getStringFromPayload(String, Bundle), as it doesn't make much sense for a static method to access an instance of the class defining it! You can replace this with NotificationBundle#getMessageIdFromPayload(), NotificationBundle#getImageUrlFromPayload() or the newly-defined NotificationBundle#getVideoUrlFromPayload()

Carnival Android SDK 5.6.0

16 May 02:40
Compare
Choose a tag to compare

Feature

Mobile Track and Personalize

Carnival SDK 5.6.0 brings new features to let you better personalize your content on mobile and on the web. You can use the Carnival.getRecommendations() method to get an array of personalized content from Sailthru's SPM service, provided you have Sailthru integrated.

To recommend your users the right content, you can track the content they interact with by calling the Carnival.trackPageview(), Carnival.trackImpression() and Carnival.trackClick() methods. More information on integrating SPM can be found in our docs, and more in-depth mobile integration advice can be found in the Carnival Developer Documentation

v5.5.0

30 Apr 01:02
Compare
Choose a tag to compare

This release brings changes to the way of customising notifications to be able to have a better support to our tracking system. Using the new methods you are able to customize Deep link notifications (_u) and to have a better control over the notification without the need of implementing the whole notification by yourself.

Deprecate CarnivalMessageListener

You can find more about it on our docs about handling notifications

There's an example of how to migrate a implementation of rich push notifications

Before

  • CarnivalMessageListener.onMessageReceived was responsible to prepare the notification and customize it, and to create the intent to be executed when notification is clicked, and it could be used to listen for events and for silencing notifications as well

After

  • NotificationTapped intent is defined by default, you can override it but is encouraged to not do it
  • You can add a NotificationCompat.Extender to customise the look of a notification
    • If you want to keep the default look from carnival, and your own extension user can call NotificationConfig.addNotificationExtender(new CarnivalNotificationExtender())
  • You can set CarnivalContentIntentBuilder to build an intent to be excuted when notification is tapped. If return null, the default behaviour is maintained
    • NotificationConfig.setContentIntentBuilder(new ContentIntentBuilder())
  • You can set NotificationSilencer to avoid a notification to be presented to the user
    • NotificationConfig.setSilencer(new NotificationSilencer())
  • You still able to listen for events using NotificationTappedListener and NotificationReceivedListener
    • Carnival.addNotificationTappedListener(new NotificationTappedListener())
    • Carnival.addNotificationReceivedListener(new NotificationReceivedListener())

v5.4.0-SNAPSHOT

26 Mar 22:06
Compare
Choose a tag to compare
v5.4.0-SNAPSHOT Pre-release
Pre-release

Introduces experimental features that allow integrating Track and Personalize features from Sailthru SPM (Site Personalisation Manager).

These methods are being validated and they are likely to change. Please, reach out to your CSM or [email protected] for more details.

To be used, you should change the repository to snapshots

repositories {
    maven {
        url "https://github.com/carnivalmobile/maven-repository/raw/snapshots/"
    }
}

v5.3.0

06 Apr 01:49
Compare
Choose a tag to compare

Recently, we've identified some issues attributing direct opens to Push Notifications and deep-link Notifications (ones using the _u key). This release fixes them by using a single intent, to be executed when the Notification is tapped.

Before this release, the intents being executed (Content Intents) were created before the notification was presented to the user, and executed when the user tapped the notification. With this new approach, the final intent is built and executed after the user taps on the notification.

Rich Pushes, and other custom notification implementations using CarnivalMessageListener, will remain untracked. We're looking at making changes to this workflow in the future.

v5.2.2

24 Jan 02:01
Compare
Choose a tag to compare

We have identified and fixed a potential problem with our usage of the Android message intent that, under rare circumstances, can lead to incorrect message handling for apps namespaced under a single vendor.