Universal Links (AASA) & Android AssetLinks Compiler & QR Tester

100% client-side Rust Wasm validator and generator for iOS apple-app-site-association (AASA), Android assetlinks.json, and production H5 deep-link fallback scripts.

1. iOS Universal Links & Android App Links Configurator

Loading Wasm...
📱 Current Device: Desktop · Standard Browser
✅ All Apple Team ID, Bundle ID, Path Rules, and Android SHA-256 Certificate Fingerprints passed format validation!
🍎 iOS Universal Links (AASA)
🤖 Android App Links & Custom Scheme
📌 Deploy path: https://your-domain/.well-known/apple-app-site-association (Must serve with Content-Type: application/json and valid HTTPS without redirects)
{
  "applinks": {}
}

🚀 Real-Device DeepLink Trigger Sandbox

Open this page on your iOS or Android test device and click the buttons on the right to test whether your app wakes up directly.

💡 Recommended Developer Resources & Cost SaversPartner Links · Zero Extra Cost to You

Production Guide to iOS Universal Links & Android App Links

Configuring mobile deep linking across iOS, Android, and in-app WebViews (like WeChat, Instagram, or TikTok) requires strict JSON schema adherence and smart client-side fallback handling. A single typo in your 10-character Apple Team ID or 95-character SHA-256 certificate fingerprint will cause deep links to fail silently.

  • Dual iOS 13+ & Legacy AASA Output: Generates both modern components rules (supporting "exclude": true path exclusions) and legacy paths arrays in a single valid JSON payload.
  • Instant SHA-256 Fingerprint Validation: Verifies your Android signing certificate fingerprint format in real time via Rust WebAssembly.
  • Cross-Browser H5 Launcher Snippet: Ready-to-copy JavaScript helper using the Page Visibility API to prevent premature App Store redirects when the user’s app successfully launches.

Frequently Asked Questions (FAQ)

Why are my iOS Universal Links opening in Safari instead of launching my App?

There are three common culprits: (1) Your server must serve /.well-known/apple-app-site-association over HTTPS with Content-Type: application/json and zero 301/302 redirects; (2) Starting in iOS 14, Apple fetches AASA files via its own CDN (app-site-association.cdn-apple.com), so ensure your WAF/firewall does not block Applebot/Apple CDN IPs; (3) Universal Links only trigger when navigating across different domains or subdomains (e.g., from m.example.com to open.example.com).

How do I get the SHA-256 certificate fingerprint for Android assetlinks.json?

Run `keytool -list -v -keystore your-release-key.keystore` in your terminal (or copy the SHA-256 certificate fingerprint from Google Play Console -> Setup -> App signing). Paste the 32 colon-separated hex pairs into our Rust Wasm validator above.

How does the H5 smart fallback script detect if the native app was successfully opened?

When the browser switches to the native app, the web page enters the background and fires the `visibilitychange` event (`document.hidden === true`). Our generated script monitors `visibilitychange` during a 2,200ms window—only redirecting the user to the App Store or Google Play if the browser remained in the foreground.