Expo Usage
How to use the Linkrunner SDK in your Expo app
Using the Expo SDK
This guide will help you implement Linkrunner functionality in your Expo application.
Initialization
Initialize the Linkrunner SDK in your App.tsx
component:
You can find your project token here.
Getting Attribution Data
To retrieve attribution data and deeplink information related to an install:
Response from linkrunner.getAttributionData
The method returns useful attribution information:
User Registration
Call the signup
method once after the user has completed your app’s onboarding process:
It is strongly recommended to use the integrated platform’s identify function to set a persistent user_id once it becomes available (typically after signup or login).
- Mixpanel - ID Management & User Identification
- PostHog - How User Identification Works
- Amplitude - Identify Users Documentation
If the platform’s identifier function is not called, you must provide a user identifier for Mixpanel, PostHog, and Amplitude integration.
- mixpanel_distinct_id for Mixpanel
- posthog_distinct_id for PostHog
- amplitude_device_id for Amplitude
Setting User Data
Call setUserData
each time the app opens and the user is logged in:
Tracking Custom Events
Track custom events in your app:
Revenue Tracking
Capture Payment
Use this method to capture payment information:
Parameters for linkrunner.capturePayment
amount
: number (required) - The payment amountuserId
: string (required) - Identifier for the user making the paymentpaymentId
: string (optional) - Unique identifier for the paymenttype
: string (optional) - Type of payment. Available options:FIRST_PAYMENT
- First payment made by the userWALLET_TOPUP
- Adding funds to a walletFUNDS_WITHDRAWAL
- Withdrawing fundsSUBSCRIPTION_CREATED
- New subscription createdSUBSCRIPTION_RENEWED
- Subscription renewalONE_TIME
- One-time paymentRECURRING
- Recurring paymentDEFAULT
- Default type (used if not specified)
status
: string (optional) - Status of the payment. Available options:PAYMENT_INITIATED
- Payment has been initiatedPAYMENT_COMPLETED
- Payment completed successfully (default if not specified)PAYMENT_FAILED
- Payment attempt failedPAYMENT_CANCELLED
- Payment was cancelled
Removing Payments
Remove payment records (for refunds or cancellations):
Parameters for linkrunner.removePayment
userId
: string (required) - Identifier for the user whose payment is being removedpaymentId
: string (optional) - Unique identifier for the payment to be removed
Note: Either paymentId
or userId
must be provided when calling removePayment
. If only userId
is provided, all payments for that user will be removed.
Function Placement Guide
Function | Where to Place | When to Call |
---|---|---|
linkrunner.init | App.tsx within useEffect | Once when app starts |
linkrunner.signup | Onboarding flow | Once after user completes onboarding |
linkrunner.setUserData | Authentication logic | Every time app opens with logged-in user |
linkrunner.triggerDeeplink | After navigation init | Once after navigation is ready |
linkrunner.trackEvent | Throughout app | When specific user actions occur |
linkrunner.capturePayment | Payment processing | When user makes a payment |
linkrunner.removePayment | Refund flow | When payment needs to be removed |
linkrunner.getAttributionData | Attribution handling logic | When you need attribution data |
Support
If you encounter issues during integration, contact us at darshil@linkrunner.io.