hackle 3.0.0
hackle: ^3.0.0 copied to clipboard
Flutter SDK for Hackle. Supports A/B Testing, Feature Flags, Remote Configs, and Analytics.
3.0.0 #
BREAKING CHANGES #
- Updated hackle_android v3.0.0 (Hackle Android SDK v4.1.0)
- Updated hackle_ios v3.0.0 (Hackle iOS SDK v4.1.0)
- Updated hackle_platform_interface v2.0.0
- Raised the minimum Android SDK version from 21 to 24
- Removed the deprecated
userparameter from the following APIs. CallsetUser(user)before evaluating insteadvariation,variationDetailisFeatureOn,featureFlagDetailtrackgetRemoteConfig
// Before
final variation = await HackleApp.variation(42, user: user);
// After
await HackleApp.setUser(user);
final variation = await HackleApp.variation(42);
NEW ADDED #
- Added
evaluationModeoption toHackleConfig
final config = HackleConfigBuilder()
.evaluationMode(EvaluationMode.remote)
.build();
- Added WebView message channel support (opt-in)
- The bridge script now exposes
postMessage.HackleApp.getWebBridgeScript(messageChannel: true)makesgetSupportedInvocationTypesdeclare["prompt","message"]; by default it keeps declaring["prompt"]only, so existing integrations are unaffected - Added
HackleApp.handleWebViewMessage(String? jsMessage)for commands that must be processed asynchronously - Added
HackleApp.webViewMessageHandler, a ready-madeaddJavaScriptHandlercallback, andHackleApp.webViewMessageHandlerName(hackle) - When the message channel is enabled, the
hackleJavaScript handler must be registered on the WebView. Without it, commands sent through the message channel will not be handled
- The bridge script now exposes
onWebViewCreated: (controller) {
controller.addJavaScriptHandler(
handlerName: HackleApp.webViewMessageHandlerName,
callback: HackleApp.webViewMessageHandler,
);
},
CHANGED #
- User mutation APIs (
setUser,setUserId,setDeviceId,setUserProperty,updateUserProperties,resetUser,setPhoneNumber,unsetPhoneNumber) now complete after the user context is synchronized. Previously the returnedFuturecompleted before synchronization finished - Deprecated
setUserProperty. UseupdateUserProperties(operations)instead - Deprecated
hackleAppModeoption inHackleConfig
2.31.0 #
2.30.0 #
2.29.0 #
NEW ADDED #
- Added opt-out tracking API
- Added
setOptOutTrackingmethod - Added
isOptOutTrackingmethod
- Added
- Added
HackleSessionPolicyoption toHackleConfig- Added
HackleSessionPersistConditionoption - Added
HackleSessionTimeoutConditionoption
- Added
BREAKING CHANGE #
- Updated iOS minimum deployment target to 13.0 and Swift 5.9
CHANGED #
- Deprecated
sessionTimeoutMillisoption inHackleConfigin favor ofsessionPolicy - Updated hackle_ios v2.29.0
- Updated hackle_android v2.29.0
- Updated hackle_platform_interface v1.12.0
2.28.0 #
NEW ADDED #
- Added
HackleConfigoptions- Added
automaticAppLifecycleTrackingoption - Added
enableMonitoringoption
- Added
- Added
HackleWebViewConfigoptions- Added
automaticRouteTrackingoption - Added
automaticEngagementTrackingoption
- Added
- Added
propertiessupport toScreen
CHANGED #
- Updated hackle_ios v2.28.0
- Updated hackle_android v2.28.0
- Updated hackle_platform_interface v1.11.0
2.27.0 #
2.26.0 #
2.25.0 #
2.24.0 #
2.23.0 #
2.22.0 #
2.21.0 #
2.20.0 #
2.19.2 #
CHANGED #
- Updated hackle_ios v2.19.1
- Updated hackle_android v2.18.1
- Updated hackle_platform_interface v1.5.2
2.18.1 #
FIXED #
- Fixed a bug where events with non-double values were not sent in the WebView bridge environment.
2.18.0 #
2.16.0 #
2.15.0 #
2.14.0 #
2.13.0 #
NEW ADDED #
- Added
HackleConfigoption- Added
HackleAppModeoption
- Added
- Added
getSessionidmethod. This method can be used to get the current session id - Added WebView Support
- Added event-condition targeting support
CHANGED #
- Updated hackle_platform_interface v1.3.0
- Updated hackle_android v2.13.0
- Updated hackle_ios v2.13.0
2.12.3 #
2.12.1 #
FIXED #
- Fixed NOT_MATCH operation return false even though the user was not included in any cohort
- Updated hackle_android v2.12.1
- Updated hackle_ios v2.12.1
2.9.0 #
NEW ADDED #
- Added
HackleConfigoptions- Added
sdkUrloption - Added
eventUrloption - Added
monitoringUrloption - Added
sessionTimeoutMillisoption - Added
eventFlushIntervalMillisoption - Added
eventFlushThresholdoption
- Added
2.8.0 #
- New added
Push Messagefunctionality - New added
HackleApp.fetch()method. This method can be used to manually synchronize workspace configuration - Supports
A/B testinginIn App Message
2.4.1 #
- Fix iOS Property Operations bug
2.4.0 #
- Property Operations
2.3.0 #
- RC + AB
- Add pollingIntervalMillis option at HackleConfig
2.2.0 #
- Support array properties
2.1.3 #
- Remove lambda on Android native codes
2.1.2 #
- Fix PlatformInterface error
2.1.1 #
- chore: wrapper version bump
2.1.0 #
- Add user setting APIs
- setUser
- setUserId
- setDeviceId
- setUserProperty
- resetUser
2.0.1 #
- chore: wrapper version bump
2.0.0 #
- Rename User class to HackleUser
- Rename Event class to HackleEvent
- Change HackleUserBuilder spec
- could use builder without id value
- if id/deviceId is null, it's set to deviceId in native languages
1.0.1 #
- Add SDK Wrapper info
1.0.0 #
- A/B Test, Feature Flag, Remote Config, Track