colada_sdk 0.2.1
colada_sdk: ^0.2.1 copied to clipboard
Mobile attribution & marketing performance for Flutter apps: track ad campaigns, social media ads, ROAS and conversions across every channel in one place.
Changelog #
0.2.1 #
- More reliable deep link attribution on iOS. Re-engagement links now attribute correctly on iOS, matching Android — so campaigns that bring existing users back into your app are measured accurately on both platforms.
- Clearer documentation. Every event and method now includes a short description and a usage example.
0.2.0 #
Synced with the native cores' latest public API, and pins both natives at 0.2.0. Breaking changes are marked — migrate before upgrading.
- BREAKING —
ColadaDeferredDeepLinkis extras-only. The typedstoreId,menuItemIdandisCoffeeSubscriptionproperties were removed; the destination is now a singleMap<String, String> extras. Colada's own fields appear under the keysstoreId/menuItemId/isCoffeeSubscription(the last as'true'/'false'), alongside any tenant-specific fields. Migratelink.storeId→link.extras['storeId'], etc.hasDestinationis now "any extras key other thanisCoffeeSubscription". Both platforms populate the map identically. - BREAKING —
Purchase/Subscriberequired fields.Purchaserequiresamount+currency+orderId,Subscriberequiresamount+currency, all non-nullable. The implicit'SAR'currency default is gone — pass the currency explicitly. (These were already enforced in Dart; called out here for the record and because the native cores now reject a missing field.) clearUser()now maps to the native SDKs' explicitclearUser()on both platforms (previouslysetExternalUserId(nil)on iOS), so the outgoing user's queued events are flushed before the identity is cleared on iOS too.- Tracking before
setUseris no longer an error on iOS. Both platforms now buffer-and-hold the event and release it on the nextsetUser/clearUser.ColadaMissingUserExceptionis retained for compatibility but is no longer raised for this case. Colada.logsis now rich on iOS too. The plugin registers a nativelogSinkon both platforms (the iOS core gained one), so SDK records flow to the stream on iOS as well as Android. Verbosity followsColadaConfig.debug.- Native cores pinned to 0.2.0. Picks up the latest native attribution improvements. No Dart API or behavior change on the Flutter side.
0.1.1 #
First release. A single Flutter package bridging the native Colada Android and iOS SDKs behind one async, type-safe Dart API.
- Lifecycle:
Colada.initialize,isInitialized,deviceId, with client-side tenant-key validation. - Identity:
setUser/clearUser. - Events: nine typed lifecycle events plus
RawEvent(Android), as sealed classes with compile-time required fields;trackandflush. - Attribution:
attributionStream(broadcast, replays the latest value),attribution, andconsumeDeferredDeepLink. - Deep links: automatic forwarding on both platforms — cold start, warm
start, custom scheme, and Universal / App Links — with an opt-out
(
automaticDeepLinkForwarding: false) and a manualhandleDeepLink. - Diagnostics:
Colada.logs, and a typedColadaExceptionhierarchy so no raw platform exception ever reaches the app. - Configuration:
strictMode,debug, andexistingDeviceId. - Documented platform differences in
doc/PLATFORM_DIFFERENCES.md.