dynalink_flutter 0.0.13 copy "dynalink_flutter: ^0.0.13" to clipboard
dynalink_flutter: ^0.0.13 copied to clipboard

Flutter plugin for Dynalink

0.0.13 #

New features #

  • Attribution API — new AttributionResult model and two public methods:
    • getAttributionByFingerprint(fingerprint) — query attribution by device fingerprint
    • getAttributionByCode(code) — query attribution by DynaLink short code
  • Click ID supportDynalinkEvent now carries all major ad-network click IDs captured during the pre-install browser session: gclid, gbraid (Google Ads), fbclid + fbclidCapturedAt (Meta), ttclid (TikTok), twclid (X/Twitter), liFatId (LinkedIn)
  • Persisted click ID gettersgetLastGclid(), getLastGbraid(), getLastFbclid(), getLastTtclid(), getLastTwclid(), getLastLiFatId() read the most recent values from SharedPreferences, available even if the stream listener was not active at attribution time
  • attributedAt timestamp on DynalinkEvent and AttributionResult indicating when the backend confirmed the install match

Improvements #

  • iOS fingerprint flow now calls the attribution API after markAsProcessed to populate click IDs on the emitted event
  • Deep link (Case A) flow now calls the attribution API after fetching link details by code
  • SharedPreferences keys are namespaced with dynalink_ prefix to avoid collision with app keys
  • CreateDynalinkForm and AttributionResult are now exported from the top-level dynalink_flutter.dart

0.0.12 #

  • Updated dependencies

0.0.11 #

  • Try to read link from clipboard on ios

0.0.10 #

  • Handle install referrer only once

0.0.9 #

  • Bug fixes

0.0.8 #

  • Fixed dyna_code parsing

0.0.7 #

  • Bumped rxdrat to 0.28.0

0.0.6 #

  • Bug fixes
  • Introduced is_deeplink field in CreateDynalinkForm to indicate if the link is a deep link or not

0.0.5 #

  • Migrated from StreamController to BehaviorSubject, so that previous emitted link is triggered when the app launches

0.0.4 #

  • Bug fixes

0.0.3 #

Breaking Changes: #

  • Changed the way plugin is initialized, you should now pass credentials when initializing Dynalink:

    await Dynalink.initialize(
        publicKey: credentials['public_key']!,
        projectId: credentials['project_id']!,
    ); 
    
  • Dynalink now uses instance to access methods:

    Dynalink.instance.dynamicLinkStream
    

0.0.2 #

  • updated example

0.0.1 #

  • initial release.