Playbook: Register an Appsflyer Campaign
Register a new Appsflyer campaign’s deeplink URLs with the Flutter app so Android and iOS route the campaign traffic to an app intent instead of the store listing. Run this whenever marketing creates a new OneLink template, or as the mitigation for Marketing Attribution Drop.
Prerequisites
You need the following before you start:
-
Access to the Appsflyer console for the FloatMe app.
-
Write access to the
floatme-corp/floatme-flutterrepository. -
An Android test device or emulator with the production build installed.
-
The campaign’s OneLink template URL from the MX team.
Steps
-
Pull the campaign’s OneLink template from the Appsflyer console and note its host and path prefix.
-
Add the host to the Flutter app’s Android App Links configuration so the URL resolves to an app intent rather than the Play Store.
-
Update
android/app/src/main/AndroidManifest.xmlintent filters for the deeplink activity. -
Update
android/app/src/main/res/values/strings.xmland theassetlinks.jsonserved from the marketing domain if the host is new.
-
-
Add the host to the iOS associated domains entitlement so Universal Links resolve to the app.
-
Add the campaign path to the Flutter router config so the app navigates the user to the correct screen after the deeplink resolves.
-
Open a pull request against
floatme-flutterand tag the mobile leads for review. -
Bundle the change into the next mobile hotfix or release build.
Verification
-
Install the new build on an Android test device.
-
Open the campaign’s OneLink from a messaging app or email — the OS must route the link to the FloatMe app, not the Play Store.
-
Trigger an attributed install on a clean device and confirm the install appears as paid (not organic) in the Appsflyer dashboard within the Appsflyer reporting window.
-
Repeat the open-from-link test on iOS to confirm Universal Links still resolve.