axeptio_sdk 2.0.1 copy "axeptio_sdk: ^2.0.1" to clipboard
axeptio_sdk: ^2.0.1 copied to clipboard

Axeptio flutter sdk for presenting cookies consent to the user.

axeptio_sdk #

This repository demonstrates how to implement the Axeptio Flutter SDK in your mobile applications.

This module can be build with brands or publishers given your requirements.

Setup #

Installation #

flutter pub add axeptio_sdk

Android setup #

  • Min sdk 26
  • Add maven github repository and credentials in your app's android/build.gradle
repositories {
    maven {
        url = uri("https://maven.pkg.github.com/axeptio/axeptio-android-sdk")
        credentials {
           username = "[GITHUB_USERNAME]"
           password = "[GITHUB_TOKEN]"
        }
   }
}

iOS #

We support iOS versions >= 15. The sdk do not manage App Tracking Transparency, you can find more information there.

Sample #

You can find a basic usage of the Axeptio SDK in the example folder. Read the specific documentation.

Usage #

Initialize the SDK on app start up: #

final axeptioSdkPlugin = AxeptioSdk();
await axeptioSdkPlugin.initialize(  
   AxeptioService.brands, // or  AxeptioService.publishers
  [your_client_id],  
  [your_cookies_version],  
  [optional_consent_token],
);
await axeptioSdkPlugin.setupUI()

App Tracking Transparency (ATT) #

To manage App Tracking Transparency, you can use the app_tracking_transparency widget.

First, install it

flutter pub add app_tracking_transparency

Add NSUserTrackingUsageDescription to your Info.plist add file

<key>NSUserTrackingUsageDescription</key>
<string>Explain why you need user tracking</string>

You can now manage ATT popup before setup UI

try {
  TrackingStatus status =
      await AppTrackingTransparency.trackingAuthorizationStatus;
  // If the system can show an authorization request dialog
  if (status == TrackingStatus.notDetermined) {
    // Request system's tracking authorization dialog
    status = await AppTrackingTransparency.requestTrackingAuthorization();
  }

  if (status == TrackingStatus.denied) {
    // Call setUserDeniedTracking 
    await _axeptioSdkPlugin.setUserDeniedTracking();
  } else {
    // Run setupUI if accepted
    await _axeptioSdkPlugin.setupUI();
  }
} on PlatformException {
  // Run setupUI on android
  await _axeptioSdkPlugin.setupUI();
}

Additionally, you can request the consent popup to open on demand.

axeptioSdk.showConsentScreen();

Sharing consents with other web views #

This feature is only available for publishers service.

The SDK provides a helper function to append the axeptio_token query param to any URL.
You can precise a custom user token or use the one currently stored in the SDK.

final token = await axeptioSdk.axeptioToken;
final url = await axeptioSdk.appendAxeptioTokenURL(  
  "https://myurl.com",  
  token,  
); 

Will return https://myurl.com?axeptio_token=[token]

axeptioSdk.clearConsent();

Events #

The Axeptio SDK triggers various events to notify you that the user has taken some action.

We provide an AxeptioEventListener class that can be use to catch events. Don't forget to add this listener to AxeptioSdk, as below.

var listener = AxeptioEventListener();
listener.onPopupClosedEvent = () {
  // The CMP notice is being hidden
  // Do something
};
listener.onConsentChanged = () {
  // The consent of the user changed
  // Do something
};
listener.onGoogleConsentModeUpdate = (consents) {
  // The Google Consent V2 status
  // Do something
};

// Add and remove listener as with the available methods
var axeptioSdk = AxeptioSdk()
axeptioSdkPlugin.addEventListerner(listener);
axeptioSdkPlugin.removeEventListener(listener);
2
likes
0
points
605
downloads

Publisher

verified publisheraxept.io

Weekly Downloads

Axeptio flutter sdk for presenting cookies consent to the user.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on axeptio_sdk

Packages that implement axeptio_sdk