AppsFlyer Android
Send Android app events and conversions to AppsFlyer for mobile attribution, analytics, and campaign optimisation.
Prerequisites
Complete these steps in the AppsFlyer dashboard before configuring Signal.
Create an AppsFlyer account
Sign up at appsflyer.com and log in to the AppsFlyer dashboard.
Register your Android app
Click Add App in the dashboard, select Android, and enter your package name (e.g. com.example.myapp). The app must be registered before you can send server-to-server events.
Find your Dev Key
Navigate to Configuration > App Settings in the left sidebar. Your Dev Key is displayed at the top of the page. Copy this value.
Generate an API token
Go to Security Center (accessible from the top-right user menu or under Configuration). Generate a V2 API Token. This token authenticates all server-to-server event calls.
Note your App ID
Your App ID is the Android package name you registered (e.g. com.example.myapp). You will need this when configuring the integration in Signal.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
app_id | string | Yes | The Android package name as registered in AppsFlyer (e.g. com.example.myapp). |
dev_key | string | Yes | Your AppsFlyer Dev Key from Configuration > App Settings. |
api_token | secret | Yes | The AppsFlyer V2 API token from Security Center. |
Signal Setup
Quick Setup
- Navigate to Integrations in the sidebar.
- Open the Integration Library tab.
- Find AppsFlyer Android or filter by Attribution.
- Click Install, select a variant if available, and fill in the required fields.
- Click Install Integration to create the integration with a ready-to-use default blueprint.
API Setup
curl -X POST http://localhost:8084/v1/admin/integration-catalog/appsflyer_android/install \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "AppsFlyer Android",
"variant": "default",
"config": {
"app_id": "com.example.myapp",
"dev_key": "AbCdEfGhIjKlMnOpQrSt",
"api_token": "your_api_token"
},
"delivery_mode": "server_side"
}'Event Mapping
Signal events are mapped to AppsFlyer S2S in-app events via your blueprint. Common mappings include:
| Signal Event | AppsFlyer Event Name | Notes |
|---|---|---|
purchase | af_purchase | Requires af_revenue, af_currency, and af_order_id |
add_to_cart | af_add_to_cart | Map product details to af_content_id and af_price |
sign_up | af_complete_registration | Map registration method to af_registration_method |
app_open | af_app_open | Used for re-engagement tracking |
AppsFlyer requires the appsflyer_id device identifier on every S2S event. Ensure your mobile app captures and forwards this ID through Signal.
Testing
- Install your Android app on a test device and trigger the events you want to track.
- Send a test event through Signal using the Test Event button on the integration detail page.
- In the AppsFlyer dashboard, navigate to Activity > Event Timeline and filter by your test device.
- Verify the event name, revenue, and custom parameters match expectations.
- Check Live Logs in Signal to confirm delivery returned
200 OK.
Troubleshooting
| Symptom | Cause | Resolution |
|---|---|---|
401 Unauthorized | Invalid API token | Regenerate the V2 API token in Security Center and update Signal. |
400 Bad Request | Missing required fields | Ensure appsflyer_id and app_id are present in the event payload. |
| Events not appearing | Wrong app ID | Confirm app_id matches the package name registered in AppsFlyer. |
| Revenue not tracked | Missing af_revenue field | Map your revenue field to af_revenue (numeric) and af_currency (ISO 4217) in the blueprint. |
Visit AppsFlyer documentation for full API reference and credential setup instructions.