Supported on: iOS SDK
1.0.61+How It Works
Surveys are configured in the Console with content, question types, and trigger rules. Like in-app messages, they can appear automatically when trigger conditions are met — no code required for trigger-based surveys.Present a Survey Manually
Module Access
Module Methods
8 Question Types
Surveys support the following question types, configured in the Console:Question types and their content are defined entirely in the Console. The SDK renders them automatically based on the survey configuration.
AppDNASurveyDelegate
All 3 methods on this delegate fire fromSurveyManager alongside the existing analytics events. Register your delegate via AppDNA.surveys.setDelegate(...).
onSurveyPresented(surveyId:)— fires when the survey view appears (alongside thesurvey_shownevent).onSurveyCompleted(surveyId:, responses:)— fires when the user submits the final question.responsesis the public[SurveyResponse]array (one entry per answered question withquestionId+answer), suitable for forwarding to your own analytics or CRM.onSurveyDismissed(surveyId:)— fires when the user closes the survey before completing it (X button, swipe-to-dismiss, outside tap).
SurveyResponse
Example Implementation
Rich Media
Survey questions support rich media content configured in the Console:- Header images — add images above survey questions
- Icons in options — use icon references in choice options (Lucide, SF Symbols, Material, or emoji)
- Thank-you animations — Lottie or confetti effects on survey completion
- Haptic feedback — triggered on option selection and submission
Auto-Tracked Events
Full Example
Surveys are created in the Console under Feedback > Surveys. Trigger-based surveys appear automatically — manual presentation with
present() is for cases where you want precise control over timing.
