Skip to main content

Dashboard vs. Code

AppDNA splits responsibility between the Console (UI configuration) and your code (SDK calls). Many features require zero code — the SDK handles them automatically based on what you configure in the Console.

Quick Reference


What’s Automatic (Zero Code)

The SDK tracks these events automatically. You do not need to call track() for any of them.

Session & Lifecycle

  • session_start, session_end, app_open, app_close

Onboarding

  • Flow started, step viewed, step completed, step skipped, flow completed, flow dismissed

Paywalls

  • Paywall presented, actions, dismissed, purchase started/completed/failed

Billing

  • Purchase started, completed, failed, canceled, restore started/completed

Push

  • Token registered, permission granted/denied, delivered, tapped

Experiments

  • Exposure tracked once per session on first getVariant() call

In-App Messages

  • Message presented, action taken, dismissed

Surveys

  • Survey presented, response submitted, dismissed
For the full list of auto-tracked events with their properties, see the Auto-Tracked Events reference.

Callbacks — When You Want to React

Every SDK module provides a delegate or callback interface so you can respond to events in your own code. Common scenarios:
Each module’s documentation includes the full delegate reference and examples. See:

Paywalls

AppDNAPaywallDelegate — purchase, dismiss, action callbacks

Onboarding

AppDNAOnboardingDelegate — step, completion, response callbacks

Billing

AppDNABillingDelegate — purchase, restore, entitlement callbacks

Surveys

AppDNASurveyDelegate — presentation, response, dismiss callbacks