Reference
This section is a comprehensive reference of the methods and events exposed by the Flutter SDK that you can leverage in your application.
These methods are accessible in the DidomiSdk class. Also make sure to always call the SDK after it is fully initialized (see onReady).

addEventListener

Add an event listener to catch events triggered by the SDK. Events listeners allow you to react to different events of interest. This function is safe to call before the ready event has been triggered.
Requires SDK to be initialized
No.
Parameters
Name
Type
Description
eventListener
EventListener
The event listener. An instance ofEventListener
Returns
Nothing
Example
Dart
EventListener didomiListener = EventListener();
didomiListener.onReady = () {
// The SDK is ready
};
didomiListener.onError = (message) {
// An error occurred
};
didomiListener.onShowNotice = () {
// Notice was displayed
};
didomiListener.onHideNotice = () {
// Notice was hidden
};
didomiListener.onNoticeClickAgree = () {
// Click Agree on Notice
};
didomiListener.onNoticeClickDisagree = () {
// Click Disagree on Notice
};
didomiListener.onNoticeClickViewVendors = () {
// Click View vendors on Notice
};
didomiListener.onNoticeClickMoreInfo = () {
// Click More info on Notice
};
didomiListener.onNoticeClickPrivacyPolicy = () {
// Click Privacy policy on Notice
};
didomiListener.onPreferencesClickAgreeToAll = () {
// Click Agree to all on Preferences screen
};
didomiListener.onPreferencesClickDisagreeToAll = () {
// Click Disagree to all on Preferences screen
};
didomiListener.onPreferencesClickPurposeAgree = (purposeId) {
// Click Agree to purpose on Preferences screen
};
didomiListener.onPreferencesClickPurposeDisagree = (purposeId) {
// Click Disagree to purpose on Preferences screen
};
didomiListener.onPreferencesClickCategoryAgree = (categoryId) {
// Click Agree to category on Preferences screen
};
didomiListener.onPreferencesClickCategoryDisagree = (categoryId) {
// Click Disagree to category on Preferences screen
};
didomiListener.onPreferencesClickViewVendors = () {
// Click View vendors from Preferences screen
};
didomiListener.onPreferencesClickSaveChoices = () {
// Click Save choices from Preferences screen
};
didomiListener.onPreferencesClickVendorAgree = (vendorId) {
// Click Agree to vendor on Preferences screen
};
didomiListener.onPreferencesClickVendorDisagree = (vendorId) {
// Click Disagree to vendor on Preferences screen
};
didomiListener.onPreferencesClickVendorSaveChoices = () {
// Click Save vendor choices from Preferences screen
};
didomiListener.onPreferencesClickViewPurposes = () {
// Click View purposes from Preferences screen
};
didomiListener.onConsentChanged = () {
// Consent has changed
};
didomiListener.onPreferencesClickAgreeToAllPurposes = () {
// Click Agree to all purposes from Preferences screen
};
didomiListener.onPreferencesClickDisagreeToAllPurposes = () {
// Click Disagree to all purposes from Preferences screen
};
didomiListener.onPreferencesClickResetAllPurposes = () {
// Click Reset all purposes from Preferences screen
};
didomiListener.onPreferencesClickAgreeToAllVendors = () {
// Click Agree to all vendors from Preferences screen
};
didomiListener.onPreferencesClickDisagreeToAllVendors = () {
// Click Disagree to all vendors from Preferences screen
};
DidomiSdk.addEventListener(didomiListener);
Event types
The following events are supported by the Didomi SDK:
Method
Description
onConsentChanged
When a consent is given or withdrawn by the user. Only triggered when the consent status actually changes (ie if the user saves consents without adding/removing any consent then this does not get called).
onHideNotice
When the consent notice is hidden. If you have disabled our default consent notice to replace it with your own, you need to hide your custom notice when this event gets triggered.
onShowNotice
When the consent notice gets displayed. If you have disabled our default consent notices to replace them with your own, you need to show your custom notice when this event gets triggered.
onNoticeClickAgree
When user clicks on agree on the notice
onNoticeClickMoreInfo
When user clicks on learn more on the notice
onPreferencesClickAgreeToAll
When user clicks on agree to all on the preferences popup
onPreferencesClickDisagreeToAll
When user clicks on disagree to all on the preferences popup
onPreferencesClickPurposeAgree
When user agree to a purpose on the preferences popup. (purposeId provided as a parameter)
onPreferencesClickPurposeDisagree
When user disagree to a purpose on the preferences popup. (purposeId provided as a parameter)
onPreferencesClickViewVendors
When user clicks on view vendors on the preferences popup
onPreferencesClickSaveChoices
When user saves his choice on the preferences popup
onPreferencesClickVendorAgree
When user agree to a vendor on the preferences popup. (vendorId provided as a parameter)
onPreferencesClickVendorDisagree
When user disagree to a vendor on the preferences popup. (vendorId provided as a parameter)
onPreferencesClickVendorSaveChoices
When user saves his choice on the vendors view on the preferences popup
onNoticeClickDisagree
When user clicks on disagree on the notice
onNoticeClickViewVendors
When user clicks on partners on the notice
onNoticeClickPrivacyPolicy
When user clicks on privacy policy on the notice
onPreferencesClickAgreeToAllPurposes
When user flips ON all purposes switch on the preferences popup
onPreferencesClickDisagreeToAllPurposes
When user flips OFF all purposes switch on the preferences popup

getDisabledPurposes

Deprecated, use getUserStatus instead.
The result of this method has been replaced by userStatus.purposes?.consent?.disabled.
Get the list of purposes that have been disabled by the user.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<Purpose>>
A list of type Purpose containing the purposes disabled by the user.
Example
Dart
await DidomiSdk.getDisabledPurposes();

getDisabledPurposeIds

Deprecated, use getUserStatus instead.
The result of this method has been replaced by userStatus.purposes?.consent?.disabled.
Get the list of purpose IDs that have been disabled by the user.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<String>>
A list of type String containing the IDs of purposes disabled by the user.
Example
Dart
await DidomiSdk.getDisabledPurposeIds()

getDisabledVendors

Deprecated, use getUserStatus instead.
The result of this method has been replaced by userStatus.vendors?.consent?.disabled.
Get the list of vendors that have been disabled by the user.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<Vendor>>
A list of type Vendor containing the vendors disabled by the user.
Example
Dart
await DidomiSdk.getDisabledVendors();

getDisabledVendorIds

Deprecated, use getUserStatus instead.
The result of this method has been replaced by userStatus.vendors?.consent?.disabled.
Get the list of vendor IDs that have been disabled by the user.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<String>>
A list of type String containing the IDs of vendors disabled by the user.
Example
Dart
await DidomiSdk.getDisabledVendorIds();

getEnabledPurposes

Deprecated, use getUserStatus instead.
The result of this method has been replaced by userStatus.purposes?.global?.enabled.
Get the list of purposes that have been enabled by the user.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<Purpose>>
A list of type Purpose containing the purposes enabled by the user.
Example
Dart
await DidomiSdk.getEnabledPurposes();

getEnabledPurposeIds

Deprecated, use getUserStatus instead.
The result of this method has been replaced by userStatus.purposes?.global?.enabled.
Get the list of purpose IDs that have been enabled by the user.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<String>>
A list of type String containing the IDs of purposes enabled by the user.
Example
Dart
await DidomiSdk.getEnabledPurposeIds();

getEnabledVendors

Deprecated, use getUserStatus instead.
The result of this method has been replaced byuserStatus.vendors?.consent?.enabled.
Get the list of vendors that have been enabled by the user.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<Vendor>>
A list of type Vendor containing the vendors enabled by the user.
Example
Dart
await DidomiSdk.getEnabledVendors();

getEnabledVendorIds

Deprecated, use getUserStatus instead.
The result of this method has been replaced by userStatus.vendors?.consent?.enabled.
Get the list of vendor IDs that have been enabled by the user.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<String>>
A list of type String containing the IDs of vendors enabled by the user.
Example
Dart
await DidomiSdk.getEnabledVendorIds();

getJavaScriptForWebView

Get JavaScript to embed into a WebView to pass the consent status from the app to the Didomi Web SDK embedded into the WebView.
Inject the returned tag into a WebView with evaluateJavaScript.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<String>
JavaScript code to embed in a WebView
Example
Dart
await DidomiSdk.javaScriptForWebView;

getQueryStringForWebView

Get a query string parameter to append to the URL of a WebView to pass the consent status from the app to the Didomi Web SDK embedded into the WebView.
Read our article on sharing consent with WebViews for more information.
This method is currently available on Android platform only. Calling getQueryStringForWebView on iOS platform will return an empty String.
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<String>
Query string parameter with the format didomiConfig.user.externalConsent.value=.... It can be appended to your URL after a ? or a & if your URL already contains a query string.
Example
Dart
await DidomiSdk.queryStringForWebView;

getPurpose

Get a purpose based on its ID.
Requires SDK to be initialized
Yes.
Parameters
Name
Type
Description
purposeId
String
ID of the purpose we want to get.
Returns
Type
Description
Future<Purpose?>
A Purpose with ID purposeId found in the array of required purposes, or null.
Example
Dart
await DidomiSdk.getPurpose("purpose-id");

getRequiredPurposes

Get the list of purpose that are required (automatically determined from the list of required vendors).
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<Purpose>>
A list of type Purpose containing the required purposes.
Example
Dart
await DidomiSdk.requiredPurposes;

getRequiredPurposeIds

Get the list of purpose IDs that are required (automatically determined from the list of required vendors).
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<String>>
A list of type String containing the IDs of required purposes.
Example
Dart
await DidomiSdk.requiredPurposeIds;

getRequiredVendors

Get the list of vendors that are required (determined from the configuration).
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<Vendor>>
A list of type Vendor containing the required vendors.
Example
Dart
await DidomiSdk.requiredVendors;

getRequiredVendorIds

Get the list of vendor IDs that are required (determined from the configuration).
Requires SDK to be initialized
Yes.
Parameters
No parameter.
Returns
Type
Description
Future<List<String>>
A list of type String containing the IDs of required vendors.
Example
Dart
await DidomiSdk.requiredVendorIds;

getText

Method used to get a dictionary/map based on the key being passed. These keys and texts are extracted from the notice content, preferences content and the texts property specified in the didomi_config.json file as described here https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-theme#translatable-texts-for-custom-notices.
Requires SDK to be initialized
Yes.
Parameters
Name
Type
Description
key
String
key associated to the dictionary that we want to get.
Returns
Type
Description
Dictionary/map: Future<Map<String, String>>
Dictionary/map containing the translations for an specific key in different languages, with the form { "en:" "text in English", "fr": "texte en Français" }
Example
Dart
await DidomiSdk.getText("key");

getTranslatedText

Method used to get a translated text based on the key being passed.
The language and the source of this translated text will depend on the availability of the translation for the specific key.
The language being used will be either the selected language of the SDK (based on device Locale and other parameters) or the language specified by app developers as the default language being used by the SDK. The source can be either the didomi_config.json file, which can be either local or remote, or a file that is bundled within the SDK.
These are the attempts performed by the SDK to try to find a translation for the specific key:
  • Get translated value in user locale (selected language) from didomi_config.json (either local or remote).
  • Get translated value in default locale (from the config) from didomi_config.json (either local or remote).
  • Get translated value in user locale (selected language) from the Didomi-provided translations (bundled within the Didomi SDK).
  • Get translated value in default locale (from the config) from the Didomi-provided translations (bundled within the Didomi SDK).
If no translation can be found after these 4 attempts, the key will be returned.
App developers can provide these translated texts through the didomi_config.json file (locally or remotely) in 3 different ways:
Requires SDK to be initialized
Yes.
Parameters
Name
Type
Description
key
String
key associated to the text that we want to get translated.
Returns
Translated text.
Example
Dart
await DidomiSdk.getTranslatedText("key");

getUserConsentStatusForPurpose

Deprecated, use getUserStatus instead.
Search the purposeId in userStatus.purposes?.consent?.enabled or userStatus.purposes?.consent?.disabled.
Get the user consent status for a given purpose. You must also check that the user has given consent to a vendor before being able to load a vendor.
Parameters
Name
Type
Description
purposeId
String
The ID of the purpose to check the user consent for
Returns
A ConsentStatus that indicates if the user has given consent or not to the specific purpose.
enum ConsentStatus { disable, enable, unknown }
unknown is returned if the consent status is not known yet. From a GDPR perspective, you'll want to treat unknown as disable (ie no consent given) but it is helpful to know that the user has not interacted with the consent UI yet so that you can subscribe to events and wait for consent information to be collected.
If consent is not required because GDPR does not apply to that user, this function will return enable.
Example
Dart
await DidomiSdk.getUserConsentStatusForPurpose("analytics");

getUserConsentStatusForVendor

Deprecated, use getUserStatus instead.
Search the vendorId in userStatus.vendors?.consent?.enabled or userStatus.vendors?.consent?.disabled.
Get the user consent status for a given vendor. You must also check that the user has given consent to some or all of the purposes required by a vendor before loading the vendor. The function getUserConsentStatusForVendorAndRequiredPurposes does all the required checks for you so it might be a better choice.
Parameters
Name
Type
Description
vendorId
String
The ID of the vendor to check the user consent for. If you are checking an IAB vendor, pass the number as a String. If you are checking a custom vendor, prefix your vendor ID with c:.
Returns
A ConsentStatus that indicates if the user has given consent or not to the specific vendor.
enum ConsentStatus { disable, enable, unknown }
unknown is returned if the consent status is not known yet. From a GDPR perspective, you'll want to treat unknown as disable (ie no consent given) but it is helpful to know that the user has not interacted with the consent UI yet so that you can subscribe to events and wait for consent information to be collected.
If consent is not required because GDPR does not apply to that user, this function will return enable.
Example
Dart
// IAB vendors
await DidomiSdk.getUserConsentStatusForVendor("1");
// Didomi vendors
await DidomiSdk.getUserConsentStatusForVendor("google");
// Custom vendors (prefix vendor ID with c:)
await DidomiSdk.getUserConsentStatusForVendor("c:custom-vendor-id");

getUserConsentStatusForVendorAndRequiredPurposes

Deprecated, use getUserStatus instead.
Search the vendorId in userStatus.vendors?.globalConsent?.enabled or userStatus.vendors?.globalConsent?.disabled.
Get the user consent status for a given vendor. We use the list of purposes declared for the vendor to make sure that it has consent for all of them. The required purposes are automatically setup for IAB or Didomi vendors and you must specify the required purposes for your custom vendors when configuring the tag.
Parameters
Name
Type
Description
vendorId
String
The ID of the vendor to check the user consent for.
If you are checking an IAB vendor, pass the number as a String.
If you are checking a custom vendor, prefix your vendor ID with c:.
Returns
A ConsentStatus that indicates if the user has given consent or not to the specific vendor and all the purposes that require consent for that vendor.
enum ConsentStatus { disable, enable, unknown }
unknown is returned if the consent status is not known yet. From a GDPR perspective, you'll want to treat unknown as disable (ie no consent given) but it is helpful to know that the user has not interacted with the consent UI yet so that you can subscribe to events and wait for consent information to be collected.
If consent is not required because GDPR does not apply to that user, this function will return enable.
Example
Dart
// IAB vendors
await DidomiSdk.getUserConsentStatusForVendorAndRequiredPurposes("1");
// Didomi vendors
await DidomiSdk.getUserConsentStatusForVendorAndRequiredPurposes("google");
// Custom vendors (prefix vendor ID with c:)
await DidomiSdk.getUserConsentStatusForVendorAndRequiredPurposes("c:custom-vendor-id");

getUserLegitimateInterestStatusForPurpose

Deprecated, use getUserStatus instead.
Search the purposeId in userStatus.purposes?.legitimateInterest?.enabled or userStatus.purposes?.legitimateInterest?.getDisabled.
Get the user legitimate interest status for a given purpose.
Parameters
Name
Type
Description
purposeId
String
The ID of the purpose to check the user legitimate interest for.
Returns
A ConsentStatus that indicates if the user has allowed legitimate interest data processing to the specific purpose.
enum ConsentStatus { disable, enable, unknown }
unknown is returned if the legitimate interest status is not known yet. From a GDPR perspective, you'll want to treat unknown as disable (ie no legitimate interest status given) but it is helpful to know that the user has not interacted with the legitimate interest UI yet so that you can subscribe to events and wait for legitimate interest information to be collected.
Example
Dart
await DidomiSdk.getUserLegitimateInterestStatusForPurpose("measure_ad_performance);

getUserLegitimateInterestForVendor

Deprecated, use getUserStatus instead.
Search the vendorId in userStatus.vendors?.legitimateInterest?.enabled or userStatus.vendors?.legitimateInterest?.getDisabled.
Get the user legitimate interest status for a given vendor. You must also check that the user has allowed legitimate interest data processing for some or all of the purposes required by a vendor before loading the vendor. The function getUserLegitimateInterestStatusForVendorAndRequiredPurposes does all the required checks for you so it might be a better choice.
Parameters
Name
Type
Description
vendorId
String
The ID of the vendor to check the user legitimate interest status for. If you are checking an IAB vendor, pass the number as a String. If you are checking a custom vendor, prefix your vendor ID with c:.
Returns
A ConsentStatus that indicates if the user has allowed legitimate interest data processing for the specific vendor.
enum ConsentStatus { disable, enable, unknown }
unknown is returned if the legitimate interest status is not known yet. From a GDPR perspective, you'll want to treat unknown as disable (ie no consent given) but it is helpful to know that the user has not interacted with the legitimate interest UI yet so that you can subscribe to events and wait for legitimate interest information to be collected.
Example
Dart
// IAB vendors
await DidomiSdk.getUserLegitimateInterestStatusForVendor("1");
// Didomi vendors
await DidomiSdk.getUserLegitimateInterestStatusForVendor("google");
// Custom vendors (prefix vendor ID with c:)
await DidomiSdk.getUserLegitimateInterestStatusForVendor("c:custom-vendor-id");

getUserLegitimateInterestStatusForVendorAndRequiredPurposes

Deprecated, use getUserStatus instead.
Search the vendorId in userStatus.vendors?.globalLegitimateInterest?.enabled or userStatus.vendors?.globalLegitimateInterest?.disabled.
Get the user legitimate interest status for a given vendor. We use the list of purposes declared for the vendor to make sure that it has allowed legitimate interest data processing for all of them. The required purposes are automatically setup for IAB or Didomi vendors and you must specify the required purposes for your custom vendors when configuring the tag.
Parameters
Name
Type
Description
vendorId
String
The ID of the vendor to check the user legitimate interest status for.
If you are checking an IAB vendor, pass the number as a String.
If you are checking a custom vendor, prefix your vendor ID with c:.
Returns
A ConsentStatus that indicates if the user has allowed legitimate interest data processing to the specific vendor and all the purposes that require legitimate interest for that vendor.
enum ConsentStatus { disable, enable, unknown }
unknown is returned if the legitimate interest status is not known yet. From a GDPR perspective, you'll want to treat unknown as disable (ie no legitimate interest given) but it is helpful to know that the user has not interacted with the legitimate interest UI yet so that you can subscribe to events and wait for legitimate interest information to be collected.
Example
Dart
// IAB vendors
await DidomiSdk.getUserLegitimateInterestStatusForVendorAndRequiredPurposes("1");
// Didomi vendors
await DidomiSdk.getUserLegitimateInterestStatusForVendorAndRequiredPurposes("google");
// Custom vendors (prefix vendor ID with c:)
await DidomiSdk.getUserLegitimateInterestStatusForVendorAndRequiredPurposes("c:custom-vendor-id");

getUserStatus

Get all the user consent status.
Throws
Type
Description
DidomiNotReadyException
Exception thrown when a method that requires the Didomi SDK to be ready is called before that. Developers can call this method within a try/catch or within a lambda expression passed into the onReady method.
Returns
A UserStatus object describing all the available and computed user information.
Parameter
Type
Description
purposes?.global?.disabled
List<String>?
Computed sets/lists of disabled IDs of purposes that have been chosen by the user regarding the consent or legitimate interest Legal Basis.
purposes?.global?.enabled
List<String>?
Computed sets/lists of enabled IDs of purposes that have been chosen by the user regarding the consent or legitimate interest Legal Basis. Purposes considered as essential will be part of the enabled IDs.
purposes?.consent?.disabled
List<String>?
Disabled IDs of purposes that have been explicitly chosen by the user regarding the consent Legal Basis.
purposes?.consent?.enabled
List<String>?
Enabled IDs of purposes that have been explicitly chosen by the user regarding the consent Legal Basis.
purposes?.legitimateInterest?.disabled
List<String>?
Disabled IDs of purposes that have been explicitly chosen by the user regarding the legitimate interest Legal Basis.
purposes?.legitimateInterest?.enabled
List<String>?
Enabled IDs of purposes that have been explicitly chosen by the user regarding the legitimate interest Legal Basis.
purposes?.essential
List<String>?
IDs of purposes that are considered essential.
vendors?.global?.disabled
List<String>?
Computed sets/lists of disabled IDs of vendors that have been chosen by the user regarding the consent or legitimate interest Legal Basis. This takes into account the consent and legitimate interest required purposes linked to vendors. When computing this property, essential purposes will be considered as enabled.
vendors?.global?.enabled
List<String>?
Computed sets/lists of enabled IDs of vendors that have been chosen by the user regarding the consent or legitimate interest Legal Basis. This takes into account the consent and legitimate interest required purposes linked to vendors. When computing this property, essential purposes will be considered as enabled.
vendors?.globalConsent?.disabled
List<String>?
Computed sets/lists of disabled IDs of vendors that have been chosen by the user regarding the consent Legal Basis. This takes into account the consent required purposes linked to vendors. When computing this property, essential purposes will be considered as enabled.
vendors?.globalConsent?.enabled
List<String>?
Computed sets/lists of enabled IDs of vendors that have been chosen by the user regarding the consent Legal Basis. This takes into account the consent required purposes linked to vendors. When computing this property, essential purposes will be considered as enabled.
vendors?.globalLegitimateInterest?.disabled
List<String>?
Computed sets/lists of disabled IDs of vendors that have been chosen by the user regarding the legitimate interest Legal Basis. This takes into account the legitimate interest required purposes linked to vendors. When computing this property, essential purposes will be considered as enabled.
vendors?.globalLegitimateInterest?.enabled
List<String>?
Computed sets/lists of enabled IDs of vendors that have been chosen by the user regarding the legitimate interest Legal Basis. This takes into account the legitimate interest required purposes linked to vendors. When computing this property, essential purposes will be considered as enabled.
vendors?.consent?.disabled
List<String>?
Disabled IDs of vendors that have been explicitly chosen by the user regarding the consent Legal Basis.
vendors?.consent?.enabled
List<String>?
Enabled IDs of vendors that have been explicitly chosen by the user regarding the consent Legal Basis.
vendors?.legitimateInterest?.disabled
List<String>?
Disabled IDs of vendors that have been explicitly chosen by the user regarding the legitimate interest Legal Basis.
vendors?.legitimateInterest?.enabled
List<String>?
Enabled IDs of vendors that have been explicitly chosen by the user regarding the legitimate interest Legal Basis.
userId
String?
Didomi user id.
created
String?
User choices creation date.
Example
Dart
UserStatus userStatus = await DidomiSdk.userStatus;
// Enabled consent ids for vendors
List<String>? enabledVendorsConsentIds = userStatus.vendors?.consent?.enabled;

getUserStatusForVendor

Deprecated, use getUserStatus instead.
Search the vendorId in userStatus.vendors?.global?.enabled or userStatus.vendors?.global?.disabled.
Get the user consent and legitimate interest status for a given vendor.
Parameters
Name
Type
Description
vendorId
String
The ID of the vendor to check the user status for. If you are checking an IAB vendor, pass the number as a String. If you are checking a custom vendor, prefix your vendor ID with c:.
Returns
A ConsentStatus that indicates if the user has allowed both consent and legitimate interest data processing to the specific vendor.
enum ConsentStatus { disable, enable, unknown }
If one of consent or legitimate interest data processing status is unknown or not allowed, disable will be returned. If both are allowed by the user, the function will return enable.
Example
Dart
// IAB vendors
await DidomiSdk.getUserStatusForVendor("1");
// Didomi vendors
await DidomiSdk.getUserStatusForVendor("google");
// Custom vendors (prefix vendor ID with c:)
await DidomiSdk.getUserStatusForVendor("c:custom-vendor-id");

getVendor

Get a vendor based on its ID.
Requires SDK to be initialized
Yes.
Parameters
Name
Type
Description
vendorId
String
ID of the vendor we want to get.
Returns
Type
Description
Future<Vendor?>
A Vendor with ID vendorId found in the array of required vendors, or null.
Example
Dart
await DidomiSdk.getVendor("vendor-id");

hideNotice

Hide the consent notice.
Parameters
No parameter.
Returns
Nothing
Example
Dart
await DidomiSdk.hideNotice();

hidePreferences

Hide the preferences popup.
Parameters
No parameter.
Returns
Nothing
Example
Dart
await DidomiSdk.hidePreferences();

initialize

Initialize the SDK. The initialization runs on a background thread to avoid blocking your UI. Use the onReady function to know when the initialization is done and the SDK is ready to be used.
Parameters
Name
Type
Optional
Description
apiKey
String
No
Your API key
localConfigurationPath
String
Yes
The path to your local config file in your assets/ folder. Defaults to didomi_config.json if null.
remoteConfigurationPath
String
Yes
The URL to a remote configuration file to load during initialization. When provided, the file at the URL will be downloaded and cached to be used instead of the local assets/didomi_config.json. If there is no Internet connection available and no previously cached file, the local file will be used as fallback.
providerId
String
Yes
Your provider ID (if any). A provider ID is assigned when you work with Didomi through a third-party. If are not sure if you have one, set this to null.
disableDidomiRemoteConfig
bool
Yes
Prevent the SDK from loading a remote configuration from the Didomi Console. Defaults to false (loading remote config).
Set this parameter to false to use a remote consent notice configuration loaded from the Didomi Console.
Set this parameter to true to disable loading configurations from the Didomi Console.
languageCode
String
Yes
Language in which the consent UI should be displayed. By default, the consent UI is displayed in the language configured in the device settings. This property allows you to override the default setting and specify a language to display the UI in. String containing the language code or the local code e.g.: "es", "fr", "en-US", "zh-HK", etc.
noticeId
String
Yes
Notice ID to load the configuration from. If provided, the SDK bypasses the app ID targeting and directly loads the configuration from the notice ID.
Returns
Nothing
Example
Dart
await DidomiSdk.initialize(
"<Your API key>",
noticeId