Platform setup Android

Set up Android App Links

Verify your HTTPS domain against your Android app so matching links can open directly in the app. You’ll register the signing certificate, publish Digital Asset Links, and verify the installed app.

About 10 minutes Signing certificate access
Choose a hosting method

Where should the association file live?

01

Serve it through Lativiq

Available on the Growth plan and above. Point the link domain to Lativiq, or to a reverse proxy that forwards requests to Lativiq while preserving the original Host header. Lativiq then serves the domain’s configured file.

02

Host the file yourself

Download the generated asset links file from Lativiq and publish it on your domain at /.well-known/assetlinks.json. Keep it updated when your app configuration changes.

What you’ll need

  • A public link domain, such as go.yourcompany.com, with working HTTPS.
  • The app’s exact package name (application ID).
  • The SHA-256 fingerprint for each certificate that signs a distributed app build.

Signing certificate

Find your package name and fingerprint

For a local keystore, list the certificate details using the alias for your signing key:

keytool -list -v -keystore your_keystore.jks -alias your-key-alias

Copy the SHA-256 value exactly, including its colon separators. If you use Google Play App Signing, find the app signing certificate under Play Console → your app → Setup → App signing. Add every signing certificate needed for the builds you distribute, such as separate debug and production certificates.

The package name must match the app’s application ID exactly; it is case-sensitive.

Lativiq configuration

Add your domain and app details

Open Universal Links & App Links and create or edit the configuration for your link domain.

Domain
go.yourcompany.com
Package name
com.yourcompany.app
SHA-256 fingerprint
14:6D:E9:83:...:E5

Use the domain only—don’t include https:// or a path. If you have multiple signing certificates, enter each fingerprint as a comma-separated value.

App configuration

Declare the domain in your app manifest

Add an HTTPS intent filter to the activity that handles incoming links. Set android:autoVerify="true" and replace the host with your actual link domain:

<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="go.yourcompany.com" />
</intent-filter>

Add an intent filter for each domain the app should handle. The manifest host must match the domain in Lativiq and assetlinks.json. See Android’s App Links setup guide.

Domain association

Publish the Digital Asset Links file

Android fetches assetlinks.json from this exact URL:

https://go.yourcompany.com/.well-known/assetlinks.json

The response must include the exact package name and SHA-256 fingerprint for the installed app. A simplified example is:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.yourcompany.app",
    "sha256_cert_fingerprints": [
      "14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"
    ]
  }
}]

Serve valid JSON directly over HTTPS. For dynamic hosting, the domain must resolve to Lativiq or a proxy that forwards the original host; otherwise, host the generated file on your web server.

Verify and test

Check the file and app verification state

Confirm the public URL returns the expected JSON, then use Verify Domain in the Lativiq configuration:

curl -i https://go.yourcompany.com/.well-known/assetlinks.json

After installing the app on a device, you can request a fresh verification and inspect its state with Android Debug Bridge:

adb shell pm verify-app-links --re-verify com.yourcompany.app
adb shell pm get-app-links com.yourcompany.app

Tap a matching HTTPS link from another app or message to test the handoff. Don’t rely only on opening the URL directly in a browser.

See Android’s App Links verification guide for platform-specific checks.