@digia-engage/clevertap
v2.0.0
Published
Pure TypeScript Digia CEP plugin for CleverTap – works on both Android and iOS
Readme
@digia-engage/clevertap
CleverTap CEP plugin for Digia Engage – connects CleverTap In-App and Native Display campaigns to the Digia rendering engine on Android and iOS.
Installation
npm install @digia-engage/clevertap @digia-engage/core clevertap-react-nativeUsage
Initialise Digia after the CleverTap SDK and register the plugin before your app renders:
import { useEffect } from 'react';
import CleverTap from 'clevertap-react-native';
import { Digia } from '@digia-engage/core';
import { DigiaCleverTapPlugin, createCleverTapClient } from '@digia-engage/clevertap';
export function RootApp() {
useEffect(() => {
(async () => {
// 1. CleverTap SDK — must be initialised as a prerequisite.
// 2. Initialise Digia.
await Digia.initialize({ apiKey: 'YOUR_ACCESS_KEY' });
// 3. Register the CleverTap plugin.
Digia.register(
new DigiaCleverTapPlugin({ cleverTap: createCleverTapClient(CleverTap) })
);
})().catch(console.error);
}, []);
return <AppNavigator />;
}Screen tracking
Digia.setCurrentScreen('Home');
// calls CleverTap.recordScreenView('Home') internallyInternally calls CleverTap.recordScreenView('Home') so CleverTap can evaluate screen-scoped campaigns.
Syncing the DigiaTemplate (one-time setup)
Run the app in debug mode as a CleverTap test user. DigiaTemplate is synced to your CleverTap dashboard automatically, making it available when creating In-App campaigns.
API
DigiaCleverTapPlugin
| Method | Description |
|---|---|
| constructor({ cleverTap }) | Accepts an ICleverTapClient from createCleverTapClient(CleverTap). |
| setup(delegate) | Called internally by Digia.register(). |
| forwardScreen(name) | Called by Digia.setCurrentScreen(). |
| teardown() | Called by Digia.unregister(). |
| healthCheck() | Returns plugin health status (isHealthy, metadata). |
createCleverTapClient(sdk)
Wraps the clevertap-react-native default export into the ICleverTapClient interface required by DigiaCleverTapPlugin.
CleverTapEvents
Nudges (In-App via DigiaTemplate)
| command | Experience |
|---|---|
| SHOW_BOTTOM_SHEET | Bottom sheet nudge |
| SHOW_DIALOG | Dialog nudge |
Tooltips & Spotlights (Inline / Native Display)
| command | Experience |
|---|---|
| SHOW_TOOLTIP | Tooltip anchored to the element identified by anchorKey |
| SHOW_SPOTLIGHT | Spotlight anchored to the element identified by anchorKey |
Example payload:
{
"command": "SHOW_TOOLTIP",
"viewId": "tooltip-2A3ZoP",
"anchorKey": "pdp_wishlist"
}Inline content (Native Display)
For inline banners and cards, the payload maps placement keys to Digia component IDs:
{ "home_hero_banner": "home_hero_banner-v2N8" }License
MIT © Digia Technology Private Limited
