> For the complete documentation index, see [llms.txt](https://docs.digia.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digia.tech/digia-engage/developer-guides/developer-integrations.md).

# Overview

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 with [Core Concepts](/digia-engage/start-here/core-concepts.md).

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](/digia-engage/developer-guides/clevertap.md) | `DigiaTemplate` for In-App campaigns; Native Display key-values for Inline |
| MoEngage                          | [MoEngage Integration](/digia-engage/developer-guides/moengage.md)   | Self-Handled In-App payload with `digia_campaign_key`                      |
| WebEngage                         | [WebEngage Integration](/digia-engage/developer-guides/webengage.md) | In-App Custom HTML `digia-config` block                                    |
| No CEP — Digia itself             | [Digia as Your CEP](/digia-engage/developer-guides/digia-cep.md)     | Nothing to point: each campaign carries its own trigger and priority       |

If your app has no engagement platform yet, [Digia as Your CEP](/digia-engage/developer-guides/digia-cep.md) 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, see [Campaign Actions](/digia-engage/developer-guides/campaign-actions.md).

## Platform Packages

| Platform     | Core package                                                                                     | CEP plugin packages                                                                                                                                                                                                                                                                                                                                            |
| ------------ | ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Flutter      | [`digia_engage`](https://pub.dev/packages/digia_engage)                                          | MoEngage [`digia_moengage_plugin`](https://pub.dev/packages/digia_moengage_plugin), CleverTap [`digia_engage_clevertap`](https://pub.dev/packages/digia_engage_clevertap), WebEngage [`digia_webengage_plugin`](https://pub.dev/packages/digia_webengage_plugin)                                                                                               |
| Android      | [`tech.digia:engage`](https://central.sonatype.com/artifact/tech.digia/engage)                   | MoEngage [`tech.digia:engage-moengage`](https://central.sonatype.com/artifact/tech.digia/engage-moengage), CleverTap [`tech.digia:engage-clevertap`](https://central.sonatype.com/artifact/tech.digia/engage-clevertap), WebEngage [`tech.digia:engage-webengage`](https://central.sonatype.com/artifact/tech.digia/engage-webengage)                          |
| React Native | [`@digia-engage/core`](https://www.npmjs.com/package/@digia-engage/core)                         | MoEngage [`@digia-engage/moengage`](https://www.npmjs.com/package/@digia-engage/moengage), CleverTap [`@digia-engage/clevertap`](https://www.npmjs.com/package/@digia-engage/clevertap), WebEngage [`@digia-engage/webengage`](https://www.npmjs.com/package/@digia-engage/webengage)                                                                          |
| iOS (Swift)  | [`DigiaEngage`](https://swiftpackageindex.com/Digia-Technology-Private-Limited/digia_engage_iOS) | MoEngage [`DigiaMoEngage`](https://swiftpackageindex.com/Digia-Technology-Private-Limited/digia_moengage_iOS), CleverTap [`DigiaEngageCleverTap`](https://swiftpackageindex.com/Digia-Technology-Private-Limited/digia_engage_clevertap_iOS), WebEngage [`DigiaWebEngage`](https://swiftpackageindex.com/Digia-Technology-Private-Limited/digia_webengage_iOS) |

Support for additional CEP plugins is in development. [Digia as Your CEP](/digia-engage/developer-guides/digia-cep.md) 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 the [User Guides](/digia-engage/user-guides/guides.md) 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, see [SDK Debug Settings](/digia-engage/developer-guides/debug-settings-deeplink.md).
