Logo
Dynamic App Links: Elevating Your Android App's Deep Linking Experience

Dynamic App Links: Elevating Your Android App's Deep Linking Experience

By Sagar Maiyad  Oct 22, 2025

Deep linking has long been a crucial component of modern Android applications, enabling seamless navigation from web content directly into app experiences. With Android 15, Google introduces Dynamic App Links, a powerful evolution that shifts deep linking configuration from static app manifests to flexible server-side management.

Dynamic App Links build upon the foundation of Android App Links, introducing server-side configuration capabilities through your Digital Asset Links JSON file. This architectural shift means you can now control which URLs open in your app without deploying new app versions—a game-changer for teams managing complex linking strategies.

The Traditional Challenge

Previously, modifying your app's deep linking behavior required:

  • Updating your app's manifest configuration
  • Going through the complete development and testing cycle
  • Publishing a new version to Google Play
  • Waiting for users to update their apps

This process could take days or weeks, making it difficult to respond quickly to changing business needs or fix linking issues.

The Dynamic Solution

With Dynamic App Links, you configure deep linking rules directly in your Digital Asset Links JSON file hosted on your server. Changes take effect immediately for all users running Android 15 or higher, without requiring any app updates.

Core Capabilities

1. Exclusion Rules

One of the most powerful features is the ability to exclude specific URL patterns from app linking. This is invaluable for several scenarios:

Unsupported Content
Perhaps your website has sections like press releases, investor relations, or legal documents that don't have corresponding app screens. Previously, clicking these links on Android would awkwardly try to open your app. Now you can explicitly exclude these paths:

{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.app",
    "sha256_cert_fingerprints": ["..."]
  },
  "exclude": {
    "paths": ["/press", "/investors", "/legal"]
  }
}

Legacy URL Management
As apps evolve, certain URL structures become deprecated. Exclusions let you gracefully handle these transitions without breaking existing links or confusing users.

Campaign-Specific Routing
Marketing campaigns often require custom landing pages that work better as web experiences. You can temporarily exclude campaign URLs during specific promotions, then remove the exclusion when the campaign ends.

2. Query Parameter Control

Query parameters provide granular control over linking behavior. This enables sophisticated use cases:

A/B Testing
Test whether users engage better with your app or mobile web by routing different user segments differently:

{
  "exclude": {
    "query_parameters": ["variant=web"]
  }
}

Users with ?variant=web stay in the browser, while others open the app, allowing you to measure comparative performance.

Gradual Rollouts
Roll out app linking to a subset of users by excluding specific tracking parameters, then progressively expand as you validate the experience.

Analytics Preservation
Certain analytics platforms work better when users remain in the browser. You can exclude URLs containing specific UTM parameters or tracking identifiers.

3. Real-Time Configuration Updates

Perhaps the most transformative aspect is instant configuration propagation. Update your Digital Asset Links file, and Android 15+ devices immediately recognize the changes. This enables:

Rapid Issue Resolution
Discovered a problematic URL pattern causing crashes? Exclude it within minutes, not weeks.

Seasonal Adjustments
Modify linking behavior for holiday campaigns, product launches, or special events, then revert when they conclude.

Continuous Optimization
Iterate on your deep linking strategy based on user behavior analytics without the friction of app releases.

Implementation Guide

Ensure your existing Android App Links configuration is working correctly:

  1. Your app's manifest declares intent filters with android:autoVerify="true"
  2. Your Digital Asset Links JSON file is accessible at https://yourdomain.com/.well-known/assetlinks.json
  3. The file correctly references your app's package name and certificate fingerprints

Add dynamic configuration to your existing file. Here's a comprehensive example:

[
  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "com.yourapp.android",
      "sha256_cert_fingerprints": ["AA:BB:CC:..."]
    },
    "include": {
      "paths": ["/products/*", "/articles/*", "/user/*"]
    },
    "exclude": {
      "paths": ["/legal/*", "/sitemap.xml", "/admin/*"],
      "query_parameters": ["web_only=true", "test_group=control"]
    }
  }
]

Step 3: Test Your Configuration

Use Android's App Links Assistant in Android Studio to verify your setup:

  1. Open Tools > App Links Assistant
  2. Verify your domain associations
  3. Test specific URLs to ensure they route correctly

You can also test using ADB:

adb shell am start -a android.intent.action.VIEW \
  -d "https://yourdomain.com/products/123"

Step 4: Monitor and Iterate

Deploy your configuration and monitor user behavior:

  • Track app open rates from links using analytics
  • Monitor for any unexpected routing issues
  • Iterate based on user engagement metrics

Real-World Use Cases

E-Commerce Applications

An online retailer might use Dynamic App Links to:

  • Route product pages to the app for better conversion
  • Keep checkout flows in the browser for payment security
  • Exclude size guides and shipping information that work better on web
  • A/B test app vs. web experiences for different product categories

Content Platforms

News or media apps can:

  • Open articles in the app for logged-in users
  • Keep subscription signup flows in the browser
  • Exclude advertiser landing pages that require web tracking
  • Route breaking news to the app for push notification integration

Financial Services

Banking and fintech apps benefit from:

  • Opening account summaries and transactions in the app
  • Keeping document uploads and verification in the browser for security
  • Excluding regulatory disclosures that need specific web formatting
  • Gradual rollout of new features by routing specific user segments

Performance and User Experience Benefits

Reduced Friction

Every redirect or navigation delay increases user drop-off. Dynamic App Links eliminate unnecessary browser hops, getting users to content faster.

Higher Engagement

Users who land directly in your app spend more time engaged with your content compared to those who start in a mobile browser.

Improved Conversion Rates

Whether your conversion goal is purchases, subscriptions, or content consumption, reducing steps in the user journey improves conversion rates.

Flexible Strategy

Market conditions change, user preferences evolve, and new features launch. Dynamic App Links let your deep linking strategy adapt as quickly as your business needs.

Best Practices

Start Conservative

Begin by including only well-tested app screens in your linking strategy. Expand coverage as you validate each section.

Monitor Analytics

Track deep link performance metrics:

  • Click-through rates from links
  • Time spent in app after deep link entry
  • Conversion rates compared to web entry
  • User retention for deep link vs. other entry points

Document Your Rules

Maintain clear documentation of your exclusion and inclusion rules. As your team grows and strategies evolve, this documentation becomes crucial.

Test Thoroughly

Before deploying configuration changes:

  • Test on multiple Android 15+ devices
  • Verify behavior for included and excluded paths
  • Check edge cases like URLs with multiple query parameters
  • Validate that web fallback works correctly for excluded URLs

Plan for Older Android Versions

Remember that Dynamic App Links only work on Android 15+. Ensure your traditional App Links configuration still works for users on older Android versions.

Technical Considerations

Caching Behavior

Android caches your Digital Asset Links configuration, but updates propagate relatively quickly. Plan for a brief propagation window when making changes.

HTTPS Requirement

Like traditional App Links, your Digital Asset Links file must be served over HTTPS with a valid SSL certificate.

File Size Limits

Keep your Digital Asset Links JSON file reasonably sized. Extensive rule lists may impact parsing performance.

Wildcard Support

Use wildcards strategically in path patterns. "/products/*" is efficient, but overly broad wildcards may match unintended URLs.

Debugging Tips

Verification Failures

If links aren't routing to your app:

  1. Check that your Digital Asset Links file is publicly accessible
  2. Verify your SHA-256 certificate fingerprints match your app
  3. Ensure no typos in package names or paths
  4. Confirm you're testing on Android 15+

Unexpected Exclusions

If URLs you expect to open the app are staying in the browser:

  1. Review your exclusion rules for overlapping patterns
  2. Check for query parameters that match exclusion criteria
  3. Verify the path structure matches your intent filters

Testing Tools

Use these tools to validate your configuration:

Migration Strategy

For Existing Apps

If you already use Android App Links:

  1. Review your current manifest-based configuration
  2. Identify which URLs would benefit from dynamic control
  3. Add exclusion rules for problematic or unsupported paths
  4. Gradually shift complex routing logic to server-side configuration

For New Apps

Build Dynamic App Links into your architecture from the start:

  1. Design your URL structure with app linking in mind
  2. Plan which sections will be app-exclusive vs. web-exclusive
  3. Implement comprehensive analytics to measure linking success
  4. Build server-side infrastructure to manage your Digital Asset Links file

Looking Forward

Dynamic App Links represent a significant maturity in Android's deep linking ecosystem. By moving configuration to server-side control, Google acknowledges the reality of modern app development: teams need flexibility to respond quickly to changing requirements.

As Android 15 adoption grows, we can expect Dynamic App Links to become the standard approach for managing deep linking. The combination of granular control, instant updates, and reduced development overhead makes it compelling for apps of all sizes.

Getting Started Today

If your app targets Android 15+, there's no reason not to implement Dynamic App Links:

  1. Review your current deep linking setup
  2. Identify URLs that would benefit from dynamic control
  3. Update your Digital Asset Links JSON file
  4. Test thoroughly on Android 15 devices
  5. Monitor analytics and iterate based on user behavior

The investment is minimal, and the flexibility you gain is substantial.

Conclusion

Dynamic App Links solve a long-standing pain point in Android development: the inability to quickly adjust deep linking behavior without app updates. Whether you're managing a complex e-commerce catalog, a content platform with evolving sections, or a fintech app with strict routing requirements, Dynamic App Links provide the control you need.

By enabling server-side configuration through Digital Asset Links, Android 15 empowers developers to create more responsive, user-friendly deep linking experiences. As you plan your app's navigation strategy, consider how Dynamic App Links can help you deliver smoother user journeys and respond more quickly to changing business needs.

Start experimenting with Dynamic App Links today, and discover how this powerful feature can elevate your app's deep linking experience.


Credit: This article is inspired by the official Android Developers Blog post on Dynamic App Links. We encourage you to read the original announcement for additional technical details and official documentation.

Android App Links Deep Linking Android 15

Author

Sagar Maiyad
Written By
Sagar Maiyad

Sagar Maiyad - Android Team Lead specializing in Kotlin, Jetpack Compose, Flutter, and Node.js development. Building practical Android apps with 2M+ downloads and sharing real-world development insights.

View All Posts →

Latest Post

Latest Tags