# Developer Guides

URL: https://www.digia.tech/docs/developer

This section is for app teams connecting Digia Engage to a mobile app. If you are looking for a non-technical overview of the product model, start withCore Concepts .

Digia Engage is integrated once. After that, product and marketing teams can create native in-app experiences in the Digia Engage dashboard and launch them through the Customer Engagement Platform (CEP) your team already uses.

## Choose Your CEP

Digia Engage supports multiple CEPs. You only need the integration guide for the CEP your app uses to create and launch campaigns.

| If campaigns are launched from... | Use this guide | How the CEP points to Digia | CleverTap | CleverTap Integration | `DigiaTemplate` for In-App campaigns; Native Display key-values for Inline | MoEngage | MoEngage Integration | Self-Handled In-App payload with `digia_campaign_key` | WebEngage | WebEngage Integration | In-App Custom HTML `digia-config` block | No CEP — Digia itself | Digia as Your CEP | Nothing to point: each campaign carries its own trigger and priority 

If your app has no engagement platform yet,Digia as Your CEP needs only the core package — the SDK fires campaigns from a trigger set on each campaign in the dashboard. React Native only, for now.

Each guide covers package setup, platform-specific lifecycle work, and the exact CEP dashboard payload format.

## Integration Vocabulary

Three identifiers connect the CEP campaign, the Digia campaign, and the app surface where the experience appears. They are case-sensitive and must match exactly.

| Identifier | What it points to | Where it is used | `digia_campaign_key` | A Digia campaign and its design | Copied from Digia into the CEP campaign payload | `anchorKey` | A UI element a Guide step can point to | Shared by developers with campaign creators | `placementKey` | A slot where Inline content can appear | Shared by developers with campaign creators 

The exact location for `digia_campaign_key` differs by CEP:

- CleverTap uses the `DigiaTemplate` custom-code In-App template. Inline campaigns use Native Display key-values.
- MoEngage uses Self-Handled In-App key-value payloads.
- WebEngage uses an In-App Custom HTML `digia-config` block.
For CTA, card tap, deep link, dismiss, and event behavior, seeCampaign Actions .

## Platform Packages

| Platform | Core SDK | CleverTap | MoEngage | WebEngage | React Native | [`@digia-engage/core`](https://www.npmjs.com/package/@digia-engage/core) 2.22.0 | [`@digia-engage/clevertap`](https://www.npmjs.com/package/@digia-engage/clevertap) 2.5.0 | [`@digia-engage/moengage`](https://www.npmjs.com/package/@digia-engage/moengage) 1.1.3 | [`@digia-engage/webengage`](https://www.npmjs.com/package/@digia-engage/webengage) 1.1.0 | Flutter | [`digia_engage`](https://pub.dev/packages/digia_engage) 1.19.0 | [`digia_engage_clevertap`](https://pub.dev/packages/digia_engage_clevertap) 1.3.0 | [`digia_moengage_plugin`](https://pub.dev/packages/digia_moengage_plugin) 1.0.1 | [`digia_webengage_plugin`](https://pub.dev/packages/digia_webengage_plugin) 1.2.0 | Android | [`tech.digia:engage`](https://central.sonatype.com/artifact/tech.digia/engage) 2.17.0 | [`tech.digia:engage-clevertap`](https://central.sonatype.com/artifact/tech.digia/engage-clevertap) 2.0.0 | [`tech.digia:engage-moengage`](https://central.sonatype.com/artifact/tech.digia/engage-moengage) 1.0.0-beta.04 | [`tech.digia:engage-webengage`](https://central.sonatype.com/artifact/tech.digia/engage-webengage) 1.0.0 | iOS (Swift) | [`DigiaEngage`](https://swiftpackageindex.com/Digia-Technology-Private-Limited/digia_engage_iOS) 3.14.0 | [`DigiaEngageCleverTap`](https://swiftpackageindex.com/Digia-Technology-Private-Limited/digia_engage_clevertap_iOS) 1.0.0-beta.1 | [`DigiaMoEngage`](https://swiftpackageindex.com/Digia-Technology-Private-Limited/digia_moengage_iOS) 1.0.0-beta.2 | [`DigiaWebEngage`](https://swiftpackageindex.com/Digia-Technology-Private-Limited/digia_webengage_iOS) 1.0.0 

Latest published versions · fetched 11 Sept 2026

Support for additional CEP plugins is in development.Digia as Your CEP needs no plugin package at all — just the core package for your platform (React Native today).

## What Your Setup Should Enable

After you choose the CEP guide, the implementation has three jobs:

1. Initialize Digia Engage when the app starts.
2. Let the CEP plugin pass `digia_campaign_key` payloads to Digia.
3. Register the app surfaces where Digia experiences can render.
The surfaces you register depend on what campaign creators plan to launch.

| Experience | App-side surface | What it enables | Nudge | `DigiaHost` | Bottom sheets and dialogs above app content | Guide | `DigiaHost` + `DigiaAnchor` | Tooltip or spotlight steps attached to specific UI elements | Survey | `DigiaHost` | Survey overlays and submission flows | Inline | `DigiaSlot` | Banners, cards, or carousels inside the app layout 

For Guides and Inline campaigns, share these values with campaign creators before they start building:

- `anchorKey` values for UI elements that a Guide can point to
- `placementKey` values for slots where Inline content can appear

## Test Before Handoff

Before handing the project to campaign creators, test the experience types your app supports.

| Test | Why it matters | App starts and Digia initializes | Campaigns must prefetch before they can render quickly | A Nudge campaign renders | Confirms the overlay host is mounted correctly | A Guide attaches to an anchor | Confirms `anchorKey` registration and screen timing | Inline content appears in a slot | Confirms the `placementKey` matches the Digia campaign | A Survey opens and submits | Confirms overlay rendering and survey completion flow | CTA actions work | Confirms deep links, URLs, dismiss actions, and event forwarding 

Once these checks pass, campaign creators can use theUser Guides to build and test campaigns without new app releases.

## Optional Developer Tools

Digia Engage also includes SDK-side tools that can be opened during development or QA. To set up and open the SDK debug settings screen, seeSDK Debug Settings .
