An integration contract is the core idea behind VibesFlyer. Instead of asking your agent to "set up mobile analytics," you give it one structured JSON document that says exactly what to build. One MCP call in, one complete tracking blueprint out.
Why a contract
Mobile tracking is fiddly: native SDKs, attribution mapping, iOS privacy, and per-provider event names. AI agents are great at implementing a clear spec and poor at guessing tribal knowledge spread across Firebase and an MMP dashboard. The contract turns "set up tracking" into a deterministic task with every event, mapping, and env var named explicitly.
What's inside
A contract returned by get_integration_contract includes:
- Events — the canonical lifecycle taxonomy (
session_started,signup_completed,trial_started,purchase_completed) with the properties each carries. - Provider mappings — how each canonical event maps to every connected provider (e.g.
purchase_completed→ Firebasepurchase, AppsFlyeraf_purchasewithvalue/currency). - SDK setup — which SDKs to add and how to initialize them in Expo or bare React Native.
- Env vars — the exact variables to inject (
FIREBASE_APP_ID,APPSFLYER_DEV_KEY, etc.). - Validation checklist — the checks that must pass before tracking is healthy.
How your agent uses it
- Call
get_integration_contractfor the project. - Implement the events, SDKs, and env vars exactly as specified.
- Call
validate_trackingto confirm everything fires and every provider is connected.
Because the contract is canonical-first, the same taxonomy maps cleanly across product analytics and attribution — you instrument once and Firebase, AppsFlyer, and your ad platforms each receive the right event. See Normalized Metrics for how that canonical layer powers reporting.