Skip to content

[Android] Deep link returned as myapp://path treats path as host (manifest expects path segment) #184

@MauriMiguez

Description

@MauriMiguez

Description

On Android, Adjust is returning a deep link that does not match how my app’s intent-filter is configured, causing the app to miss the intended route/path.

My app is configured to handle the custom scheme myapp://:

<intent-filter android:label="deep_link_filter">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="myapp" />
</intent-filter>

A typical Adjust tracking/deferred deep link looks like:

https://myapp.go.link/path?adj_t=...

However, after tapping the link and Adjust resolving it, the app receives:

myapp://path

On Android URI parsing, in myapp://path, the path part becomes the host (i.e. uri.host == "path" and uri.path is empty). This means the app does not receive /path as a path segment, so it can’t route properly.

Steps to reproduce

  1. Configure Android intent-filter for scheme-only handling (android:scheme="myapp").
  2. Create/use an Adjust deep link like https://myapp.go.link/path?adj_t=....
  3. Tap the link on an Android device.
  4. Observe the deep link received by the app after Adjust resolution.

Actual result

The app receives myapp://path, so Android interprets:

  • host = "path"

  • path = ""

Expected result

The deep link should be returned in a format where /path is actually a path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions