Configuring Android
Android App Links let users tap a link and open your app directly, without a disambiguation dialog. When configured correctly, links on your Tolinku domain will launch your app and pass the URL for in-app navigation.
Prerequisites
Section titled “Prerequisites”Before you begin, you will need:
- A Google Play Developer account (if publishing to the Play Store)
- Your app’s package name (e.g.
com.yourcompany.appname) - Your app’s SHA-256 signing certificate fingerprint
- Your app configured to handle
android.intent.action.VIEWintents
Configuration
Section titled “Configuration”Open App Config in the sidebar and expand the Android Configuration section.
Android Package Name
Section titled “Android Package Name”The package name uniquely identifies your app on Android. It is the applicationId in your build.gradle file (e.g. com.fooddash.android).
SHA-256 Certificate Fingerprints
Section titled “SHA-256 Certificate Fingerprints”Android uses SHA-256 fingerprints to verify that your app is authorized to handle links from your domain. You need the fingerprint of your app signing key (not the upload key if you use Google Play App Signing).
Finding your fingerprint
Section titled “Finding your fingerprint”If you use Google Play App Signing (the default for new apps):
- Open the Google Play Console
- Select your app
- Go to Setup > App signing
- Copy the SHA-256 certificate fingerprint under “App signing key certificate”
If you sign the APK locally:
keytool -list -v -keystore your-keystore.jks -alias your-aliasCopy the SHA256: line from the output. It looks like:
SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:...Paste the fingerprint into the SHA-256 Fingerprints field. If you have multiple signing keys (for example, a debug key and a release key), enter them comma-separated.
Google Play Store URL
Section titled “Google Play Store URL”Provide a direct link to your app on the Google Play Store. This is used as a fallback when users do not have your app installed. The format is:
https://play.google.com/store/apps/details?id=com.yourcompany.appnameHow App Links work
Section titled “How App Links work”When you save your Android configuration, Tolinku automatically generates and hosts a Digital Asset Links file at:
https://your-domain.tolinku.com/.well-known/assetlinks.jsonThis file tells Android that your app is authorized to handle links from your domain. Tolinku keeps this file in sync with your configuration.
What happens when a user taps a link
Section titled “What happens when a user taps a link”- Android checks the
assetlinks.jsonfile for your domain - If the app is installed and the fingerprint matches, Android opens the app directly (no disambiguation dialog)
- Your app receives an
Intentwith the full URL for navigation - If the app is not installed, the user is redirected to the Play Store or your fallback URL
Setting up intent filters
Section titled “Setting up intent filters”Your Android app needs an intent filter in the manifest to receive App Links:
<activity android:name=".MainActivity" android:exported="true"> <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="your-subdomain.tolinku.com" /> </intent-filter>
<!-- Add custom domain if applicable --> <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="links.yourapp.com" /> </intent-filter></activity>The android:autoVerify="true" attribute tells Android to verify your domain against the assetlinks.json file at install time.
Handling links in your app
Section titled “Handling links in your app”When your app opens via an App Link, extract the URL from the intent and route the user:
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
// Handle the deep link intent?.data?.let { uri -> val path = uri.path // e.g. "/restaurant/abc123" navigateToContent(path) }}
override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) // Handle links when app is already running intent.data?.let { uri -> navigateToContent(uri.path) }}@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
Intent intent = getIntent(); Uri uri = intent.getData(); if (uri != null) { String path = uri.getPath(); // e.g. "/restaurant/abc123" navigateToContent(path); }}For a full integration guide with the Tolinku SDK (which adds deferred deep linking and attribution), see the Android SDK documentation.
Testing App Links
Section titled “Testing App Links”-
Check the Asset Links file: Open
https://your-domain.tolinku.com/.well-known/assetlinks.jsonin a browser. You should see a JSON array with your package name and SHA-256 fingerprint. -
Use the verification tool: Google provides a Statement List Generator and Tester to verify your Digital Asset Links.
-
Test on a device: Install your app via ADB or the Play Store, then open a link. You can test with:
Terminal window adb shell am start -a android.intent.action.VIEW \-d "https://your-subdomain.tolinku.com/your-route" -
Check verification status:
Terminal window adb shell pm get-app-links com.yourcompany.appnameLook for
verifiedin the output.
Troubleshooting
Section titled “Troubleshooting”| Issue | Solution |
|---|---|
| Disambiguation dialog still shows | Verify that android:autoVerify="true" is set and the assetlinks.json fingerprint matches your signing key |
assetlinks.json returns 404 | Make sure your Android settings are saved and your domain is configured |
| Links work on some devices but not others | Some manufacturers customize the default browser behavior. Test on a stock Android device or emulator |
| Verification fails silently | Run adb shell pm get-app-links to check. Common cause: using the upload key fingerprint instead of the app signing key |
For more help, see Troubleshooting App Links.