Configure your apps
Android
Package name, signing fingerprints, App Links and the manifest.
Android opens your app from a link only when the host verifies the app: the host serves an
assetlinks.json that lists your app's package name and the SHA-256 fingerprint of the certificate
that signed it. Beck Links serves that file; you give it the correct values and declare the host in
your manifest.
1. Enter the app in the dashboard#
In the environment you are setting up, open Applications, then Android, and fill in:
| Field | Value |
|---|---|
| Package name | The applicationId of your app, for example com.acme.shop |
| SHA-256 fingerprints | One for every certificate that can sign an installed build (below) |
| Play Store URL | Where people without the app are sent |
| Custom scheme (optional) | Only if you want an acmeshop:// fallback for in-app browsers |
Which fingerprints to add#
| Build | Where to find the SHA-256 |
|---|---|
| Installed from Google Play | Play Console, your app, App integrity, App signing key certificate |
| Signed with your upload key | keytool -list -v -keystore upload-keystore.jks -alias upload |
Debug builds (flutter run) | ./gradlew signingReport in the android folder |
2. Declare the host in the manifest#
In android/app/src/main/AndroidManifest.xml, inside the <activity> of MainActivity, add one
filter per host. Turn off Flutter's own deep-link handling so the same URL is not handled twice:
<meta-data android:name="flutter_deeplinking_enabled" android:value="false" />
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="acme.becklinks.com" />
</intent-filter>Add a second filter for acme-test.becklinks.com in builds that use the test environment.
3. Raise minSdk#
The SDK needs Android 6.0 (API 23). In android/app/build.gradle set minSdk = 23 if your value is
lower. Do not lower a value that is already higher.
Verify it works#
curl -sS https://acme.becklinks.com/.well-known/assetlinks.json
adb shell pm get-app-links com.acme.shop
adb shell pm verify-app-links --re-verify com.acme.shopThe file must list your package and fingerprint, and the app must show the host as verified. Then
open a link from Notes or a messenger. More checks in Testing and debugging,
and what to do when it fails in Troubleshooting.