Setup
Installation
npm install @didomi/vega-sdk
Peer Dependencies
This SDK requires the following peer dependencies:
react
(>=18.0.0 <=18.2.0)react-dom
(>=18.0.0 <=18.2.0)react-native
(^0.72.0)@amazon-devices/react-native-kepler
(^2.0.0)@amazon-devices/webview
Note: For WebView support, update your app’s
manifest.toml
file to include the required Vega services. Please refer to https://developer.amazon.com/docs/vega/0.21/set-up-webview.html
Basic Integration
import { DidomiSDK, DidomiSDKAPI } from '@didomi/vega-sdk';
import React, { useRef } from 'react';
const MyApp = () => {
const didomiRef = useRef<DidomiSDKAPI>(null);
return (
<DidomiSDK
noticeId="YOUR_NOTICE_ID"
didomiPublicApiKey="YOUR_PUBLIC_API_KEY"
ref={didomiRef}
onReady={() => console.log('Didomi SDK is ready')}
onConsentChanged={(consent) => console.log('Consent changed:', consent)}
>
{/* Your app content */}
<YourApp />
</DidomiSDK>
);
};
Programmatic Usage
All SDK functionality is exposed through the component ref
:
const didomiSDK = didomiRef.current;
// Display UI
didomiSDK?.notice.show(); // Show consent notice
didomiSDK?.preferences.show('purposes'); // Show preferences dialog, the parameter is optional, and "vendors" can also be set to display the associated layer.
// Query SDK state
const isConsentRequired = await didomiSDK?.isConsentRequired();
// Manage user consent
const userStatus = await didomiSDK?.getCurrentUserStatus();
await didomiSDK?.setUserAgreeToAll();
await didomiSDK?.setCurrentUserStatus({
purposes: { /* purpose status */ },
vendors: { /* vendor status */ },
});
API Reference
Component Props
noticeId
string
ID of the consent notice to display
didomiPublicApiKey
string
Your Didomi public API key
sdkPath
string
(Optional) Path to the Didomi SDK, defaults to https://sdk.privacy-center.org/
onReady
() => void
Fired when the SDK is initialized and ready.
onConsentChanged
(consent: any) => void
Fired whenever the user’s consent status changes.
Other events are available as props, please refer to Events for more details.
Last updated