Skip to main content

advenue_sdk 1.4.1 copy "advenue_sdk: ^1.4.1" to clipboard
advenue_sdk: ^1.4.1 copied to clipboard

Advenue MMP SDK for Flutter — attribution, install tracking, deep links, and consent, over the native iOS and Android SDKs.

1.4.1 #

Re-vendors Android SDK 1.3.1 (iOS SDK 1.4.0 unchanged):

  • Android installs now carry the Play Integrity token, so they verify instead of counting as unattested. Apps on soft/enforce attestation mode start receiving real verdicts: check that their Google credential and Play package name are configured.
  • A slow App Set ID read can no longer cost the install its GAID.

1.4.0 #

Re-vendors iOS SDK 1.4.0 and Android SDK 1.3.0:

  • environment: AdvenueEnvironment.sandbox sends test traffic to the sandbox store (dashboard sandbox view, 14-day retention, 10,000 events per app per UTC day), never to reports, postbacks, Meta CAPI or billing. Needs a server that advertises the sandbox capability on /health; against an older server the SDK keeps sandbox events on the device and logs why.
  • Advenue.resetInstall(): Future<String?> (sandbox only) makes this device a new install without reinstalling the app: new device id, new install event; consent and the customer user id stay. Returns the new device id. In production it logs Advenue: resetInstall() works only in sandbox. and returns null. forgetMe() during a reset wins (the erasure covers the device id, installation id, consent and user id); consent and the user id set while it runs are kept, and a deep link that arrives meanwhile goes to the new install.
  • iOS: resolveDeferredDeepLink() always returned null without asking the server (iOS SDK defect); it now polls the conversion lookup.
  • forgetMe() now also stops the SDK until the next initialize (an erased SDK already recorded nothing). The erasure is complete when it returns; consent or a user id set afterwards is still saved for the next start.

1.3.0 - 2026-10-12 #

Re-vendors iOS SDK 1.3.0 and Android SDK 1.2.0:

  • iOS: the ATT status (authorized / denied / restricted / not_determined) now rides every event as attStatus, seeded at initialize and refreshed with the IDFA on flush and foreground.
  • Disk space is no longer collected on either platform: totalStorageGb / freeStorageGb are gone from the install's device info. The iOS SDK no longer calls Apple's required-reason disk-space API, so the DiskSpace required-reason declaration (which earlier privacy manifests were missing) is no longer needed.
  • Android: the all-zero GAID Google returns after an ad-personalization opt-out is dropped, and the event carries limitAdTracking=true instead.

1.2.1 #

Re-vendor the next iOS SDK: the per-flush identity refresh no longer blocks on the main thread, and the ATT wait ends on the wall clock. The ATT wait docs now say it only helps a prompt shown soon after launch.

1.2.0 #

Re-vendors iOS SDK 1.2.0 (Android SDK 1.1.1 unchanged):

  • New attConsentWaitingInterval config (seconds, iOS only): waits for the ATT answer before the install is sent. Set it when the app prompts after onboarding; only enable it if the app actually prompts.
  • The native SDK re-reads the advertising identity after the ATT prompt and on every flush/foreground, so a granted permission reaches later events.

1.1.1 #

Re-vendors iOS SDK 1.1.1 and Android SDK 1.1.1:

  • iOS: the device and advertising-identity collectors read UIScreen, UIDevice and UIApplication on the main thread (they are main-actor isolated under Swift 6) instead of from background tasks.
  • Android: stamps sdkVersion 1.1.1 (license metadata only, no behavior change).

1.1.0 #

Re-vendors iOS SDK 1.1.0 and Android SDK 1.1.0:

  • Deferred deep links work with a project API key. The native conversion lookup sends ?platform=ios / ?platform=android on /sdk/conversion-data, so the server picks the listing the install was filed under. Before, a project key got 403 scope_unsupported and onDeepLink never fired after a link install.
  • The install is stamped at first launch and sent ahead of the launch's session_start and custom events.
  • A relaunch after the OS killed the app no longer splits the session or counts the dead time as active time.
  • Each upload carries a per-attempt sentAt, so the server can correct device clock skew.
  • Setup conditions (a locked Keychain or device, an unavailable cache) reach onError as what they are, not as IngestError(status: 0); a dead network is logged as a network error, not as HTTP 408.
  • Building inside the monorepo fails when the vendored natives are stale, instead of compiling an old SDK silently.

1.0.0 #

The public API is stable, so the package leaves 0.x (semver: 0.x means anything may change at any time).

  • Native session fixes (re-vendored iOS and Android SDKs): a cold start on Android opens one session instead of two; a process woken into the background (push, WorkManager, background fetch) opens no session on either platform until the user actually opens the app.
  • AdvenueConfig.debug: the native SDKs log their start, every swallowed failure and each sent batch to Xcode's console / logcat, and every failure is also printed to the Dart console. Off by default.
  • AdvenueConfig.allowInsecureHttp (test only): allows an http:// endpoint, which the native SDKs otherwise refuse.
  • Native versions: iOS SDK 1.0.0, Android SDK 1.0.0.

0.1.0 #

  • First release. Bridges to the native Advenue iOS and Android SDKs.
0
likes
160
points
828
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Advenue MMP SDK for Flutter — attribution, install tracking, deep links, and consent, over the native iOS and Android SDKs.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on advenue_sdk

Packages that implement advenue_sdk