This is an Expo / React Native sample app for Adobe Experience Platform mobile SDK integrations. It includes App ID configuration, Assurance, push registration, decisioning, and consumer event flows sent through Adobe Edge using XDM.
Follow these steps in order:
- Open App ID Configuration and save the Adobe Launch App ID.
- Open Assurance, paste the session URL, and tap
Start Session. - Open Push, request notification permission, and verify the app shows a current token.
- In Assurance, confirm the token in Adobe matches the token shown in the app.
- Use Decisioning to fetch propositions or refresh in-app messages when needed.
The supported Technical View screens are:
SetupAssurancePushDecisioningApp ID Configuration
Older SDK sample/lab screens are hidden and are not part of the normal QA flow.
The app uses platform-native token sources:
- Android: FCM token
- iOS: native APNs device token
Adobe registration uses MobileCore.setPushIdentifier().
Current behavior:
- the app auto-registers the current token with Adobe after startup / registration
- Android token refreshes are re-applied to Adobe automatically
- the Push screen is for status and recovery, not for a separate manual Adobe registration step
If Assurance shows a push token mismatch:
- Open
Push - Tap
Clear Adobe Push Tokens (Fix Mismatch) - Restart the app
- Reconfigure App ID if needed
- Request notifications again
- Verify the current token now appears in Assurance
See readme-PushTokens.md for more detail.
The normal Assurance screen only supports:
Start SessionClear Saved SessionRefresh Session Status
Use one of these URL formats:
myapp://?adb_validation_sessionid=YOUR_SESSION_IDcom.cmtBootCamp.AEPSampleAppNewArchEnabled://?adb_validation_sessionid=YOUR_SESSION_IDassurance://?adb_validation_sessionid=YOUR_SESSION_ID
The Technical View Decisioning screen is a small diagnostics surface for:
- editing the current surface value
- fetching propositions
- refreshing in-app messages
- reviewing the last fetch result
Default surface configuration is stored under @decisioning_items_config.
Current consumer behavior:
- the Decisioning Items tab reads cached propositions and then refreshes from Edge on focus
- checkout refreshes in-app messages and also refreshes the stored decisioning surface after purchase
- the Offers tab refreshes Optimize propositions from Edge on focus when a valid decision scope is configured
Consumer analytics events must use the event builders in:
Events are sent with Edge.sendEvent(experienceEvent) and use the _adobecmteas tenant namespace.
- app/_layout.tsx: app entry and Adobe startup
- src/utils/adobeConfig.ts: Adobe SDK configuration
- src/utils/pushNotifications.ts: push token retrieval and Adobe registration
- app/(techScreens)/PushNotificationView.tsx: push diagnostics screen
- app/(techScreens)/DecisioningItemsView.tsx: decisioning diagnostics screen
Useful commands:
node .\node_modules\typescript\bin\tsc --noEmitnpx expo run:android- Android local testing is supported from Windows.
- iOS validation should use EAS / TestFlight from this setup.