synerise_flutter_sdk 2.6.0
synerise_flutter_sdk: ^2.6.0 copied to clipboard
Flutter plugin for Synerise SDK. Most up-to-date documentation is available at Synerise Help Center.
Changelog #
All notable changes to this project will be documented in this file.
2.6.0 - 2025-10-29 #
Fixed #
- [iOS] Potential issues with registering and updating accounts (also with Simple Authentication) when the
sexproperty was set toClientSex.notSpecified. This caused aBad Requesterror. The problem occurred since version 2.4.0. - [iOS] Issue with the
sexproperty in theClientAccountUpdateContextmodel. It could not be updated. The problem occurred since version 2.4.0. - [iOS] Issue with the
agreementsproperty while registering, authenticating, and updating accounts (also with Simple Authentication). The property could not be updated. The problem occurred since version 2.4.0.
Added #
- The
Synerise.content.generateBrickworks(apiQuery, onSuccess, onError)method. The new method generates a Brickworks record for the parameters provided in the query object.
Changed #
- Update of native SDK's dependencies.
- Improvements to stability.
2.5.0 - 2025-10-15 #
!!! THIS VERSION HAS POTENTIAL ISSUES WITH MANAGING ACCOUNT. USE VERSION 2.6.0 !!!
Added #
- The
Synerise.injector.closeInAppMessage(campaignHash)method to programmaticaly close a currently opened inapp from the application.
2.4.1 - 2025-09-26 #
!!! THIS VERSION HAS POTENTIAL ISSUES WITH MANAGING ACCOUNT. USE VERSION 2.6.0 !!!
Fixed #
- The
SRInApp.trackCustomEventmethod in the JS interface in the in-app messaging module. The method didn't work correctly since version 2.4.0.
Changed #
- Update of native SDK's dependencies.
- Improvements to stability.
2.4.0 - 2025-09-24 #
!!! THIS VERSION HAS POTENTIAL ISSUES WITH MANAGING ACCOUNT. USE VERSION 2.6.0 !!!
Added #
SRInApp.internalMethodmethod to JS interface in the in-app messaging module. This method allows to invoke the native SDK method from predefined methods. You can read more in the documentation about available methods and params you may use.SRInApp.resizemethod to the JS interface in the in-app messaging module, allowing you resize an in-app message. You can read more in the documentation.SRInApp.getDeviceDatamethod to the JS interface in the in-app messaging module. This method allows fetching device info (operating system, if dark mode is enabled, etc.). You can read more in the documentation.- [Android] Support for camera permissions inside in-app message. Please note that before showing the in-app message you have to be sure that application has got camera permission.
Changed #
- Update of native SDK's dependencies.
2.3.3 - 2025-08-31 #
2.3.2 - 2025-07-28 #
2.3.1 - 2025-06-23 #
Fixed #
- [iOS] The issue with vouchers api methods.
- [iOS] Potential issues with URL and deeplink actions when the delegate is set after SDK initialization.
2.3.0 - 2025-06-18 #
Fixed #
- [iOS] InAppMessage deeplink action.
- [iOS] Some potential issues with notification processing in
NotificationServiceExtension.
Changed #
- Properties in
Promotionmodel:currentRedeemedQuantity,currentRedeemLimit,activationCounter,possibleRedeems,requireRedeemedPointsanddiscountValueare nullable now.
Added #
Synerise.settings.sdk.doNotTrackoption to fully disable tracking customer's activity in SDK. When enabled, the SDK stops sending tracking events and replaces the UUID with a random one, preventing profile creation and blocking some functionalities (e.g. authentication).
2.2.0 - 2025-05-13 #
Added #
paramsproperty inDocumentApiQuerymodel to set custom params for fetching Documents.paramsproperty inScreenViewApiQuerymodel to set custom params for fetching Screen Views.
2.1.0 - 2025-04-15 #
Fixed #
- [Android] Empty payload in NotificationInfo after clicking on push.
Added #
- In-app campaigns can now use the safe area of the screen, allowing you to display full-screen in-app messages. This option is called "Safe area" in the "Display type" option group in the campaign creator. If switched on, it allows the in-app message to extend into system UI. If switched off, it avoids system bars, notches, and other UI elements.
2.0.1 - 2025-03-13 #
Fixed #
- [iOS] Issue with authentication (all types): when a customer wanted to authenticate another account, the UUID was not regenerated. The problem occurred in version 2.0.0.
2.0.0 - 2025-03-10 #
IMPORTANT:
- This major version is NOT backwards compatible.
- Update of native SDK's dependencies to 6.0.0 (Android) and 5.0.0 (iOS).
- [iOS] Support for older iOS versions ends. Minimum deployment target is changed to iOS 13.
- [iOS] Bitcode is not supported in SDK version 5.0.0 and higher. Xcode ignores bitcode.
Added #
appVersionparameter forclient.applicationStartedevent. It is the same asversion.versionis deprecated.sdkPreviousVersionparameter forclient.applicationStartedevent. It is the version of the SDK before the current version in the application.
Removed #
InjectorWalkthroughListenerfor handling actions from Walkthrough campaigns.InjectorBannerListenerfor handling actions from Banner campaigns.Synerise.content.getDocument(slugName, onSuccess, onError)method. You should useSynerise.content.generateDocument(slug, onSuccess, onError:)method.Synerise.content.getDocuments(apiQuery, onSuccess, onError)method.Synerise.content.getRecommendations(options, onSuccess, onError)method.Synerise.content.getScreenView(onSuccess, onError)method and correlated models (screen_view_response,screen_view_audience). You should use theSynerise.content.generateScreenView(feedSlug, onSuccess, onError)or theSynerise.content.generateScreenView(apiQuery, onSuccess, onError)method.Synerise.notifications.isSyneriseBanner(payload:)Synerise.injector.getWalkthrough()method.Synerise.injector.showWalkthrough()method.Synerise.injector.isWalkthroughLoaded()method.Synerise.injector.isLoadedWalkthroughUnique()method.- [iOS]
deviceIDparameter fromclient.applicationStartedevent. It was redundant with thedeviceIdparameter.
Changed #
- Synerise initialization builder method
withClientApiKey(clientApiKey)towithApiKey(apiKey). Synerise.changeClientApiKey(clientApiKey, config)toSynerise.changeApiKey(apiKey, config).Synerise.client.activateAccount(email, onSuccess, onError)toSynerise.client.requestAccountActivation(email, onSuccess, onError).Synerise.client.confirmAccount(token:onSuccess:failure:)toSynerise.client.confirmAccountActivation(token, onSuccess, onError).- Property
identifierin theDocumentmodel changed touuid. - Improvements to stability.
1.5.0 - 2025-01-30 #
Fixed #
- [Android] We fixed issue with mapping of the
ClientAccountInformationmodel.
Added #
[Android] We added HMS support. It can be enabled using the new setMessagingServiceType(messagingServiceType) method in SyneriseInitializer. You can pass MessagingServiceType.hms to this method to enable notification processing for HMS payloads.
Changed #
- Nullability of the
tagsproperty in theClientAccountInformationmodel.
1.4.3 - 2024-11-12 #
Fixed #
- [iOS] Potential issues with checking if the app is launched in the background. The SDK set the background mode to true on UIScene and SwiftUI based apps. It could cause the app to freeze.
1.4.2 - 2024-10-15 #
Fixed #
- [iOS] Optimization of the registration for push notifications process. The cache for that request was erroneously removed in version 4.23.0 of the native SDK.
1.4.1 - 2024-10-14 #
1.4.0 - 2024-10-09 #
Fixed #
- [iOS] Some potential issues with possible database corruption.
- [Android] Notification callback issue when app was in foreground.
Added #
Synerise.settings.inAppMessaging.contentBaseUrloption in settings to let you set the base URL to use for all relative URLs in an in-app message's creation.Synerise.client.updateAccountBasicInformation(context, onSuccess, onError)method. The new method updates anonymous users.ClientAccountUpdateBasicInformationContextmodel correlated with the newSynerise.Client.updateAccountBasicInformation(context, onSuccess, onError)method.
Changed #
- Update of native SDK's dependencies.
- Improvements to stability.
1.3.1 - 2024-09-16 #
Fixed #
- [Android] Null pointer exception while launching callback from push notification in some cases.
1.3.0 - 2024-08-05 #
Fixed #
- [iOS] Potential issue with slow SDK initialization.
- [iOS] Potential issues with Simple Authentication requests.
Added #
- We extended a
Synerise.changeClientApiKey(apiKey, config)method and added new parameter (config) that allows adding some initialization parameters. - We added new parameters to the push.click event:
clickSource,actionType,urlandactionButtonTitle.
Changed #
requestValidationSalt(Simple Auth) is cleared whenSynerise.changeClientApiKey(apiKey, config)is invoked without suitable config.- Update of native SDK's dependencies.
- Improvements to stability.
1.2.0 - 2024-07-15 #
Added #
- We added a
testDeliveryandjourneyIdparameters to tracked notification events (push.view,push.click, and so on). It describes if the notification was sent as a test notification from a campaign. - We added a new
Synerise.content.generateDocumentWithApiQuery(apiQuery, onSuccess, onError)method. It is analogous toSynerise.content.generateDocument(slug, onSuccess, onError), but can contain more context parameters provided in a query object. - We added a new
Synerise.content.generateScreenViewWithApiQuery(apiQuery, onSuccess, onError)method. It is analogous toSynerise.content.generateScreenView(feedSlug, onSuccess, onError), but can contain more context parameters provided in a query object. - Anchors from Drag & Drop Builder in the In-App editor are interpreted as URL or as deeplink depending on the value.
Changed #
- We added validation of reserved parameters in events. Now, if a parameter is forbidden, it is removed from the parameters and a log is printed.
- Improvements to stability.
Changed #
- Stability improvements.
1.1.0 - 2024-06-17 #
Fixed #
- [iOS] Some potential issues with retrieving system push consent by the SDK.
Added #
Synerise.settings.tracker.eventsTriggeringFlushoption in settings to let you set the list of event actions which will trigger instant sending of all events in the queue. The default array contains only push event's actions.
Changed #
- All events connected with push campaigns will flush the queue and send events immediately.
- Improvements to push notifications registration.
- Stability improvements.
1.0.2 - 2024-05-06 #
1.0.1 - 2024-04-05 #
1.0.0 - 2024-04-04 #
IMPORTANT: We've introduced significant improvements to our method invocation patterns to enhance error handling and simplify success callbacks. This change requires updates to existing method calls in your applications.
-
API Call Pattern Changes: Previously, asynchronous API calls were structured to use await along with catchError for error handling. Now, we've shifted to a more structured callback approach using onSuccess and onError parameters, providing clearer control over success and error handling.
-
Simplification of Data Retrieval Methods: For methods that retrieve data from native SDKs, such as obtaining a UUID, the pattern has been simplified to use .then for handling successful outcomes. This change promotes cleaner code and more intuitive success handling. Now, the new pattern is more streamlined and focused on the success case.
Added #
- [iOS]
Synerise.settings.sdk.localizableoption in settings to let you localize some strings displayed by the SDK. clientIdproperty in theTokenmodel.
Fixed #
- Improved mechanism for checking capping in in-app messages. The number of views no longer resets when the account's UUID changes.
Changed #
- Stability improvements.
0.8.3 - 2024-03-08 #
Added #
- Global Control Group support for in-app messages. From now on, you can use this feature in in-app messaging communication. This lets you take your marketing efforts to the next level and provides a solid foundation for accurate measurement of campaign effectiveness. Read more at https://hub.synerise.com/docs/settings/configuration/global-control-group/.
Fixed #
- [iOS] Issue with non-scrolling in-app messages.
Changed #
- Stability improvements.
0.8.2 - 2024-02-02 #
Fixed #
- [android] Deeplink action when clicking on push notification will directly open in app instead of prompt between app/browser. We set packageName to intent.
0.8.1 - 2024-01-15 #
Fixed #
- [iOS] In-app message did not hide automatically after invoking
SRInapp.openUrl(url)orSRInapp.openDeeplink(deeplink)the action as it should
0.8.0 - 2024-01-11 #
IMPORTANT: Due to changes in the handling of actions for URLs and deep links in Synerise campaigns, we strongly recommend comparing your configuration with the SDK documentation. Review the changes from the previous SDK version integrated into your application here: https://hub.synerise.com//developers/mobile-sdk/campaigns/action-handling/
Fixed #
- [iOS] Running example by
flutter runcommand.
Added #
- New methods for dealing with encrypted notifications:
Synerise.notifications.decryptNotificationandSynerise.notifications.isNotificationEncrypted.
Changed #
- Changes in handling actions from campaigns (read important note above).
- Update of native SDK's dependencies.
0.7.4 - 2023-12-19 #
0.7.3 - 2023-12-05 #
Fixed #
- [iOS] Potential issues with Simple Authentication requests.
- [iOS] Issue with location of some SDK files in the Documents directory. The old location caused the SDK files to be visible in the shared documents directory if the host application file sharing was enabled.
- [iOS] Potential issue with native notification buttons when Simple Push campaign contained Rich Media (Single Media) or had a custom notification category identifier.
Changed #
- Update of native SDK's dependencies.
0.7.2 - 2023-11-13 #
Added #
setRequestValidationSaltis now optional. Salt is not required for simpleAuthentication, but we recommend using it for improved security (it needs to be enabled in the Synerise portal first).Synerise.settings.inAppMessaging.shouldSendInAppCappingEventoption in settings to enable or disable sendinginApp.cappingevent by the SDK.
Fixed #
- iOS example app project files refinements.
Changed #
- Stability improvements.
0.7.1 - 2023-10-26 #
Added #
- Notifications Methods: Introduced new methods for notification payload verification, including
isSyneriseNotification,isSyneriseSimplePush,isSyneriseBanner,isSilentCommand, andisSilentSDKCommand.
Fixed #
- Addressed issues with inApp listeners handling in the Android platform.
- Improved the handling of the
activateAccountmethod in the Android portion. - Enhanced the architecture of the
eventsclasses in the Dart part. - Corrected the field name in the
IdentityProviderclass.
Changed #
- Stability improvements.
0.7.0 - 2023-08-04 #
Added #
- New authentication mechanism - Simple Authentication. It allows identification of customers without implementing more complicated processes such as RaaS, OAuth, or authenticating by third party services, for example Facebook or Apple. Simple Authentication needs only two methods -
client.simpleAuthenticationto recognize a customer andclient.isSignedInViaSimpleAuthenticationto check if the customer is signed in and uses the Simple Authentication feature. Theclient.signOutmethod and similar methods are a common way to sign out and clear the user context. - Client Methods: Added several client methods, including
pinCodeMethods(request and confirm), conditional authentication and sign-in,changeApiKey,phone/EmailChange,regenerateWithUUID, andsignOutWithMode. - Added the
Applevalue to theidentityProviderenum.
Fixed #
- Implemented minor fixes to improve the handling of channel method results.
Changed #
- Stability improvements.
0.6.3 - 2023-07-13 #
0.6.2 - 2023-06-28 #
Fixed #
- Removed redundant code from the example app.
- Fixed parameter mapping for custom events in the iOS native part.
0.6.1 - 2023-06-28 #
0.6.0 - 2023-06-16 #
Added #
- We added a new
content.generateDocumentmethod. It's analogous to `Content.getDocument``. The old method is deprecated. The new method generates the document that is defined for the provided slug. - We added a new
content.getRecommendationsV2method. It's analogous tocontent.getRecommendations. The old method is deprecated. The new method gets recommendations that are defined for the options provided. - We added a new
content.generateScreenViewmethod. It's analogous tocontent.getScreenView. The old method is deprecated. The new method generates a customer's highest-priority screen view campaign that is defined for the provided slug. - We added models correlating with new methods:
ScreenView,Document. - Introduced predefined
Events. Full list is available in the documentation.
Fixed #
- Clarified the terminology related to the API key.
Removed #
- Deprecated old methods in the
Contentmodule.