ketch_flutter 1.0.0
ketch_flutter: ^1.0.0 copied to clipboard
Flutter wrapper around a WebView to load the Ketch Mobile SDK.
1.0.0 #
Changed (breaking)
getConsent()is now the server consent read and takes aConsentConfig, matching the iOS and Android SDKs. The previous no-argumentgetConsent(), which read locally cached consent, is nowgetCachedConsent(). Existing no-argument calls will fail to compile; change them togetCachedConsent().
Deprecated
-
fetchConsent— usegetConsent. -
setConsentOnServer— usesetConsent. -
preferenceQRUrl— usegetPreferenceQRUrl.The same three renames apply to
HeadlessApiClient. Deprecated names still work and delegate to the new ones.
0.3.0 #
Added
- Mobile advertising identifier resolution over the
nativeResolvebridge:ketch_idfvresolves to IDFV on iOS (viadevice_info_plus), andketch_aaidresolves to AAID on Android through a new native module. Both are in-memory and process-lifetime only - never persisted, so an OS-level reset is honored on next launch - and are excluded fromgetIdentities()/clearIdentities(), which only ever touch Ketch-managed identities.
Other
ketch_flutternow carries a small native Android module (AdIdentifiersPlugin,AaidReader) to read AAID. The Play Services ad-identifier dependency it needs is declaredcompileOnly, so it is invisible to consumers who don't add it themselves - noAD_IDpermission or Play Data Safety impact on apps that don't opt in. See the README's "Enabling AAID" section for the two steps required to opt in.
0.2.0 #
Added
- Headless API. Consent, rights, subscriptions and configuration can now be read and written
without mounting a
KetchView, viaHeadlessApiClientand newKetchControllermethods:getRegion,getJurisdiction,getBootstrapConfiguration,getFullConfiguration,fetchConsent,setConsentOnServer,invokeRight,getSubscriptions,setSubscriptionsandpreferenceQRUrl. KetchController.trigger(), for invoking a ketch-tag function by name.- Region and jurisdiction are now dispatched from the tag, through the existing
onRegionUpdatedandonJurisdictionUpdatedcallbacks. onWillShowExperiencecallback.- Typed accessors for the stored privacy strings:
getTCFTCString,getUSPrivacyString,getGPPHDRGppString, andgetSavedStringfor arbitrary keys. KetchController.dispose(), which releases the headless HTTP client. Hosts own the controller and should call it.- Ketch-managed identity resolution over the native bridge:
ketch-tagcan now ask the SDK to resolve a stored identity value instead of minting one in JS.KetchControllergainssetIdentities,getIdentities, andclearIdentities- identity/managed-key membership is derived from storage (theswb_prefix) rather than a session cache, sogetIdentitiesandclearIdentitiesboth work correctly on a cold launch, before any resolve has happened. - Headless API calls (
fetchConsent,setConsentOnServer,invokeRight,getSubscriptions,setSubscriptions) now auto-fillidentitiesfromgetIdentities()when the caller leaves it unset, instead of requiring every call site to fetch and thread it through by hand.identitiesis optional onConsentConfig,ConsentUpdate,InvokeRightRequest, andSubscriptionsRequest(non-breaking - existing callers passing it explicitly are unaffected).
Breaking
Consent.purposesis nowMap<String, bool>. Values are parsed on the way in, so callers no longer need to coerce them.SubscriptionsRequest.topicsand.controlsare typed, using the newSubscriptionStatusandControlImpactenums. The previous types could not express a payload the API accepts.SubscriptionsResponseis its own class rather than a typedef forSubscriptionsRequest.SubscriptionsRequest.fromJsonis removed; useSubscriptionsResponse.fromJson.
Other
- Declare supported platforms, restoring the Android listing on pub.flutter-io.cn.
- Remove
KetchController.markReady()and the_readycompleter it set — dead code, no callers. - Mark bridge-internal methods (
updateLastConsent,updateLastProtocols,onConfigLoaded,setExperienceVisible,resetBridgeState) andHeadlessApiClient.getLocationas@internal. - Fix
PrivacyProtocol's wire values, which previously emitted React Native's enum member names ('USPrivacy','TCF','GPP') instead of its actual values ('usPrivacy','tcf','gpp'). - Remove two unreachable bridge switch cases,
_logConsentand_logProtocols.
0.1.0 #
- Add
app_tracking_transparencydependency.
0.0.1 / 0.0.2 #
No changelog was kept for these releases.