Use Case: Analytics, Push & Feedback
This guide covers the retention and measurement side of your app: tracking meaningful events, registering for push, measuring user sentiment with surveys, prompting for App Store reviews, and closing the feedback loop.What You’ll Build
Step 1: Track Meaningful Events
Custom events power everything in AppDNA — analytics, experiment goals, survey triggers, in-app message triggers, and webhook payloads.What to Track
Focus on events that represent meaningful user actions:- iOS
- Android
- Flutter
- React Native
Event Design Guidelines
- Use
snake_casefor event names and property keys - Include relevant properties (duration, type, count, category)
- Don’t duplicate auto-tracked events — the SDK already tracks session, onboarding, paywall, billing, push, and experiment events
- Events automatically include session ID, device info, and active experiment exposures
Custom events can be used as experiment conversion goals, webhook triggers, in-app message triggers, and survey triggers — all configured in the Console with no code changes.
Step 2: Set Up Push Notifications
Register for Push
- iOS
- Android
- Flutter
- React Native
Track Push Engagement
AppDNA pushes are tracked for you: the SDK recordspush_delivered and push_tapped (with the delivery id) for every
push it handles — on iOS through its automatic notification handler, on Android through its messaging service and
AppDNA.handlePushTap(intent), or your forwarding with AppDNA.push.handleMessage / handleTapData. Do not also track those pushes by hand, or they are counted
twice. The manual calls below are only for pushes the SDK does not see (for example a push shown by another system),
and they run in your app, not in a Notification Service Extension:
- iOS
- Android
- Flutter
- React Native
Handle Push Tap Callbacks
Route the user to the right screen when they tap a push notification:- iOS
- Android
- Flutter
- React Native
Step 3: Measure Love Score with Surveys
Trigger-Based (Recommended)
Configure surveys in the Console to appear automatically based on events and conditions. For example:- NPS survey after 7 days of usage and 5+ sessions
- CSAT survey after the user completes their 10th workout
- Feedback prompt after a support interaction
Manual Trigger
For precise control over timing, present a survey manually:- iOS
- Android
- Flutter
- React Native
Capture Survey Responses
Use the survey delegate to react to responses in real-time:- iOS
- Android
- Flutter
- React Native
Step 4: Asking for a Store Review
Choosing when to ask is entirely allowed — the rule is about asking the user to declare a sentiment and branching on the answer, not about picking a good moment. Ask at a high point, and ask everyone who reaches it. There are exactly two shapes, and they are not interchangeable.The OS review sheet, on a step the user has reached
Set Request store review on an onboarding step. The SDK asks the OS as the step appears. The step must be one the user leaves themselves: a step that advances on a timer walks out from under the sheet, and the Console refuses that combination. Nothing is reported back — neither store will say whether a prompt appeared, by design.A button that opens the store listing
Give a button therate_app action. It opens the app’s store page, where the user can write a
review themselves.
This is the only shape allowed on a tap: the OS sheet must never be requested in response to a
button, which Apple names explicitly. A “Rate us” button wired to anything else asks for a review
and then simply advances.
Step 5: Close the Feedback Loop
React to Feedback in Your App
Use survey callbacks to create follow-up experiences based on sentiment:- iOS
- Android
- Flutter
- React Native
Connect Events to Push Campaigns
In the Console, you can target push campaigns based on user behavior and survey responses:- Send “We’ve improved based on your feedback” push to users who gave
NPS <= 6 - Send “Share with friends” push to users who gave
NPS >= 9 - Send re-engagement pushes to users who haven’t triggered
workout_completedin 7 days - Send milestone congratulations for
streak_achievedevents
View Feedback in the Console
Survey responses flow into the Console dashboard automatically:- Feedback > Love Score — NPS/CSAT trends over time
- Feedback > Responses — individual responses with sentiment analysis
- Feedback > Alerts — get notified when NPS drops below a threshold
Full Wired Example
- iOS
- Android
- Flutter
- React Native

