All Categories
  • 1st Steps
  • Authentication
  • Branding
  • Changelogs
  • Collaboration
  • Compliance
  • Customization
  • Desktop Client
  • External Storage
  • Frequently Asked Questions
  • Installation
  • Migrations
  • Mobile Clients
  • Nextcloud Context Chat
  • Nextcloud Flow (Windmill integration)
  • Nextcloud Talk
  • Operations
  • Partner Products
  • Roundcubemail
  • Scalability
  • Security
  • Deep Link Handling

    Deep linking in Android allows your application to be launched directly from a URL,
    making it easier for users to navigate to specific content within your app.
    Starting from Android 12, handling deep links requires additional configuration
    using an assetlinks.json file to ensure the app and the host domain are properly
    associated.

    Deep Linking in Android 11 and Below

    For Android 11 and below, deep linking is straightforward and does not require additional
    configuration beyond the usual manifest settings.

    Deep Linking in Android 12 and Above

    For Android 12 and above, an additional configuration step is required to verify the
    relationship between your app and the host domain using the assetlinks.json file.

    Creating assetlinks.json

    Create a file named assetlinks.json and host it in the .well-known directory of
    your website (e.g., https://www.cloud.example.com/.well-known/assetlinks.json).

    Example assetlinks.json

    [
      {
        "relation": ["delegate_permission/common.handle_all_urls"],
        "target": {
          "namespace": "android_app",
          "package_name": "com.cloud.example.nextcloud",
          "sha256_cert_fingerprints": [
    		  "APP_SHA256_FINGERPRINT"
          ]
        }
      }
    ]
    

    Replace APP_SHA256_FINGERPRINT with the SHA-256 fingerprint of your app’s signing certificate. Adjust the package_name to match your app’s actual package name.

    Retrieving the SHA-256 Fingerprint

    You can retrieve the SHA-256 fingerprint of your signing certificate using this command:

    keytool -list -v -keystore <pathToKeyStore>

    Nextcloud Configuration Limitation

    Due to the additional requirement of hosting an assetlinks.json file for Android 12 and above, Nextcloud cannot configure the Android client for all different hosts. This is because each host needs its own assetlinks.json file to establish a verified relationship with the app, and Nextcloud cannot manage this file for every possible host domain.